Finally - found the problem with the page generation (XMLPUBFUN not

* doc/html/*.html: Finally - found the problem with the
  page generation (XMLPUBFUN not recognized by gtkdoc).
  Re-created the pages using a temporary version of
  include/libxml/*.h.
* testOOMlib.c,include/libxml/encoding.h,
  include/libxml/schemasInternals.h,include/libxml/valid.h,
  include/libxml/xlink.h,include/libxml/xmlwin32version.h,
  include/libxml/xmlwin32version.h.in,
  include/libxml/xpathInternals.h: minor edit of comments
  to help automatic documentation generation
* doc/docdescr.doc: small elaboration
* doc/examples/test1.c,doc/examples/Makefile.am: re-commit
  (messed up on last try)
* xmlreader.c: minor change to clear warning.
diff --git a/ChangeLog b/ChangeLog
index 19f5a91..a731682 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+Sun Nov 16 14:00:08 HKT 2003 William Brack <wbrack@mmm.com.hk>
+
+	* doc/html/*.html: Finally - found the problem with the
+	  page generation (XMLPUBFUN not recognized by gtkdoc).
+	  Re-created the pages using a temporary version of
+	  include/libxml/*.h.
+	* testOOMlib.c,include/libxml/encoding.h,
+	  include/libxml/schemasInternals.h,include/libxml/valid.h,
+	  include/libxml/xlink.h,include/libxml/xmlwin32version.h,
+	  include/libxml/xmlwin32version.h.in,
+	  include/libxml/xpathInternals.h: minor edit of comments
+	  to help automatic documentation generation
+	* doc/docdescr.doc: small elaboration
+	* doc/examples/test1.c,doc/examples/Makefile.am: re-commit
+	  (messed up on last try)
+	* xmlreader.c: minor change to clear warning.
+
 Sat Nov 15 19:20:32 CET 2003 Daniel Veillard <daniel@veillard.com>
 
 	* Copyright: fixed some wording
diff --git a/doc/docdescr.doc b/doc/docdescr.doc
index 46ea014..c375f2c 100644
--- a/doc/docdescr.doc
+++ b/doc/docdescr.doc
@@ -54,6 +54,7 @@
        Steps 7 and 8 are performed with the command "make web"
 
 1) Generate libxml-decl.txt, libxml-decl-list.txt and libxml-sections.txt:
+       make scan, or,
        gtkdoc-scan --module=libxml --source-dir=../ \
          --ignore-headers="acconfig.h config.h win32config.h trio.h triostr.h 
                            triop.h config-m ac.h XMLTestPrefix2.h  XMLTestPrefix.h
@@ -63,9 +64,11 @@
    These three files are used by the gdk-doc routines in the following steps.
 
 2) Generate the sgml documentation in the subdirectory "tmpl":
+       make templates, or,
        gtkdoc-mktmpl --module=libxml
 
 3) Generate the xml documentation in the subdirectory "xml":
+       make xml, or,
        gtkdoc-mkdb --module=libxml --source-dir=../ --output-format=xml \
          --main-sgml-file=gnome-xml.xml
 
@@ -75,6 +78,7 @@
     titles.
 
 4) Generate the main html documentation in the subdirectory "html":
+       make html, or,
        cd html
        gtkdoc-mkhtml libxml ../gnome-xml.xml
        cd ../
@@ -101,7 +105,7 @@
     information on the api's in the file "libxml2-api.xml", but that step is
     now being done by a separate script.
 
-7) Generate the site's main page:
+7) Generate the site's main pages:
        xsltproc --nonet --html --output index.html site.xsl xml.html
 
     All of the "top-level" pages (except xmlreader.html and guidelines.html)
@@ -114,6 +118,7 @@
        xsltproc --nonet --output ../NEWS news.xsl news.html
 
 10)Generate the XML Software Autoupdate file libxml2.xsa:
+       make libxml2.xsa, or,
        xsltproc --nonet --output libxml2.xsa xsa.xsl news.html
 
 11)Manually generate xmlcatalog.1 and xmllint.1 using manpages/docbook.xsl
diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am
index 24e37e5..85bb60c 100644
--- a/doc/examples/Makefile.am
+++ b/doc/examples/Makefile.am
@@ -19,7 +19,7 @@
 	$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
 	-@INSTALL@ -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(srcdir)/*.xml $(srcdir)/*.xsl $(srcdir)/*.out $(DESTDIR)$(TARGET_DIR)
 
-EXTRA_DIST=examples.xsl index.py test1.xml examples.xml test2.xml tree1.out 
+EXTRA_DIST=examples.xsl index.py examples.xml test1.xml test2.xml tree1.out 
 
 noinst_PROGRAMS=xpath1 parse1 parse2 tree1 
 
diff --git a/doc/examples/tree1.c b/doc/examples/tree1.c
index bd20199..cbda7e5 100644
--- a/doc/examples/tree1.c
+++ b/doc/examples/tree1.c
@@ -25,7 +25,7 @@
  * Prints the names of the all the xml elements
  * that are siblings or children of a given xml node.
  */
-void
+static void
 print_element_names(xmlNode * a_node)
 {
     xmlNode *cur_node = NULL;
diff --git a/doc/html/libxml-DOCBparser.html b/doc/html/libxml-DOCBparser.html
index ab341c6..c94746b 100644
--- a/doc/html/libxml-DOCBparser.html
+++ b/doc/html/libxml-DOCBparser.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xmlwin32version.html" title="xmlwin32version"><link rel="next" href="libxml-dict.html" title="dict"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlwin32version.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-dict.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-DOCBparser"></a><div class="titlepage"></div><div class="refnamediv"><h2>DOCBparser</h2><p>DOCBparser &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2605365"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xmlwin32version.html" title="xmlwin32version"><link rel="next" href="libxml-dict.html" title="dict"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlwin32version.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-dict.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-DOCBparser"></a><div class="titlepage"></div><div class="refnamediv"><h2>DOCBparser</h2><p>DOCBparser &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2671075"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -39,6 +39,37 @@
 typedef     <a href="libxml-DOCBparser.html#docbParserInput">docbParserInput</a>;
 typedef     <a href="libxml-DOCBparser.html#docbParserInputPtr">docbParserInputPtr</a>;
 typedef     <a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a>;
+int         <a href="libxml-DOCBparser.html#docbEncodeEntities">docbEncodeEntities</a>              (unsigned char *out,
+                                             int *outlen,
+                                             unsigned char *in,
+                                             int *inlen,
+                                             int quoteChar);
+<a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a>  <a href="libxml-DOCBparser.html#docbSAXParseDoc">docbSAXParseDoc</a>                 (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             const char *encoding,
+                                             <a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax,
+                                             void *userData);
+<a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a>  <a href="libxml-DOCBparser.html#docbParseDoc">docbParseDoc</a>                    (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             const char *encoding);
+<a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a>  <a href="libxml-DOCBparser.html#docbSAXParseFile">docbSAXParseFile</a>                (const char *filename,
+                                             const char *encoding,
+                                             <a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax,
+                                             void *userData);
+<a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a>  <a href="libxml-DOCBparser.html#docbParseFile">docbParseFile</a>                   (const char *filename,
+                                             const char *encoding);
+void        <a href="libxml-DOCBparser.html#docbFreeParserCtxt">docbFreeParserCtxt</a>              (<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt);
+<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> <a href="libxml-DOCBparser.html#docbCreatePushParserCtxt">docbCreatePushParserCtxt</a>  (<a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax,
+                                             void *user_data,
+                                             const char *chunk,
+                                             int size,
+                                             const char *filename,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+int         <a href="libxml-DOCBparser.html#docbParseChunk">docbParseChunk</a>                  (<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt,
+                                             const char *chunk,
+                                             int size,
+                                             int terminate);
+<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> <a href="libxml-DOCBparser.html#docbCreateFileParserCtxt">docbCreateFileParserCtxt</a>  (const char *filename,
+                                             const char *encoding);
+int         <a href="libxml-DOCBparser.html#docbParseDocument">docbParseDocument</a>               (<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="docbParserCtxt"></a>docbParserCtxt</h3><pre class="programlisting">typedef xmlParserCtxt docbParserCtxt;
@@ -62,4 +93,114 @@
 </p></div><hr><div class="refsect2"><h3><a name="docbDocPtr"></a>docbDocPtr</h3><pre class="programlisting">typedef xmlDocPtr docbDocPtr;
 </pre><p>
 
-</p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xmlwin32version.html"><b>&lt;&lt; xmlwin32version</b></a></td><td align="right"><a accesskey="n" href="libxml-dict.html"><b>dict &gt;&gt;</b></a></td></tr></table></body></html>
+</p></div><hr><div class="refsect2"><h3><a name="docbEncodeEntities"></a>docbEncodeEntities ()</h3><pre class="programlisting">int         docbEncodeEntities              (unsigned char *out,
+                                             int *outlen,
+                                             unsigned char *in,
+                                             int *inlen,
+                                             int quoteChar);</pre><p>
+Take a block of UTF-8 chars in and try to convert it to an ASCII
+plus SGML entities block of chars out.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>  a pointer to an array of bytes to store the result
+</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>  the length of <i><tt>out</tt></i>
+</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>  a pointer to an array of UTF-8 chars
+</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>  the length of <i><tt>in</tt></i>
+</td></tr><tr><td><span class="term"><i><tt>quoteChar</tt></i>:</span></td><td> the quote character to escape (' or ") or zero.
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 if success, -2 if the transcoding fails, or -1 otherwise
+The value of <i><tt>inlen</tt></i> after return is the number of octets consumed
+    as the return value is positive, else unpredictable.
+The value of <i><tt>outlen</tt></i> after return is the number of octets consumed.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="docbSAXParseDoc"></a>docbSAXParseDoc ()</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a>  docbSAXParseDoc                 (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             const char *encoding,
+                                             <a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax,
+                                             void *userData);</pre><p>
+parse an SGML 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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  a pointer to an array of xmlChar
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  a free form C string describing the SGML document encoding, or NULL
+</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>  the SAX handler block
+</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td> if using SAX, this pointer will be provided on callbacks. 
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="docbParseDoc"></a>docbParseDoc ()</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a>  docbParseDoc                    (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             const char *encoding);</pre><p>
+parse an SGML in-memory document and build a tree.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  a pointer to an array of xmlChar
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  a free form C string describing the SGML document encoding, or NULL
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="docbSAXParseFile"></a>docbSAXParseFile ()</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a>  docbSAXParseFile                (const char *filename,
+                                             const char *encoding,
+                                             <a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax,
+                                             void *userData);</pre><p>
+parse an SGML file and build a tree. Automatic support for ZLIB/Compress
+compressed document is provided by default if found at compile-time.
+It use the given SAX function block to handle the parsing callback.
+If sax is NULL, fallback to the default DOM tree building routines.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the filename
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  a free form C string describing the SGML document encoding, or NULL
+</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>  the SAX handler block
+</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td> if using SAX, this pointer will be provided on callbacks. 
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="docbParseFile"></a>docbParseFile ()</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbDocPtr">docbDocPtr</a>  docbParseFile                   (const char *filename,
+                                             const char *encoding);</pre><p>
+parse a Docbook SGML file and build a tree. Automatic support for
+ZLIB/Compress compressed document is provided by default if found
+at compile-time.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the filename
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  a free form C string describing document encoding, or NULL
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="docbFreeParserCtxt"></a>docbFreeParserCtxt ()</h3><pre class="programlisting">void        docbFreeParserCtxt              (<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt);</pre><p>
+Free all the memory used by a parser context. However the parsed
+document in ctxt-&gt;myDoc is not freed.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an SGML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="docbCreatePushParserCtxt"></a>docbCreatePushParserCtxt ()</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> docbCreatePushParserCtxt  (<a href="libxml-DOCBparser.html#docbSAXHandlerPtr">docbSAXHandlerPtr</a> sax,
+                                             void *user_data,
+                                             const char *chunk,
+                                             int size,
+                                             const char *filename,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
+Create a parser context for using the DocBook SGML parser in push mode
+To allow content encoding detection, <i><tt>size</tt></i> should be &gt;= 4
+The value of <i><tt>filename</tt></i> is used for fetching external entities
+and error/warning reports.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>  a SAX handler
+</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>  The user data returned on SAX callbacks
+</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>  a pointer to an array of chars
+</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>  number of chars in the array
+</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  an optional file name or URI
+</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>  an optional encoding
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser context or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="docbParseChunk"></a>docbParseChunk ()</h3><pre class="programlisting">int         docbParseChunk                  (<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt,
+                                             const char *chunk,
+                                             int size,
+                                             int terminate);</pre><p>
+Parse a Chunk of memory</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>zero if no error, the xmlParserErrors otherwise.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="docbCreateFileParserCtxt"></a>docbCreateFileParserCtxt ()</h3><pre class="programlisting"><a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> docbCreateFileParserCtxt  (const char *filename,
+                                             const char *encoding);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the filename
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the SGML document encoding, or NULL
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser context or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="docbParseDocument"></a>docbParseDocument ()</h3><pre class="programlisting">int         docbParseDocument               (<a href="libxml-DOCBparser.html#docbParserCtxtPtr">docbParserCtxtPtr</a> ctxt);</pre><p>
+parse an SGML document (and build a tree if using the standard SAX
+interface).</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an SGML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0, -1 in case of error. the parser context is augmented
+               as a result of the parsing.
+</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xmlwin32version.html"><b>&lt;&lt; xmlwin32version</b></a></td><td align="right"><a accesskey="n" href="libxml-dict.html"><b>dict &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-HTMLparser.html b/doc/html/libxml-HTMLparser.html
index ed97915..35f63e3 100644
--- a/doc/html/libxml-HTMLparser.html
+++ b/doc/html/libxml-HTMLparser.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-entities.html" title="entities"><link rel="next" href="libxml-valid.html" title="valid"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-entities.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-valid.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-HTMLparser"></a><div class="titlepage"></div><div class="refnamediv"><h2>HTMLparser</h2><p>HTMLparser &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2684037"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-entities.html" title="entities"><link rel="next" href="libxml-valid.html" title="valid"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-entities.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-valid.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-HTMLparser"></a><div class="titlepage"></div><div class="refnamediv"><h2>HTMLparser</h2><p>HTMLparser &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2762484"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -45,7 +45,109 @@
 typedef     <a href="libxml-HTMLparser.html#htmlElemDescPtr">htmlElemDescPtr</a>;
 struct      <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a>;
 typedef     <a href="libxml-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a>;
+const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a>* <a href="libxml-HTMLparser.html#htmlTagLookup">htmlTagLookup</a>           (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *tag);
+const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a>* <a href="libxml-HTMLparser.html#htmlEntityLookup">htmlEntityLookup</a>      (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a>* <a href="libxml-HTMLparser.html#htmlEntityValueLookup">htmlEntityValueLookup</a> (unsigned int value);
+int         <a href="libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a>                (<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc,
+                                             <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem);
+int         <a href="libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a>                (<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem);
+const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a>* <a href="libxml-HTMLparser.html#htmlParseEntityRef">htmlParseEntityRef</a>    (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> **str);
+int         <a href="libxml-HTMLparser.html#htmlParseCharRef">htmlParseCharRef</a>                (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
+void        <a href="libxml-HTMLparser.html#htmlParseElement">htmlParseElement</a>                (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
+<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> <a href="libxml-HTMLparser.html#htmlCreateMemoryParserCtxt">htmlCreateMemoryParserCtxt</a>
+                                            (const char *buffer,
+                                             int size);
+int         <a href="libxml-HTMLparser.html#htmlParseDocument">htmlParseDocument</a>               (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
+<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlSAXParseDoc">htmlSAXParseDoc</a>                 (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             const char *encoding,
+                                             <a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax,
+                                             void *userData);
+<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlParseDoc">htmlParseDoc</a>                    (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             const char *encoding);
+<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlSAXParseFile">htmlSAXParseFile</a>                (const char *filename,
+                                             const char *encoding,
+                                             <a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax,
+                                             void *userData);
+<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlParseFile">htmlParseFile</a>                   (const char *filename,
+                                             const char *encoding);
+int         <a href="libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a>                      (unsigned char *out,
+                                             int *outlen,
+                                             unsigned char *in,
+                                             int *inlen);
+int         <a href="libxml-HTMLparser.html#htmlEncodeEntities">htmlEncodeEntities</a>              (unsigned char *out,
+                                             int *outlen,
+                                             unsigned char *in,
+                                             int *inlen,
+                                             int quoteChar);
+int         <a href="libxml-HTMLparser.html#htmlIsScriptAttribute">htmlIsScriptAttribute</a>           (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+int         <a href="libxml-HTMLparser.html#htmlHandleOmittedElem">htmlHandleOmittedElem</a>           (int val);
+<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> <a href="libxml-HTMLparser.html#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a>  (<a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax,
+                                             void *user_data,
+                                             const char *chunk,
+                                             int size,
+                                             const char *filename,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+int         <a href="libxml-HTMLparser.html#htmlParseChunk">htmlParseChunk</a>                  (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt,
+                                             const char *chunk,
+                                             int size,
+                                             int terminate);
+void        <a href="libxml-HTMLparser.html#htmlFreeParserCtxt">htmlFreeParserCtxt</a>              (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
 enum        <a href="libxml-HTMLparser.html#htmlParserOption">htmlParserOption</a>;
+void        <a href="libxml-HTMLparser.html#htmlCtxtReset">htmlCtxtReset</a>                   (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
+int         <a href="libxml-HTMLparser.html#htmlCtxtUseOptions">htmlCtxtUseOptions</a>              (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt,
+                                             int options);
+<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlReadDoc">htmlReadDoc</a>                     (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);
+<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlReadFile">htmlReadFile</a>                    (const char *URL,
+                                             const char *encoding,
+                                             int options);
+<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlReadMemory">htmlReadMemory</a>                  (const char *buffer,
+                                             int size,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);
+<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlReadFd">htmlReadFd</a>                      (int fd,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);
+<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlReadIO">htmlReadIO</a>                      (<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
+                                             <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
+                                             void *ioctx,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);
+<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlCtxtReadDoc">htmlCtxtReadDoc</a>                 (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);
+<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlCtxtReadFile">htmlCtxtReadFile</a>                (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const char *filename,
+                                             const char *encoding,
+                                             int options);
+<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlCtxtReadMemory">htmlCtxtReadMemory</a>              (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const char *buffer,
+                                             int size,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);
+<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlCtxtReadFd">htmlCtxtReadFd</a>                  (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             int fd,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);
+<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlCtxtReadIO">htmlCtxtReadIO</a>                  (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
+                                             <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
+                                             void *ioctx,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="htmlParserCtxt"></a>htmlParserCtxt</h3><pre class="programlisting">typedef xmlParserCtxt htmlParserCtxt;
@@ -120,7 +222,207 @@
 </p></div><hr><div class="refsect2"><h3><a name="htmlEntityDescPtr"></a>htmlEntityDescPtr</h3><pre class="programlisting">typedef htmlEntityDesc *htmlEntityDescPtr;
 </pre><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="htmlParserOption"></a>enum htmlParserOption</h3><pre class="programlisting">typedef enum {
+</p></div><hr><div class="refsect2"><h3><a name="htmlTagLookup"></a>htmlTagLookup ()</h3><pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a>* htmlTagLookup           (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *tag);</pre><p>
+Lookup the HTML tag in the ElementTable</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>tag</tt></i>:</span></td><td>  The tag name in lowercase
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the related htmlElemDescPtr or NULL if not found.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlEntityLookup"></a>htmlEntityLookup ()</h3><pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a>* htmlEntityLookup      (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Lookup the given entity in EntitiesTable
+</p><p>
+TODO: the linear scan is really ugly, an hash table is really needed.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td> the entity name
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the associated htmlEntityDescPtr if found, NULL otherwise.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlEntityValueLookup"></a>htmlEntityValueLookup ()</h3><pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a>* htmlEntityValueLookup (unsigned int value);</pre><p>
+Lookup the given entity in EntitiesTable
+</p><p>
+TODO: the linear scan is really ugly, an hash table is really needed.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td> the entity's unicode value
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the associated htmlEntityDescPtr if found, NULL otherwise.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlIsAutoClosed"></a>htmlIsAutoClosed ()</h3><pre class="programlisting">int         htmlIsAutoClosed                (<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc,
+                                             <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem);</pre><p>
+The HTML DTD allows a tag to implicitly close other tags.
+The list is kept in htmlStartClose array. This function checks
+if a tag is autoclosed by one of it's child</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the HTML document
+</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>  the HTML element
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if autoclosed, 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlAutoCloseTag"></a>htmlAutoCloseTag ()</h3><pre class="programlisting">int         htmlAutoCloseTag                (<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem);</pre><p>
+The HTML DTD allows a tag to implicitly close other tags.
+The list is kept in htmlStartClose array. This function checks
+if the element or one of it's children would autoclose the
+given tag.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the HTML document
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>  The tag name
+</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>  the HTML element
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if autoclose, 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlParseEntityRef"></a>htmlParseEntityRef ()</h3><pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a>* htmlParseEntityRef    (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> **str);</pre><p>
+parse an HTML ENTITY references
+</p><p>
+[68] EntityRef ::= '&amp;' Name ';'</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an HTML parser context
+</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>  location to store the entity name
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the associated htmlEntityDescPtr if found, or NULL otherwise,
+        if non-NULL *str will have to be freed by the caller.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlParseCharRef"></a>htmlParseCharRef ()</h3><pre class="programlisting">int         htmlParseCharRef                (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);</pre><p>
+parse Reference declarations
+</p><p>
+[66] CharRef ::= '&amp;#' [0-9]+ ';' |
+                 '&amp;<GTKDOCLINK HREF="x">x</GTKDOCLINK>' [0-9a-fA-F]+ ';'</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an HTML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the value parsed (as an int)
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlParseElement"></a>htmlParseElement ()</h3><pre class="programlisting">void        htmlParseElement                (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);</pre><p>
+parse an HTML element, this is highly recursive
+</p><p>
+[39] element ::= EmptyElemTag | STag content ETag
+</p><p>
+[41] Attribute ::= Name Eq AttValue</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an HTML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlCreateMemoryParserCtxt"></a>htmlCreateMemoryParserCtxt ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> htmlCreateMemoryParserCtxt
+                                            (const char *buffer,
+                                             int size);</pre><p>
+Create a parser context for an HTML in-memory document.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>  a pointer to a char array
+</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>  the size of the array
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser context or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlParseDocument"></a>htmlParseDocument ()</h3><pre class="programlisting">int         htmlParseDocument               (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);</pre><p>
+parse an HTML document (and build a tree if using the standard SAX
+interface).</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an HTML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0, -1 in case of error. the parser context is augmented
+               as a result of the parsing.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlSAXParseDoc"></a>htmlSAXParseDoc ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlSAXParseDoc                 (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             const char *encoding,
+                                             <a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax,
+                                             void *userData);</pre><p>
+Parse an HTML in-memory document. If sax is not NULL, use the SAX callbacks
+to handle parse events. If sax is NULL, fallback to the default DOM
+behavior and return a tree.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  a pointer to an array of xmlChar
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  a free form C string describing the HTML document encoding, or NULL
+</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>  the SAX handler block
+</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td> if using SAX, this pointer will be provided on callbacks. 
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree unless SAX is NULL or the document is
+    not well formed.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlParseDoc"></a>htmlParseDoc ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlParseDoc                    (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             const char *encoding);</pre><p>
+parse an HTML in-memory document and build a tree.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  a pointer to an array of xmlChar
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  a free form C string describing the HTML document encoding, or NULL
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlSAXParseFile"></a>htmlSAXParseFile ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlSAXParseFile                (const char *filename,
+                                             const char *encoding,
+                                             <a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax,
+                                             void *userData);</pre><p>
+parse an HTML file and build a tree. Automatic support for ZLIB/Compress
+compressed document is provided by default if found at compile-time.
+It use the given SAX function block to handle the parsing callback.
+If sax is NULL, fallback to the default DOM tree building routines.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the filename
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  a free form C string describing the HTML document encoding, or NULL
+</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>  the SAX handler block
+</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td> if using SAX, this pointer will be provided on callbacks. 
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree unless SAX is NULL or the document is
+    not well formed.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlParseFile"></a>htmlParseFile ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlParseFile                   (const char *filename,
+                                             const char *encoding);</pre><p>
+parse an HTML file and build a tree. Automatic support for ZLIB/Compress
+compressed document is provided by default if found at compile-time.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the filename
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  a free form C string describing the HTML document encoding, or NULL
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="UTF8ToHtml"></a>UTF8ToHtml ()</h3><pre class="programlisting">int         UTF8ToHtml                      (unsigned char *out,
+                                             int *outlen,
+                                             unsigned char *in,
+                                             int *inlen);</pre><p>
+Take a block of UTF-8 chars in and try to convert it to an ASCII
+plus HTML entities block of chars out.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>  a pointer to an array of bytes to store the result
+</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>  the length of <i><tt>out</tt></i>
+</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>  a pointer to an array of UTF-8 chars
+</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>  the length of <i><tt>in</tt></i>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 if success, -2 if the transcoding fails, or -1 otherwise
+The value of <i><tt>inlen</tt></i> after return is the number of octets consumed
+    as the return value is positive, else unpredictable.
+The value of <i><tt>outlen</tt></i> after return is the number of octets consumed.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlEncodeEntities"></a>htmlEncodeEntities ()</h3><pre class="programlisting">int         htmlEncodeEntities              (unsigned char *out,
+                                             int *outlen,
+                                             unsigned char *in,
+                                             int *inlen,
+                                             int quoteChar);</pre><p>
+Take a block of UTF-8 chars in and try to convert it to an ASCII
+plus HTML entities block of chars out.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>  a pointer to an array of bytes to store the result
+</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>  the length of <i><tt>out</tt></i>
+</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>  a pointer to an array of UTF-8 chars
+</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>  the length of <i><tt>in</tt></i>
+</td></tr><tr><td><span class="term"><i><tt>quoteChar</tt></i>:</span></td><td> the quote character to escape (' or ") or zero.
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 if success, -2 if the transcoding fails, or -1 otherwise
+The value of <i><tt>inlen</tt></i> after return is the number of octets consumed
+    as the return value is positive, else unpredictable.
+The value of <i><tt>outlen</tt></i> after return is the number of octets consumed.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlIsScriptAttribute"></a>htmlIsScriptAttribute ()</h3><pre class="programlisting">int         htmlIsScriptAttribute           (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Check if an attribute is of content type Script</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>  an attribute name
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 is the attribute is a script 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlHandleOmittedElem"></a>htmlHandleOmittedElem ()</h3><pre class="programlisting">int         htmlHandleOmittedElem           (int val);</pre><p>
+Set and return the previous value for handling HTML omitted tags.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  int 0 or 1 
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the last value for 0 for no handling, 1 for auto insertion.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlCreatePushParserCtxt"></a>htmlCreatePushParserCtxt ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> htmlCreatePushParserCtxt  (<a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax,
+                                             void *user_data,
+                                             const char *chunk,
+                                             int size,
+                                             const char *filename,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
+Create a parser context for using the HTML parser in push mode
+The value of <i><tt>filename</tt></i> is used for fetching external entities
+and error/warning reports.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>  a SAX handler
+</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>  The user data returned on SAX callbacks
+</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>  a pointer to an array of chars
+</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>  number of chars in the array
+</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  an optional file name or URI
+</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>  an optional encoding
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser context or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlParseChunk"></a>htmlParseChunk ()</h3><pre class="programlisting">int         htmlParseChunk                  (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt,
+                                             const char *chunk,
+                                             int size,
+                                             int terminate);</pre><p>
+Parse a Chunk of memory</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an HTML parser context
+</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>  an char array
+</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>  the size in byte of the chunk
+</td></tr><tr><td><span class="term"><i><tt>terminate</tt></i>:</span></td><td>  last chunk indicator
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>zero if no error, the xmlParserErrors otherwise.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlFreeParserCtxt"></a>htmlFreeParserCtxt ()</h3><pre class="programlisting">void        htmlFreeParserCtxt              (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);</pre><p>
+Free all the memory used by a parser context. However the parsed
+document in ctxt-&gt;myDoc is not freed.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an HTML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlParserOption"></a>enum htmlParserOption</h3><pre class="programlisting">typedef enum {
     HTML_PARSE_NOERROR	= 1&lt;&lt;5,	/* suppress error reports */
     HTML_PARSE_NOWARNING= 1&lt;&lt;6,	/* suppress warning reports */
     HTML_PARSE_PEDANTIC	= 1&lt;&lt;7,	/* pedantic error reporting */
@@ -129,4 +431,149 @@
 } htmlParserOption;
 </pre><p>
 
-</p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-entities.html"><b>&lt;&lt; entities</b></a></td><td align="right"><a accesskey="n" href="libxml-valid.html"><b>valid &gt;&gt;</b></a></td></tr></table></body></html>
+</p></div><hr><div class="refsect2"><h3><a name="htmlCtxtReset"></a>htmlCtxtReset ()</h3><pre class="programlisting">void        htmlCtxtReset                   (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);</pre><p>
+Reset a parser context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an HTML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlCtxtUseOptions"></a>htmlCtxtUseOptions ()</h3><pre class="programlisting">int         htmlCtxtUseOptions              (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt,
+                                             int options);</pre><p>
+Applies the options to the parser context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an HTML parser context
+</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of htmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success, the set of unknown or unimplemented options
+        in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlReadDoc"></a>htmlReadDoc ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlReadDoc                     (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+parse an XML in-memory document and build a tree.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  a pointer to a zero terminated string
+</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the base URL to use for the document
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
+</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of htmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlReadFile"></a>htmlReadFile ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlReadFile                    (const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+parse an XML file from the filesystem or the network.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
+</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of htmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlReadMemory"></a>htmlReadMemory ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlReadMemory                  (const char *buffer,
+                                             int size,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+parse an XML in-memory document and build a tree.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>  a pointer to a char array
+</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>  the size of the array
+</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the base URL to use for the document
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
+</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of htmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlReadFd"></a>htmlReadFd ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlReadFd                      (int fd,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+parse an XML from a file descriptor and build a tree.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>fd</tt></i>:</span></td><td>  an open file descriptor
+</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the base URL to use for the document
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
+</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of htmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlReadIO"></a>htmlReadIO ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlReadIO                      (<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
+                                             <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
+                                             void *ioctx,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+parse an HTML document from I/O functions and source and build a tree.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>  an I/O read function
+</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>  an I/O close function
+</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>  an I/O handler
+</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the base URL to use for the document
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
+</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of htmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlCtxtReadDoc"></a>htmlCtxtReadDoc ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlCtxtReadDoc                 (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+parse an XML in-memory document and build a tree.
+This reuses the existing <i><tt>ctxt</tt></i> parser context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an HTML parser context
+</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  a pointer to a zero terminated string
+</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the base URL to use for the document
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
+</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of htmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlCtxtReadFile"></a>htmlCtxtReadFile ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlCtxtReadFile                (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const char *filename,
+                                             const char *encoding,
+                                             int options);</pre><p>
+parse an XML file from the filesystem or the network.
+This reuses the existing <i><tt>ctxt</tt></i> parser context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an HTML parser context
+</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  a file or URL
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
+</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of htmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlCtxtReadMemory"></a>htmlCtxtReadMemory ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlCtxtReadMemory              (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const char *buffer,
+                                             int size,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+parse an XML in-memory document and build a tree.
+This reuses the existing <i><tt>ctxt</tt></i> parser context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an HTML parser context
+</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>  a pointer to a char array
+</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>  the size of the array
+</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the base URL to use for the document
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
+</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of htmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlCtxtReadFd"></a>htmlCtxtReadFd ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlCtxtReadFd                  (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             int fd,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+parse an XML from a file descriptor and build a tree.
+This reuses the existing <i><tt>ctxt</tt></i> parser context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an HTML parser context
+</td></tr><tr><td><span class="term"><i><tt>fd</tt></i>:</span></td><td>  an open file descriptor
+</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the base URL to use for the document
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
+</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of htmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlCtxtReadIO"></a>htmlCtxtReadIO ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlCtxtReadIO                  (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
+                                             <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
+                                             void *ioctx,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+parse an HTML document from I/O functions and source and build a tree.
+This reuses the existing <i><tt>ctxt</tt></i> parser context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an HTML parser context
+</td></tr><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>  an I/O read function
+</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>  an I/O close function
+</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>  an I/O handler
+</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the base URL to use for the document
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
+</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of htmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-entities.html"><b>&lt;&lt; entities</b></a></td><td align="right"><a accesskey="n" href="libxml-valid.html"><b>valid &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-HTMLtree.html b/doc/html/libxml-HTMLtree.html
index 6c8a196..7bb2f16 100644
--- a/doc/html/libxml-HTMLtree.html
+++ b/doc/html/libxml-HTMLtree.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-list.html" title="list"><link rel="next" href="libxml-parserInternals.html" title="parserInternals"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-list.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-parserInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-HTMLtree"></a><div class="titlepage"></div><div class="refnamediv"><h2>HTMLtree</h2><p>HTMLtree &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2700069"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-list.html" title="list"><link rel="next" href="libxml-parserInternals.html" title="parserInternals"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-list.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-parserInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-HTMLtree"></a><div class="titlepage"></div><div class="refnamediv"><h2>HTMLtree</h2><p>HTMLtree &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2610789"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -37,6 +37,55 @@
 #define     <a href="libxml-HTMLtree.html#HTML-COMMENT-NODE-CAPS">HTML_COMMENT_NODE</a>
 #define     <a href="libxml-HTMLtree.html#HTML-PRESERVE-NODE-CAPS">HTML_PRESERVE_NODE</a>
 #define     <a href="libxml-HTMLtree.html#HTML-PI-NODE-CAPS">HTML_PI_NODE</a>
+<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLtree.html#htmlNewDoc">htmlNewDoc</a>                      (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URI,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID);
+<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLtree.html#htmlNewDocNoDtD">htmlNewDocNoDtD</a>                 (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URI,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-HTMLtree.html#htmlGetMetaEncoding">htmlGetMetaEncoding</a>          (<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc);
+int         <a href="libxml-HTMLtree.html#htmlSetMetaEncoding">htmlSetMetaEncoding</a>             (<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *encoding);
+void        <a href="libxml-HTMLtree.html#htmlDocDumpMemory">htmlDocDumpMemory</a>               (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **mem,
+                                             int *size);
+int         <a href="libxml-HTMLtree.html#htmlDocDump">htmlDocDump</a>                     (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *f,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
+int         <a href="libxml-HTMLtree.html#htmlSaveFile">htmlSaveFile</a>                    (const char *filename,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
+int         <a href="libxml-HTMLtree.html#htmlNodeDump">htmlNodeDump</a>                    (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+void        <a href="libxml-HTMLtree.html#htmlNodeDumpFile">htmlNodeDumpFile</a>                (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *out,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+int         <a href="libxml-HTMLtree.html#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a>          (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *out,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             const char *encoding,
+                                             int format);
+int         <a href="libxml-HTMLtree.html#htmlSaveFileEnc">htmlSaveFileEnc</a>                 (const char *filename,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             const char *encoding);
+int         <a href="libxml-HTMLtree.html#htmlSaveFileFormat">htmlSaveFileFormat</a>              (const char *filename,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             const char *encoding,
+                                             int format);
+void        <a href="libxml-HTMLtree.html#htmlNodeDumpFormatOutput">htmlNodeDumpFormatOutput</a>        (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             const char *encoding,
+                                             int format);
+void        <a href="libxml-HTMLtree.html#htmlDocContentDumpOutput">htmlDocContentDumpOutput</a>        (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             const char *encoding);
+void        <a href="libxml-HTMLtree.html#htmlDocContentDumpFormatOutput">htmlDocContentDumpFormatOutput</a>  (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             const char *encoding,
+                                             int format);
+void        <a href="libxml-HTMLtree.html#htmlNodeDumpOutput">htmlNodeDumpOutput</a>              (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             const char *encoding);
+int         <a href="libxml-HTMLtree.html#htmlIsBooleanAttr">htmlIsBooleanAttr</a>               (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="HTML-TEXT-NODE-CAPS"></a>HTML_TEXT_NODE</h3><pre class="programlisting">#define HTML_TEXT_NODE		XML_TEXT_NODE
@@ -64,4 +113,158 @@
 Macro. A processing instruction in a HTML document is really implemented
 the same way as a processing instruction in an XML document.</p><p>
 
-</p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-list.html"><b>&lt;&lt; list</b></a></td><td align="right"><a accesskey="n" href="libxml-parserInternals.html"><b>parserInternals &gt;&gt;</b></a></td></tr></table></body></html>
+</p></div><hr><div class="refsect2"><h3><a name="htmlNewDoc"></a>htmlNewDoc ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlNewDoc                      (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URI,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID);</pre><p>
+Creates a new HTML document</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a new document
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlNewDocNoDtD"></a>htmlNewDocNoDtD ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlNewDocNoDtD                 (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URI,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID);</pre><p>
+Creates a new HTML document without a DTD node if <i><tt>URI</tt></i> and <i><tt>ExternalID</tt></i>
+are NULL</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a new document, do not initialize the DTD if not provided
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlGetMetaEncoding"></a>htmlGetMetaEncoding ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* htmlGetMetaEncoding          (<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc);</pre><p>
+Encoding definition lookup in the Meta tags</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the document
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the current encoding as flagged in the HTML source
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlSetMetaEncoding"></a>htmlSetMetaEncoding ()</h3><pre class="programlisting">int         htmlSetMetaEncoding             (<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *encoding);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success and -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlDocDumpMemory"></a>htmlDocDumpMemory ()</h3><pre class="programlisting">void        htmlDocDumpMemory               (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **mem,
+                                             int *size);</pre><p>
+Dump an HTML document in memory and return the xmlChar * and it's size.
+It's up to the caller to free the memory.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  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"><h3><a name="htmlDocDump"></a>htmlDocDump ()</h3><pre class="programlisting">int         htmlDocDump                     (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *f,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur);</pre><p>
+Dump an HTML document to an open FILE.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td> the number of byte written or -1 in case of failure.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlSaveFile"></a>htmlSaveFile ()</h3><pre class="programlisting">int         htmlSaveFile                    (const char *filename,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur);</pre><p>
+Dump an HTML document to a file. If <i><tt>filename</tt></i> is "-" the stdout file is
+used.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the filename (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"><span class="emphasis"><i>Returns</i></span> :</span></td><td> the number of byte written or -1 in case of failure.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlNodeDump"></a>htmlNodeDump ()</h3><pre class="programlisting">int         htmlNodeDump                    (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
+Dump an HTML node, recursive behaviour,children are printed too,
+and formatting returns are added.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of byte written or -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlNodeDumpFile"></a>htmlNodeDumpFile ()</h3><pre class="programlisting">void        htmlNodeDumpFile                (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *out,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
+Dump an HTML node, recursive behaviour,children are printed too,
+and formatting returns are added.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>  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"><h3><a name="htmlNodeDumpFileFormat"></a>htmlNodeDumpFileFormat ()</h3><pre class="programlisting">int         htmlNodeDumpFileFormat          (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *out,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             const char *encoding,
+                                             int format);</pre><p>
+Dump an HTML node, recursive behaviour,children are printed too.
+</p><p>
+TODO: if encoding == NULL try to save in the doc encoding</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td> the number of byte written or -1 in case of failure.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlSaveFileEnc"></a>htmlSaveFileEnc ()</h3><pre class="programlisting">int         htmlSaveFileEnc                 (const char *filename,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             const char *encoding);</pre><p>
+Dump an HTML document to a file using a given encoding
+and formatting returns/spaces are added.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the filename
+</td></tr><tr><td><span class="term"><i><tt>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"><span class="emphasis"><i>Returns</i></span> :</span></td><td> the number of byte written or -1 in case of failure.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlSaveFileFormat"></a>htmlSaveFileFormat ()</h3><pre class="programlisting">int         htmlSaveFileFormat              (const char *filename,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             const char *encoding,
+                                             int format);</pre><p>
+Dump an HTML document to a file using a given encoding.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the filename
+</td></tr><tr><td><span class="term"><i><tt>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"><span class="emphasis"><i>Returns</i></span> :</span></td><td> the number of byte written or -1 in case of failure.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlNodeDumpFormatOutput"></a>htmlNodeDumpFormatOutput ()</h3><pre class="programlisting">void        htmlNodeDumpFormatOutput        (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             const char *encoding,
+                                             int format);</pre><p>
+Dump an HTML node, recursive behaviour,children are printed too.</p><p>
+
+</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
+</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"><h3><a name="htmlDocContentDumpOutput"></a>htmlDocContentDumpOutput ()</h3><pre class="programlisting">void        htmlDocContentDumpOutput        (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             const char *encoding);</pre><p>
+Dump an HTML document. Formating return/spaces are added.</p><p>
+
+</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
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlDocContentDumpFormatOutput"></a>htmlDocContentDumpFormatOutput ()</h3><pre class="programlisting">void        htmlDocContentDumpFormatOutput  (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             const char *encoding,
+                                             int format);</pre><p>
+Dump an HTML document.</p><p>
+
+</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
+</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"><h3><a name="htmlNodeDumpOutput"></a>htmlNodeDumpOutput ()</h3><pre class="programlisting">void        htmlNodeDumpOutput              (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             const char *encoding);</pre><p>
+Dump an HTML node, recursive behaviour,children are printed too,
+and formatting returns/spaces are added.</p><p>
+
+</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
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlIsBooleanAttr"></a>htmlIsBooleanAttr ()</h3><pre class="programlisting">int         htmlIsBooleanAttr               (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Determine if a given attribute is a boolean attribute.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>  the name of the attribute to check
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td> false if the attribute is not boolean, true otherwise.
+</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-list.html"><b>&lt;&lt; list</b></a></td><td align="right"><a accesskey="n" href="libxml-parserInternals.html"><b>parserInternals &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-SAX.html b/doc/html/libxml-SAX.html
index ba26604..feea9e5 100644
--- a/doc/html/libxml-SAX.html
+++ b/doc/html/libxml-SAX.html
@@ -1,4 +1,4 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>SAX</title><meta name="generator" content="DocBook XSL Stylesheets V1.58.1"><style xmlns="http://www.w3.org/TR/xhtml1/transitional" type="text/css">
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>SAX</title><meta name="generator" content="DocBook XSL Stylesheets V1.48"><meta name="generator" content="GTK-Doc V1.1 (XML mode)"><style type="text/css">
         .synopsis, .classsynopsis {
             background: #eeeeee;
             border: solid 1px #aaaaaa;
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="libxml-lib.html" title="Libxml Library Reference"><link rel="previous" href="libxml-xmlreader.html" title="xmlreader"><link rel="next" href="libxml-tree.html" title="tree"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlreader.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></img></a></td><td><a accesskey="u" href="libxml-lib.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></img></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></img></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-tree.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></img></a></td></tr></table><div class="refentry" lang="en"><a name="libxml-SAX"></a><div class="titlepage"></div><div class="refnamediv"><h2>SAX</h2><p>SAX &#8212; </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xpath.html" title="xpath"><link rel="next" href="libxml-chvalid.html" title="chvalid"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xpath.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-chvalid.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-SAX"></a><div class="titlepage"></div><div class="refnamediv"><h2>SAX</h2><p>SAX &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2583364"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -119,301 +119,305 @@
 void        <a href="libxml-SAX.html#cdataBlock">cdataBlock</a>                      (void *ctx,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
                                              int len);
-void        <a href="libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a>        (<a href="libxml-parser.html#xmlSAXHandler">xmlSAXHandler</a> *hdlr,
+void        <a href="libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a>        (<a href="libxml-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> *hdlr,
                                              int warning);
-void        <a href="libxml-SAX.html#inithtmlDefaultSAXHandler">inithtmlDefaultSAXHandler</a>       (<a href="libxml-parser.html#xmlSAXHandler">xmlSAXHandler</a> *hdlr);
-void        <a href="libxml-SAX.html#initdocbDefaultSAXHandler">initdocbDefaultSAXHandler</a>       (<a href="libxml-parser.html#xmlSAXHandler">xmlSAXHandler</a> *hdlr);
-void        <a href="libxml-SAX.html#xmlDefaultSAXHandlerInit">xmlDefaultSAXHandlerInit</a>        (void);
-void        <a href="libxml-SAX.html#htmlDefaultSAXHandlerInit">htmlDefaultSAXHandlerInit</a>       (void);
-void        <a href="libxml-SAX.html#docbDefaultSAXHandlerInit">docbDefaultSAXHandlerInit</a>       (void);
-</pre></div><div class="refsect1" lang="en"><h2>Description</h2><p>
+void        <a href="libxml-SAX.html#inithtmlDefaultSAXHandler">inithtmlDefaultSAXHandler</a>       (<a href="libxml-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> *hdlr);
+void        <a href="libxml-SAX.html#initdocbDefaultSAXHandler">initdocbDefaultSAXHandler</a>       (<a href="libxml-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> *hdlr);
+</pre></div><div class="refsect1"><h2>Description</h2><p>
 
-</p></div><div class="refsect1" lang="en"><h2>Details</h2><div class="refsect2" lang="en"><h3><a name="getPublicId"></a>getPublicId ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* getPublicId                  (void *ctx);</pre><p>
-Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN"</p><p>
+</p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="getPublicId"></a>getPublicId ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* getPublicId                  (void *ctx);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>getPublicId</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2GetPublicId">xmlSAX2GetPublicId</a>()</p></div><p>
+Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN"
+Returns</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a xmlChar *
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="getSystemId"></a>getSystemId ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* getSystemId                  (void *ctx);</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> the user data (XML parser context)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a xmlChar *
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="getSystemId"></a>getSystemId ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* getSystemId                  (void *ctx);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>getSystemId</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2GetSystemId">xmlSAX2GetSystemId</a>()</p></div><p>
 Provides the system ID, basically URL or filename e.g.
-http://www.sgmlsource.com/dtds/memo.dtd</p><p>
+http://www.sgmlsource.com/dtds/memo.dtd
+Returns</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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"><span class="emphasis"><em>Returns</em></span> :</span></td><td>a xmlChar *
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="setDocumentLocator"></a>setDocumentLocator ()</h3><pre class="programlisting">void        setDocumentLocator              (void *ctx,
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a xmlChar *
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="setDocumentLocator"></a>setDocumentLocator ()</h3><pre class="programlisting">void        setDocumentLocator              (void *ctx,
                                              <a href="libxml-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc);</pre><p>
 Receive the document locator at startup, actually xmlDefaultSAXLocator
-Everything is available on the context, so this is useless in our case.</p><p>
+Everything is available on the context, so this is useless in our case.
+DEPRECATED</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="getLineNumber"></a>getLineNumber ()</h3><pre class="programlisting">int         getLineNumber                   (void *ctx);</pre><p>
-Provide the line number of the current parsing point.</p><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> 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"><h3><a name="getLineNumber"></a>getLineNumber ()</h3><pre class="programlisting">int         getLineNumber                   (void *ctx);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>getLineNumber</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2GetLineNumber">xmlSAX2GetLineNumber</a>()</p></div><p>
+Provide the line number of the current parsing point.
+Returns</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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"><span class="emphasis"><em>Returns</em></span> :</span></td><td>an int
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="getColumnNumber"></a>getColumnNumber ()</h3><pre class="programlisting">int         getColumnNumber                 (void *ctx);</pre><p>
-Provide the column number of the current parsing point.</p><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> the user data (XML parser context)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>an int
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="getColumnNumber"></a>getColumnNumber ()</h3><pre class="programlisting">int         getColumnNumber                 (void *ctx);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>getColumnNumber</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2GetColumnNumber">xmlSAX2GetColumnNumber</a>()</p></div><p>
+Provide the column number of the current parsing point.
+Returns</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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"><span class="emphasis"><em>Returns</em></span> :</span></td><td>an int
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="isStandalone"></a>isStandalone ()</h3><pre class="programlisting">int         isStandalone                    (void *ctx);</pre><p>
-Is this document tagged standalone ?</p><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> the user data (XML parser context)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>an int
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="isStandalone"></a>isStandalone ()</h3><pre class="programlisting">int         isStandalone                    (void *ctx);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>isStandalone</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2IsStandalone">xmlSAX2IsStandalone</a>()</p></div><p>
+Is this document tagged standalone ?
+Returns</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="hasInternalSubset"></a>hasInternalSubset ()</h3><pre class="programlisting">int         hasInternalSubset               (void *ctx);</pre><p>
-Does this document has an internal subset</p><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> the user data (XML parser context)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="hasInternalSubset"></a>hasInternalSubset ()</h3><pre class="programlisting">int         hasInternalSubset               (void *ctx);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>hasInternalSubset</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2HasInternalSubset">xmlSAX2HasInternalSubset</a>()</p></div><p>
+Does this document has an internal subset
+Returns</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="hasExternalSubset"></a>hasExternalSubset ()</h3><pre class="programlisting">int         hasExternalSubset               (void *ctx);</pre><p>
-Does this document has an external subset</p><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> the user data (XML parser context)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="hasExternalSubset"></a>hasExternalSubset ()</h3><pre class="programlisting">int         hasExternalSubset               (void *ctx);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>hasExternalSubset</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2HasExternalSubset">xmlSAX2HasExternalSubset</a>()</p></div><p>
+Does this document has an external subset
+Returns</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="internalSubset"></a>internalSubset ()</h3><pre class="programlisting">void        internalSubset                  (void *ctx,
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="internalSubset"></a>internalSubset ()</h3><pre class="programlisting">void        internalSubset                  (void *ctx,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
-                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p>
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>internalSubset</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2InternalSubset">xmlSAX2InternalSubset</a>()</p></div><p>
 Callback on internal subset declaration.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="externalSubset"></a>externalSubset ()</h3><pre class="programlisting">void        externalSubset                  (void *ctx,
+</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"><h3><a name="externalSubset"></a>externalSubset ()</h3><pre class="programlisting">void        externalSubset                  (void *ctx,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
-                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p>
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>externalSubset</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2ExternalSubset">xmlSAX2ExternalSubset</a>()</p></div><p>
 Callback on external subset declaration.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="getEntity"></a>getEntity ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> getEntity                      (void *ctx,
-                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
-Get an entity by name</p><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> 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"><h3><a name="getEntity"></a>getEntity ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> getEntity                      (void *ctx,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>getEntity</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2GetEntity">xmlSAX2GetEntity</a>()</p></div><p>
+Get an entity by name
+Returns</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlEntityPtr if found.
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="getParameterEntity"></a>getParameterEntity ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> getParameterEntity             (void *ctx,
-                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
-Get a parameter entity by name</p><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> 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlEntityPtr if found.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="getParameterEntity"></a>getParameterEntity ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> getParameterEntity             (void *ctx,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>getParameterEntity</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2GetParameterEntity">xmlSAX2GetParameterEntity</a>()</p></div><p>
+Get a parameter entity by name
+Returns</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlEntityPtr if found.
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="resolveEntity"></a>resolveEntity ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> resolveEntity             (void *ctx,
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlEntityPtr if found.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="resolveEntity"></a>resolveEntity ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> resolveEntity             (void *ctx,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId,
-                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId);</pre><p>
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>resolveEntity</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a>()</p></div><p>
 The entity loader, to control the loading of external entities,
 the application can either:
    - override this <a href="libxml-SAX.html#resolveEntity">resolveEntity</a>() callback in the SAX block
    - or better use the <a href="libxml-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a>() function to
-     set up it's own entity resolution routine</p><p>
+     set up it's own entity resolution routine
+Returns</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlParserInputPtr if inlined or NULL for DOM behaviour.
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="entityDecl"></a>entityDecl ()</h3><pre class="programlisting">void        entityDecl                      (void *ctx,
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlParserInputPtr if inlined or NULL for DOM behaviour.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="entityDecl"></a>entityDecl ()</h3><pre class="programlisting">void        entityDecl                      (void *ctx,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
                                              int type,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId,
-                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>entityDecl</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2EntityDecl">xmlSAX2EntityDecl</a>()</p></div><p>
 An entity definition has been parsed</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="attributeDecl"></a>attributeDecl ()</h3><pre class="programlisting">void        attributeDecl                   (void *ctx,
+</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"><h3><a name="attributeDecl"></a>attributeDecl ()</h3><pre class="programlisting">void        attributeDecl                   (void *ctx,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *fullname,
                                              int type,
                                              int def,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *defaultValue,
-                                             <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);</pre><p>
+                                             <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>attributeDecl</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2AttributeDecl">xmlSAX2AttributeDecl</a>()</p></div><p>
 An attribute definition has been parsed</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 attribute name 
-</td></tr><tr><td><span class="term"><i><tt>type</tt></i> :</span></td><td>  the attribute 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 attribute 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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="elementDecl"></a>elementDecl ()</h3><pre class="programlisting">void        elementDecl                     (void *ctx,
+</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 attribute name 
+</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>  the attribute 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 attribute 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"><h3><a name="elementDecl"></a>elementDecl ()</h3><pre class="programlisting">void        elementDecl                     (void *ctx,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
                                              int type,
-                                             <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);</pre><p>
+                                             <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>elementDecl</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2ElementDecl">xmlSAX2ElementDecl</a>()</p></div><p>
 An element definition has been parsed</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="notationDecl"></a>notationDecl ()</h3><pre class="programlisting">void        notationDecl                    (void *ctx,
+</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"><h3><a name="notationDecl"></a>notationDecl ()</h3><pre class="programlisting">void        notationDecl                    (void *ctx,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId,
-                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId);</pre><p>
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>notationDecl</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2NotationDecl">xmlSAX2NotationDecl</a>()</p></div><p>
 What to do when a notation declaration has been parsed.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="unparsedEntityDecl"></a>unparsedEntityDecl ()</h3><pre class="programlisting">void        unparsedEntityDecl              (void *ctx,
+</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"><h3><a name="unparsedEntityDecl"></a>unparsedEntityDecl ()</h3><pre class="programlisting">void        unparsedEntityDecl              (void *ctx,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicId,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemId,
-                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *notationName);</pre><p>
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *notationName);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>unparsedEntityDecl</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2UnparsedEntityDecl">xmlSAX2UnparsedEntityDecl</a>()</p></div><p>
 What to do when an unparsed entity declaration is parsed</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="startDocument"></a>startDocument ()</h3><pre class="programlisting">void        startDocument                   (void *ctx);</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> 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"><h3><a name="startDocument"></a>startDocument ()</h3><pre class="programlisting">void        startDocument                   (void *ctx);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>startDocument</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2StartDocument">xmlSAX2StartDocument</a>()</p></div><p>
 called when the document start being processed.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="endDocument"></a>endDocument ()</h3><pre class="programlisting">void        endDocument                     (void *ctx);</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> the user data (XML parser context)
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="endDocument"></a>endDocument ()</h3><pre class="programlisting">void        endDocument                     (void *ctx);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>endDocument</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2EndDocument">xmlSAX2EndDocument</a>()</p></div><p>
 called when the document end has been detected.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="attribute"></a>attribute ()</h3><pre class="programlisting">void        attribute                       (void *ctx,
+</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"><h3><a name="attribute"></a>attribute ()</h3><pre class="programlisting">void        attribute                       (void *ctx,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *fullname,
-                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>attribute</tt> is deprecated and should not be used in newly-written code. use <GTKDOCLINK HREF="xmlSAX2Attribute">xmlSAX2Attribute</GTKDOCLINK>()</p></div><p>
 Handle an attribute that has been read by the parser.
 The default handling is to convert the attribute into an
 DOM subtree and past it in a new xmlAttr element added to
 the element.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 attribute name, including namespace prefix
-</td></tr><tr><td><span class="term"><i><tt>value</tt></i> :</span></td><td>  The attribute value
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="startElement"></a>startElement ()</h3><pre class="programlisting">void        startElement                    (void *ctx,
+</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 attribute name, including namespace prefix
+</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>  The attribute value
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="startElement"></a>startElement ()</h3><pre class="programlisting">void        startElement                    (void *ctx,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *fullname,
-                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> **atts);</pre><p>
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> **atts);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>startElement</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2StartElement">xmlSAX2StartElement</a>()</p></div><p>
 called when an opening tag has been processed.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="endElement"></a>endElement ()</h3><pre class="programlisting">void        endElement                      (void *ctx,
-                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</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> 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"><h3><a name="endElement"></a>endElement ()</h3><pre class="programlisting">void        endElement                      (void *ctx,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>endElement</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2EndElement">xmlSAX2EndElement</a>()</p></div><p>
 called when the end of an element has been detected.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="reference"></a>reference ()</h3><pre class="programlisting">void        reference                       (void *ctx,
-                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</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> 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"><h3><a name="reference"></a>reference ()</h3><pre class="programlisting">void        reference                       (void *ctx,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>reference</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2Reference">xmlSAX2Reference</a>()</p></div><p>
 called when an entity reference is detected.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="characters"></a>characters ()</h3><pre class="programlisting">void        characters                      (void *ctx,
+</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"><h3><a name="characters"></a>characters ()</h3><pre class="programlisting">void        characters                      (void *ctx,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ch,
-                                             int len);</pre><p>
+                                             int len);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>characters</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2Characters">xmlSAX2Characters</a>()</p></div><p>
 receiving some chars from the parser.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 xmlChar string
-</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the number of xmlChar
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="ignorableWhitespace"></a>ignorableWhitespace ()</h3><pre class="programlisting">void        ignorableWhitespace             (void *ctx,
+</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 xmlChar string
+</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td> the number of xmlChar
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="ignorableWhitespace"></a>ignorableWhitespace ()</h3><pre class="programlisting">void        ignorableWhitespace             (void *ctx,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ch,
-                                             int len);</pre><p>
+                                             int len);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>ignorableWhitespace</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a>()</p></div><p>
 receiving some ignorable whitespaces from the parser.
 UNUSED: by default the DOM building will use characters</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 xmlChar string
-</td></tr><tr><td><span class="term"><i><tt>len</tt></i> :</span></td><td> the number of xmlChar
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="processingInstruction"></a>processingInstruction ()</h3><pre class="programlisting">void        processingInstruction           (void *ctx,
+</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 xmlChar string
+</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td> the number of xmlChar
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="processingInstruction"></a>processingInstruction ()</h3><pre class="programlisting">void        processingInstruction           (void *ctx,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *target,
-                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *data);</pre><p>
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *data);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>processingInstruction</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2ProcessingInstruction">xmlSAX2ProcessingInstruction</a>()</p></div><p>
 A processing instruction has been parsed.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="globalNamespace"></a>globalNamespace ()</h3><pre class="programlisting">void        globalNamespace                 (void *ctx,
+</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"><h3><a name="globalNamespace"></a>globalNamespace ()</h3><pre class="programlisting">void        globalNamespace                 (void *ctx,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *href,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);</pre><p>
-An old global namespace has been parsed.</p><p>
+An old global namespace has been parsed.
+DEPRECATED</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="setNamespace"></a>setNamespace ()</h3><pre class="programlisting">void        setNamespace                    (void *ctx,
+</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"><h3><a name="setNamespace"></a>setNamespace ()</h3><pre class="programlisting">void        setNamespace                    (void *ctx,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
-Set the current element namespace.</p><p>
+Set the current element namespace.
+DEPRECATED</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="getNamespace"></a>getNamespace ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>    getNamespace                    (void *ctx);</pre><p>
-Get the current element namespace.</p><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> 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"><h3><a name="getNamespace"></a>getNamespace ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>    getNamespace                    (void *ctx);</pre><p>
+Get the current element namespace.
+DEPRECATED</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the xmlNsPtr or NULL if none
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="checkNamespace"></a>checkNamespace ()</h3><pre class="programlisting">int         checkNamespace                  (void *ctx,
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlNsPtr or NULL if none
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="checkNamespace"></a>checkNamespace ()</h3><pre class="programlisting">int         checkNamespace                  (void *ctx,
                                              <a href="libxml-tree.html#xmlChar">xmlChar</a> *nameSpace);</pre><p>
 Check that the current element namespace is the same as the
-one read upon parsing.</p><p>
+one read upon parsing.
+DEPRECATED</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="namespaceDecl"></a>namespaceDecl ()</h3><pre class="programlisting">void        namespaceDecl                   (void *ctx,
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="namespaceDecl"></a>namespaceDecl ()</h3><pre class="programlisting">void        namespaceDecl                   (void *ctx,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *href,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);</pre><p>
-A namespace has been parsed.</p><p>
+A namespace has been parsed.
+DEPRECATED</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="comment"></a>comment ()</h3><pre class="programlisting">void        comment                         (void *ctx,
-                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</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> 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"><h3><a name="comment"></a>comment ()</h3><pre class="programlisting">void        comment                         (void *ctx,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>comment</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a>()</p></div><p>
 A comment has been parsed.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 comment content
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="cdataBlock"></a>cdataBlock ()</h3><pre class="programlisting">void        cdataBlock                      (void *ctx,
+</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 comment content
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="cdataBlock"></a>cdataBlock ()</h3><pre class="programlisting">void        cdataBlock                      (void *ctx,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
-                                             int len);</pre><p>
+                                             int len);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>cdataBlock</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2CDataBlock">xmlSAX2CDataBlock</a>()</p></div><p>
 called when a pcdata block has been parsed</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="initxmlDefaultSAXHandler"></a>initxmlDefaultSAXHandler ()</h3><pre class="programlisting">void        initxmlDefaultSAXHandler        (<a href="libxml-parser.html#xmlSAXHandler">xmlSAXHandler</a> *hdlr,
-                                             int warning);</pre><p>
-Initialize the default XML SAX handler</p><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> 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"><h3><a name="initxmlDefaultSAXHandler"></a>initxmlDefaultSAXHandler ()</h3><pre class="programlisting">void        initxmlDefaultSAXHandler        (<a href="libxml-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> *hdlr,
+                                             int warning);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>initxmlDefaultSAXHandler</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a>() for the new SAX2 blocks</p></div><p>
+Initialize the default XML SAX version 1 handler</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="inithtmlDefaultSAXHandler"></a>inithtmlDefaultSAXHandler ()</h3><pre class="programlisting">void        inithtmlDefaultSAXHandler       (<a href="libxml-parser.html#xmlSAXHandler">xmlSAXHandler</a> *hdlr);</pre><p>
-Initialize the default HTML SAX handler</p><p>
+</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"><h3><a name="inithtmlDefaultSAXHandler"></a>inithtmlDefaultSAXHandler ()</h3><pre class="programlisting">void        inithtmlDefaultSAXHandler       (<a href="libxml-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> *hdlr);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>inithtmlDefaultSAXHandler</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2InitHtmlDefaultSAXHandler">xmlSAX2InitHtmlDefaultSAXHandler</a>() for the new SAX2 blocks</p></div><p>
+Initialize the default HTML SAX version 1 handler</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>hdlr</tt></i> :</span></td><td>  the SAX handler
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="initdocbDefaultSAXHandler"></a>initdocbDefaultSAXHandler ()</h3><pre class="programlisting">void        initdocbDefaultSAXHandler       (<a href="libxml-parser.html#xmlSAXHandler">xmlSAXHandler</a> *hdlr);</pre><p>
-Initialize the default DocBook SAX handler</p><p>
+</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"><h3><a name="initdocbDefaultSAXHandler"></a>initdocbDefaultSAXHandler ()</h3><pre class="programlisting">void        initdocbDefaultSAXHandler       (<a href="libxml-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> *hdlr);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt>initdocbDefaultSAXHandler</tt> is deprecated and should not be used in newly-written code. use <a href="libxml-SAX2.html#xmlSAX2InitDocbDefaultSAXHandler">xmlSAX2InitDocbDefaultSAXHandler</a>() for the new SAX2 blocks</p></div><p>
+Initialize the default DocBook SAX version 1 handler</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>hdlr</tt></i> :</span></td><td>  the SAX handler
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlDefaultSAXHandlerInit"></a>xmlDefaultSAXHandlerInit ()</h3><pre class="programlisting">void        xmlDefaultSAXHandlerInit        (void);</pre><p>
-Initialize the default SAX handler</p><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="htmlDefaultSAXHandlerInit"></a>htmlDefaultSAXHandlerInit ()</h3><pre class="programlisting">void        htmlDefaultSAXHandlerInit       (void);</pre><p>
-Initialize the default SAX handler</p><p>
-
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="docbDefaultSAXHandlerInit"></a>docbDefaultSAXHandlerInit ()</h3><pre class="programlisting">void        docbDefaultSAXHandlerInit       (void);</pre><p>
-Initialize the default SAX handler</p><p>
-
-</p></div></div></div><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xmlreader.html"><b>&lt;&lt; xmlreader</b></a></td><td align="right"><a accesskey="n" href="libxml-tree.html"><b>tree &gt;&gt;</b></a></td></tr></table></body></html>
+</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></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xpath.html"><b>&lt;&lt; xpath</b></a></td><td align="right"><a accesskey="n" href="libxml-chvalid.html"><b>chvalid &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-c14n.html b/doc/html/libxml-c14n.html
index 2536677..a0554d8 100644
--- a/doc/html/libxml-c14n.html
+++ b/doc/html/libxml-c14n.html
@@ -28,16 +28,117 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-parser.html" title="parser"><link rel="next" href="libxml-xmlerror.html" title="xmlerror"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-parser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-xmlerror.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-c14n"></a><div class="titlepage"></div><div class="refnamediv"><h2>c14n</h2><p>c14n &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2611851"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-parser.html" title="parser"><link rel="next" href="libxml-xmlerror.html" title="xmlerror"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-parser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-xmlerror.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-c14n"></a><div class="titlepage"></div><div class="refnamediv"><h2>c14n</h2><p>c14n &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2676932"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
+int         <a href="libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a>                (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes,
+                                             int exclusive,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **inclusive_ns_prefixes,
+                                             int with_comments,
+                                             <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf);
+int         <a href="libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a>            (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes,
+                                             int exclusive,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **inclusive_ns_prefixes,
+                                             int with_comments,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **doc_txt_ptr);
+int         <a href="libxml-c14n.html#xmlC14NDocSave">xmlC14NDocSave</a>                  (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes,
+                                             int exclusive,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **inclusive_ns_prefixes,
+                                             int with_comments,
+                                             const char *filename,
+                                             int compression);
 int         (<a href="libxml-c14n.html#xmlC14NIsVisibleCallback">*xmlC14NIsVisibleCallback</a>)     (void *user_data,
                                              <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
                                              <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent);
+int         <a href="libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a>                  (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a> is_visible_callback,
+                                             void *user_data,
+                                             int exclusive,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **inclusive_ns_prefixes,
+                                             int with_comments,
+                                             <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
-</p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlC14NIsVisibleCallback"></a>xmlC14NIsVisibleCallback ()</h3><pre class="programlisting">int         (*xmlC14NIsVisibleCallback)     (void *user_data,
+</p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlC14NDocSaveTo"></a>xmlC14NDocSaveTo ()</h3><pre class="programlisting">int         xmlC14NDocSaveTo                (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes,
+                                             int exclusive,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **inclusive_ns_prefixes,
+                                             int with_comments,
+                                             <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td> 		the 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>exclusive</tt></i>:</span></td><td>		the exclusive flag (0 - non-exclusive canonicalization;
+		otherwise - exclusive canonicalization)
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>non-negative value on success or a negative value on fail  
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlC14NDocDumpMemory"></a>xmlC14NDocDumpMemory ()</h3><pre class="programlisting">int         xmlC14NDocDumpMemory            (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes,
+                                             int exclusive,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **inclusive_ns_prefixes,
+                                             int with_comments,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **doc_txt_ptr);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td> 		the 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>exclusive</tt></i>:</span></td><td>		the exclusive flag (0 - non-exclusive canonicalization;
+		otherwise - exclusive canonicalization)
+</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
+		<a href="libxml-globals.html#xmlFree">xmlFree</a>() to free allocated memory 
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlC14NDocSave"></a>xmlC14NDocSave ()</h3><pre class="programlisting">int         xmlC14NDocSave                  (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes,
+                                             int exclusive,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **inclusive_ns_prefixes,
+                                             int with_comments,
+                                             const char *filename,
+                                             int compression);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td> 		the 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>exclusive</tt></i>:</span></td><td>		the exclusive flag (0 - non-exclusive canonicalization;
+		otherwise - exclusive canonicalization)
+</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 requred): 
+			-1 - libxml default,
+			 0 - uncompressed, 
+			&gt;0 - compression level
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlC14NIsVisibleCallback"></a>xmlC14NIsVisibleCallback ()</h3><pre class="programlisting">int         (*xmlC14NIsVisibleCallback)     (void *user_data,
                                              <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
                                              <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent);</pre><p>
 
@@ -47,4 +148,31 @@
 </td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
 
 
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlC14NExecute"></a>xmlC14NExecute ()</h3><pre class="programlisting">int         xmlC14NExecute                  (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a> is_visible_callback,
+                                             void *user_data,
+                                             int exclusive,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **inclusive_ns_prefixes,
+                                             int with_comments,
+                                             <a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td> 		the 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 <i><tt>is_visible_callback</tt></i> function
+		(in most cases, it is nodes set)
+</td></tr><tr><td><span class="term"><i><tt>exclusive</tt></i>:</span></td><td>		the exclusive flag (0 - non-exclusive canonicalization;
+		otherwise - exclusive canonicalization)
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>non-negative value on success or a negative value on fail  
 </td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-parser.html"><b>&lt;&lt; parser</b></a></td><td align="right"><a accesskey="n" href="libxml-xmlerror.html"><b>xmlerror &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-catalog.html b/doc/html/libxml-catalog.html
index 0d56c8a..ab86fb4 100644
--- a/doc/html/libxml-catalog.html
+++ b/doc/html/libxml-catalog.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-valid.html" title="valid"><link rel="next" href="libxml-tree.html" title="tree"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-valid.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-tree.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-catalog"></a><div class="titlepage"></div><div class="refnamediv"><h2>catalog</h2><p>catalog &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2626461"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-valid.html" title="valid"><link rel="next" href="libxml-tree.html" title="tree"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-valid.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-tree.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-catalog"></a><div class="titlepage"></div><div class="refnamediv"><h2>catalog</h2><p>catalog &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2826948"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -38,6 +38,59 @@
 enum        <a href="libxml-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a>;
 struct      <a href="libxml-catalog.html#xmlCatalog">xmlCatalog</a>;
 typedef     <a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>;
+<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> <a href="libxml-catalog.html#xmlNewCatalog">xmlNewCatalog</a>                 (int sgml);
+<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> <a href="libxml-catalog.html#xmlLoadACatalog">xmlLoadACatalog</a>               (const char *filename);
+<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> <a href="libxml-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a>       (const char *filename);
+int         <a href="libxml-catalog.html#xmlConvertSGMLCatalog">xmlConvertSGMLCatalog</a>           (<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal);
+int         <a href="libxml-catalog.html#xmlACatalogAdd">xmlACatalogAdd</a>                  (<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *type,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *orig,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *replace);
+int         <a href="libxml-catalog.html#xmlACatalogRemove">xmlACatalogRemove</a>               (<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-catalog.html#xmlACatalogResolve">xmlACatalogResolve</a>              (<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysID);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-catalog.html#xmlACatalogResolveSystem">xmlACatalogResolveSystem</a>        (<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysID);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-catalog.html#xmlACatalogResolvePublic">xmlACatalogResolvePublic</a>        (<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubID);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-catalog.html#xmlACatalogResolveURI">xmlACatalogResolveURI</a>           (<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URI);
+void        <a href="libxml-catalog.html#xmlACatalogDump">xmlACatalogDump</a>                 (<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal,
+                                             <GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *out);
+void        <a href="libxml-catalog.html#xmlFreeCatalog">xmlFreeCatalog</a>                  (<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal);
+int         <a href="libxml-catalog.html#xmlCatalogIsEmpty">xmlCatalogIsEmpty</a>               (<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal);
+void        <a href="libxml-catalog.html#xmlInitializeCatalog">xmlInitializeCatalog</a>            (void);
+int         <a href="libxml-catalog.html#xmlLoadCatalog">xmlLoadCatalog</a>                  (const char *filename);
+void        <a href="libxml-catalog.html#xmlLoadCatalogs">xmlLoadCatalogs</a>                 (const char *paths);
+void        <a href="libxml-catalog.html#xmlCatalogCleanup">xmlCatalogCleanup</a>               (void);
+void        <a href="libxml-catalog.html#xmlCatalogDump">xmlCatalogDump</a>                  (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *out);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-catalog.html#xmlCatalogResolve">xmlCatalogResolve</a>               (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysID);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-catalog.html#xmlCatalogResolveSystem">xmlCatalogResolveSystem</a>         (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysID);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-catalog.html#xmlCatalogResolvePublic">xmlCatalogResolvePublic</a>         (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubID);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-catalog.html#xmlCatalogResolveURI">xmlCatalogResolveURI</a>            (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URI);
+int         <a href="libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a>                   (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *type,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *orig,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *replace);
+int         <a href="libxml-catalog.html#xmlCatalogRemove">xmlCatalogRemove</a>                (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-catalog.html#xmlParseCatalogFile">xmlParseCatalogFile</a>             (const char *filename);
+int         <a href="libxml-catalog.html#xmlCatalogConvert">xmlCatalogConvert</a>               (void);
+void        <a href="libxml-catalog.html#xmlCatalogFreeLocal">xmlCatalogFreeLocal</a>             (void *catalogs);
+void*       <a href="libxml-catalog.html#xmlCatalogAddLocal">xmlCatalogAddLocal</a>              (void *catalogs,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URL);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-catalog.html#xmlCatalogLocalResolve">xmlCatalogLocalResolve</a>          (void *catalogs,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysID);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-catalog.html#xmlCatalogLocalResolveURI">xmlCatalogLocalResolveURI</a>       (void *catalogs,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URI);
+int         <a href="libxml-catalog.html#xmlCatalogSetDebug">xmlCatalogSetDebug</a>              (int level);
+<a href="libxml-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a> <a href="libxml-catalog.html#xmlCatalogSetDefaultPrefer">xmlCatalogSetDefaultPrefer</a> (<a href="libxml-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a> prefer);
+void        <a href="libxml-catalog.html#xmlCatalogSetDefaults">xmlCatalogSetDefaults</a>           (<a href="libxml-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a> allow);
+<a href="libxml-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a> <a href="libxml-catalog.html#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a>       (void);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-catalog.html#xmlCatalogGetSystem">xmlCatalogGetSystem</a>          (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysID);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-catalog.html#xmlCatalogGetPublic">xmlCatalogGetPublic</a>          (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubID);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="XML-CATALOGS-NAMESPACE-CAPS"></a>XML_CATALOGS_NAMESPACE</h3><pre class="programlisting">#define     XML_CATALOGS_NAMESPACE</pre><p>
@@ -66,4 +119,244 @@
 </p></div><hr><div class="refsect2"><h3><a name="xmlCatalogPtr"></a>xmlCatalogPtr</h3><pre class="programlisting">typedef xmlCatalog *xmlCatalogPtr;
 </pre><p>
 
-</p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-valid.html"><b>&lt;&lt; valid</b></a></td><td align="right"><a accesskey="n" href="libxml-tree.html"><b>tree &gt;&gt;</b></a></td></tr></table></body></html>
+</p></div><hr><div class="refsect2"><h3><a name="xmlNewCatalog"></a>xmlNewCatalog ()</h3><pre class="programlisting"><a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> xmlNewCatalog                 (int sgml);</pre><p>
+create a new Catalog.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlCatalogPtr or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlLoadACatalog"></a>xmlLoadACatalog ()</h3><pre class="programlisting"><a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> xmlLoadACatalog               (const char *filename);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  a file path
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the catalog parsed or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlLoadSGMLSuperCatalog"></a>xmlLoadSGMLSuperCatalog ()</h3><pre class="programlisting"><a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> xmlLoadSGMLSuperCatalog       (const char *filename);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  a file path
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the catalog parsed or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlConvertSGMLCatalog"></a>xmlConvertSGMLCatalog ()</h3><pre class="programlisting">int         xmlConvertSGMLCatalog           (<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal);</pre><p>
+Convert all the SGML catalog entries as XML ones</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of entries converted if successful, -1 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlACatalogAdd"></a>xmlACatalogAdd ()</h3><pre class="programlisting">int         xmlACatalogAdd                  (<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *type,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *orig,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *replace);</pre><p>
+Add an entry in the catalog, it may overwrite existing but
+different entries.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 if successful, -1 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlACatalogRemove"></a>xmlACatalogRemove ()</h3><pre class="programlisting">int         xmlACatalogRemove               (<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
+Remove an entry from the catalog</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of entries removed if successful, -1 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlACatalogResolve"></a>xmlACatalogResolve ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlACatalogResolve              (<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysID);</pre><p>
+Do a complete resolution lookup of an External Identifier</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlACatalogResolveSystem"></a>xmlACatalogResolveSystem ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlACatalogResolveSystem        (<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysID);</pre><p>
+Try to lookup the catalog resource for a system ID</p><p>
+
+</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 public ID string
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the system ID if found or NULL otherwise, the value returned
+     must be freed by the caller.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlACatalogResolvePublic"></a>xmlACatalogResolvePublic ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlACatalogResolvePublic        (<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubID);</pre><p>
+Try to lookup the system ID associated to a public ID in that catalog</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the system ID if found or NULL otherwise, the value returned
+     must be freed by the caller.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlACatalogResolveURI"></a>xmlACatalogResolveURI ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlACatalogResolveURI           (<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URI);</pre><p>
+Do a complete resolution lookup of an URI</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlACatalogDump"></a>xmlACatalogDump ()</h3><pre class="programlisting">void        xmlACatalogDump                 (<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal,
+                                             <GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *out);</pre><p>
+Free up all the memory associated with catalogs</p><p>
+
+</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"><h3><a name="xmlFreeCatalog"></a>xmlFreeCatalog ()</h3><pre class="programlisting">void        xmlFreeCatalog                  (<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal);</pre><p>
+Free the memory allocated to a Catalog</p><p>
+
+</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 entry
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCatalogIsEmpty"></a>xmlCatalogIsEmpty ()</h3><pre class="programlisting">int         xmlCatalogIsEmpty               (<a href="libxml-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal);</pre><p>
+Check is a catalog is empty</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlInitializeCatalog"></a>xmlInitializeCatalog ()</h3><pre class="programlisting">void        xmlInitializeCatalog            (void);</pre><p>
+Do the catalog initialization.
+this function is not thread safe, catalog initialization should
+preferably be done once at startup</p><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlLoadCatalog"></a>xmlLoadCatalog ()</h3><pre class="programlisting">int         xmlLoadCatalog                  (const char *filename);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  a file path
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlLoadCatalogs"></a>xmlLoadCatalogs ()</h3><pre class="programlisting">void        xmlLoadCatalogs                 (const char *paths);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>paths</tt></i>:</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCatalogCleanup"></a>xmlCatalogCleanup ()</h3><pre class="programlisting">void        xmlCatalogCleanup               (void);</pre><p>
+Free up all the memory associated with catalogs</p><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlCatalogDump"></a>xmlCatalogDump ()</h3><pre class="programlisting">void        xmlCatalogDump                  (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *out);</pre><p>
+Free up all the memory associated with catalogs</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>  the file.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCatalogResolve"></a>xmlCatalogResolve ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlCatalogResolve               (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysID);</pre><p>
+Do a complete resolution lookup of an External Identifier</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlCatalogResolveSystem"></a>xmlCatalogResolveSystem ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlCatalogResolveSystem         (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysID);</pre><p>
+Try to lookup the catalog resource for a system ID</p><p>
+
+</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 public ID string
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the system ID if found or NULL otherwise, the value returned
+     must be freed by the caller.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCatalogResolvePublic"></a>xmlCatalogResolvePublic ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlCatalogResolvePublic         (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubID);</pre><p>
+Try to lookup the system ID associated to a public ID</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the system ID if found or NULL otherwise, the value returned
+     must be freed by the caller.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCatalogResolveURI"></a>xmlCatalogResolveURI ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlCatalogResolveURI            (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URI);</pre><p>
+Do a complete resolution lookup of an URI</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlCatalogAdd"></a>xmlCatalogAdd ()</h3><pre class="programlisting">int         xmlCatalogAdd                   (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *type,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *orig,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *replace);</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 <a href="libxml-catalog.html#xmlInitializeCatalog">xmlInitializeCatalog</a>();</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 if successful, -1 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCatalogRemove"></a>xmlCatalogRemove ()</h3><pre class="programlisting">int         xmlCatalogRemove                (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
+Remove an entry from the catalog</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>  the value to remove
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of entries removed if successful, -1 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseCatalogFile"></a>xmlParseCatalogFile ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlParseCatalogFile             (const char *filename);</pre><p>
+parse an XML file and build a tree. It's like <a href="libxml-parser.html#xmlParseFile">xmlParseFile</a>()
+except it bypass all catalog lookups.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the filename
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCatalogConvert"></a>xmlCatalogConvert ()</h3><pre class="programlisting">int         xmlCatalogConvert               (void);</pre><p>
+Convert all the SGML catalog entries as XML ones</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of entries converted if successful, -1 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCatalogFreeLocal"></a>xmlCatalogFreeLocal ()</h3><pre class="programlisting">void        xmlCatalogFreeLocal             (void *catalogs);</pre><p>
+Free up the memory associated to the catalog list</p><p>
+
+</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"><h3><a name="xmlCatalogAddLocal"></a>xmlCatalogAddLocal ()</h3><pre class="programlisting">void*       xmlCatalogAddLocal              (void *catalogs,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URL);</pre><p>
+Add the new entry to the catalog list</p><p>
+
+</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></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCatalogLocalResolve"></a>xmlCatalogLocalResolve ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlCatalogLocalResolve          (void *catalogs,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysID);</pre><p>
+Do a complete resolution lookup of an External Identifier using a 
+document's private catalog list</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlCatalogLocalResolveURI"></a>xmlCatalogLocalResolveURI ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlCatalogLocalResolveURI       (void *catalogs,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URI);</pre><p>
+Do a complete resolution lookup of an URI using a 
+document's private catalog list</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlCatalogSetDebug"></a>xmlCatalogSetDebug ()</h3><pre class="programlisting">int         xmlCatalogSetDebug              (int level);</pre><p>
+Used to set the debug level for catalog operation, 0 disable
+debugging, 1 enable it</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the previous value of the catalog debugging level
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCatalogSetDefaultPrefer"></a>xmlCatalogSetDefaultPrefer ()</h3><pre class="programlisting"><a href="libxml-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a> xmlCatalogSetDefaultPrefer (<a href="libxml-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a> prefer);</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 XML_CATA_PREFER_PUBLIC or XML_CATA_PREFER_SYSTEM</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the previous value of the default preference for delegation
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCatalogSetDefaults"></a>xmlCatalogSetDefaults ()</h3><pre class="programlisting">void        xmlCatalogSetDefaults           (<a href="libxml-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a> allow);</pre><p>
+Used to set the user preference w.r.t. to what catalogs should
+be accepted</p><p>
+
+</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"><h3><a name="xmlCatalogGetDefaults"></a>xmlCatalogGetDefaults ()</h3><pre class="programlisting"><a href="libxml-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a> xmlCatalogGetDefaults       (void);</pre><p>
+Used to get the user preference w.r.t. to what catalogs should
+be accepted</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the current xmlCatalogAllow value
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCatalogGetSystem"></a>xmlCatalogGetSystem ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlCatalogGetSystem          (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysID);</pre><p>
+Try to lookup the system ID associated to a public ID
+DEPRECATED, use <a href="libxml-catalog.html#xmlCatalogResolveSystem">xmlCatalogResolveSystem</a>()</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the system ID if found or NULL otherwise.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCatalogGetPublic"></a>xmlCatalogGetPublic ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlCatalogGetPublic          (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubID);</pre><p>
+Try to lookup the system ID associated to a public ID
+DEPRECATED, use <a href="libxml-catalog.html#xmlCatalogResolvePublic">xmlCatalogResolvePublic</a>()</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the system ID if found or NULL otherwise.
+</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-valid.html"><b>&lt;&lt; valid</b></a></td><td align="right"><a accesskey="n" href="libxml-tree.html"><b>tree &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-chvalid.html b/doc/html/libxml-chvalid.html
index 6ea884b..e4a722c 100644
--- a/doc/html/libxml-chvalid.html
+++ b/doc/html/libxml-chvalid.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xpath.html" title="xpath"><link rel="next" href="libxml-uri.html" title="uri"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xpath.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-uri.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-chvalid"></a><div class="titlepage"></div><div class="refnamediv"><h2>chvalid</h2><p>chvalid &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2587244"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-SAX.html" title="SAX"><link rel="next" href="libxml-uri.html" title="uri"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-SAX.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-uri.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-chvalid"></a><div class="titlepage"></div><div class="refnamediv"><h2>chvalid</h2><p>chvalid &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2654349"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -38,6 +38,8 @@
 typedef     <a href="libxml-chvalid.html#xmlChLRangePtr">xmlChLRangePtr</a>;
 struct      <a href="libxml-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a>;
 typedef     <a href="libxml-chvalid.html#xmlChRangeGroupPtr">xmlChRangeGroupPtr</a>;
+int         <a href="libxml-chvalid.html#xmlCharInRange">xmlCharInRange</a>                  (unsigned int val,
+                                             const <a href="libxml-chvalid.html#xmlChRangeGroupPtr">xmlChRangeGroupPtr</a> group);
 #define     <a href="libxml-chvalid.html#xmlIsBaseChar-ch">xmlIsBaseChar_ch</a>                (c)
 #define     <a href="libxml-chvalid.html#xmlIsBaseCharQ">xmlIsBaseCharQ</a>                  (c)
 extern      xmlChRangeGroup <a href="libxml-chvalid.html#xmlIsBaseCharGroup">xmlIsBaseCharGroup</a>;
@@ -58,6 +60,14 @@
 extern      xmlChRangeGroup <a href="libxml-chvalid.html#xmlIsIdeographicGroup">xmlIsIdeographicGroup</a>;
 #define     <a href="libxml-chvalid.html#xmlIsPubidChar-ch">xmlIsPubidChar_ch</a>               (c)
 #define     <a href="libxml-chvalid.html#xmlIsPubidCharQ">xmlIsPubidCharQ</a>                 (c)
+int         <a href="libxml-chvalid.html#xmlIsBaseChar">xmlIsBaseChar</a>                   (unsigned int ch);
+int         <a href="libxml-chvalid.html#xmlIsBlank">xmlIsBlank</a>                      (unsigned int ch);
+int         <a href="libxml-chvalid.html#xmlIsChar">xmlIsChar</a>                       (unsigned int ch);
+int         <a href="libxml-chvalid.html#xmlIsCombining">xmlIsCombining</a>                  (unsigned int ch);
+int         <a href="libxml-chvalid.html#xmlIsDigit">xmlIsDigit</a>                      (unsigned int ch);
+int         <a href="libxml-chvalid.html#xmlIsExtender">xmlIsExtender</a>                   (unsigned int ch);
+int         <a href="libxml-chvalid.html#xmlIsIdeographic">xmlIsIdeographic</a>                (unsigned int ch);
+int         <a href="libxml-chvalid.html#xmlIsPubidChar">xmlIsPubidChar</a>                  (unsigned int ch);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlChSRange"></a>struct xmlChSRange</h3><pre class="programlisting">struct xmlChSRange {
@@ -92,7 +102,15 @@
 </p></div><hr><div class="refsect2"><h3><a name="xmlChRangeGroupPtr"></a>xmlChRangeGroupPtr</h3><pre class="programlisting">typedef xmlChRangeGroup *xmlChRangeGroupPtr;
 </pre><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="xmlIsBaseChar-ch"></a>xmlIsBaseChar_ch()</h3><pre class="programlisting">#define     xmlIsBaseChar_ch(c)</pre><p>
+</p></div><hr><div class="refsect2"><h3><a name="xmlCharInRange"></a>xmlCharInRange ()</h3><pre class="programlisting">int         xmlCharInRange                  (unsigned int val,
+                                             const <a href="libxml-chvalid.html#xmlChRangeGroupPtr">xmlChRangeGroupPtr</a> group);</pre><p>
+Does a binary search of the range table to determine if char
+is valid</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td> character to be validated
+</td></tr><tr><td><span class="term"><i><tt>group</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td> true if character valid, false otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIsBaseChar-ch"></a>xmlIsBaseChar_ch()</h3><pre class="programlisting">#define     xmlIsBaseChar_ch(c)</pre><p>
 Automatically generated by genChRanges.py</p><p>
 
 </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
@@ -169,4 +187,52 @@
 Automatically generated by genChRanges.py</p><p>
 
 </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></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xpath.html"><b>&lt;&lt; xpath</b></a></td><td align="right"><a accesskey="n" href="libxml-uri.html"><b>uri &gt;&gt;</b></a></td></tr></table></body></html>
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIsBaseChar"></a>xmlIsBaseChar ()</h3><pre class="programlisting">int         xmlIsBaseChar                   (unsigned int ch);</pre><p>
+This function is DEPRECATED.  Use xmlIsBaseChar_ch
+or xmlIsBaseCharQ instead</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>true if argument valid, false otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIsBlank"></a>xmlIsBlank ()</h3><pre class="programlisting">int         xmlIsBlank                      (unsigned int ch);</pre><p>
+This function is DEPRECATED.  Use xmlIsBlank_ch
+or xmlIsBlankQ instead</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>true if argument valid, false otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIsChar"></a>xmlIsChar ()</h3><pre class="programlisting">int         xmlIsChar                       (unsigned int ch);</pre><p>
+This function is DEPRECATED.  Use xmlIsChar_ch
+or xmlIsCharQ instead</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>true if argument valid, false otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIsCombining"></a>xmlIsCombining ()</h3><pre class="programlisting">int         xmlIsCombining                  (unsigned int ch);</pre><p>
+This function is DEPRECATED.  Use xmlIsCombining_ch
+or xmlIsCombiningQ instead</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>true if argument valid, false otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIsDigit"></a>xmlIsDigit ()</h3><pre class="programlisting">int         xmlIsDigit                      (unsigned int ch);</pre><p>
+This function is DEPRECATED.  Use xmlIsDigit_ch
+or xmlIsDigitQ instead</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>true if argument valid, false otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIsExtender"></a>xmlIsExtender ()</h3><pre class="programlisting">int         xmlIsExtender                   (unsigned int ch);</pre><p>
+This function is DEPRECATED.  Use xmlIsExtender_ch
+or xmlIsExtenderQ instead</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>true if argument valid, false otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIsIdeographic"></a>xmlIsIdeographic ()</h3><pre class="programlisting">int         xmlIsIdeographic                (unsigned int ch);</pre><p>
+This function is DEPRECATED.  Use xmlIsIdeographic_ch
+or xmlIsIdeographicQ instead</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>true if argument valid, false otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIsPubidChar"></a>xmlIsPubidChar ()</h3><pre class="programlisting">int         xmlIsPubidChar                  (unsigned int ch);</pre><p>
+This function is DEPRECATED.  Use xmlIsPubidChar_ch
+or xmlIsPubidCharQ instead</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>true if argument valid, false otherwise
+</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-SAX.html"><b>&lt;&lt; SAX</b></a></td><td align="right"><a accesskey="n" href="libxml-uri.html"><b>uri &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-debugXML.html b/doc/html/libxml-debugXML.html
index a713a7d..23dfa7b 100644
--- a/doc/html/libxml-debugXML.html
+++ b/doc/html/libxml-debugXML.html
@@ -28,10 +28,39 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xmlreader.html" title="xmlreader"><link rel="next" href="libxml-xmlwriter.html" title="xmlwriter"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlreader.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-xmlwriter.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-debugXML"></a><div class="titlepage"></div><div class="refnamediv"><h2>debugXML</h2><p>debugXML &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2590102"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xmlreader.html" title="xmlreader"><link rel="next" href="libxml-xmlwriter.html" title="xmlwriter"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlreader.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-xmlwriter.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-debugXML"></a><div class="titlepage"></div><div class="refnamediv"><h2>debugXML</h2><p>debugXML &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2607966"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
+void        <a href="libxml-debugXML.html#xmlDebugDumpString">xmlDebugDumpString</a>              (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);
+void        <a href="libxml-debugXML.html#xmlDebugDumpAttr">xmlDebugDumpAttr</a>                (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr,
+                                             int depth);
+void        <a href="libxml-debugXML.html#xmlDebugDumpAttrList">xmlDebugDumpAttrList</a>            (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr,
+                                             int depth);
+void        <a href="libxml-debugXML.html#xmlDebugDumpOneNode">xmlDebugDumpOneNode</a>             (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             int depth);
+void        <a href="libxml-debugXML.html#xmlDebugDumpNode">xmlDebugDumpNode</a>                (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             int depth);
+void        <a href="libxml-debugXML.html#xmlDebugDumpNodeList">xmlDebugDumpNodeList</a>            (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             int depth);
+void        <a href="libxml-debugXML.html#xmlDebugDumpDocumentHead">xmlDebugDumpDocumentHead</a>        (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+void        <a href="libxml-debugXML.html#xmlDebugDumpDocument">xmlDebugDumpDocument</a>            (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+void        <a href="libxml-debugXML.html#xmlDebugDumpDTD">xmlDebugDumpDTD</a>                 (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);
+void        <a href="libxml-debugXML.html#xmlDebugDumpEntities">xmlDebugDumpEntities</a>            (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+void        <a href="libxml-debugXML.html#xmlLsOneNode">xmlLsOneNode</a>                    (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+int         <a href="libxml-debugXML.html#xmlLsCountNode">xmlLsCountNode</a>                  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+const char* <a href="libxml-debugXML.html#xmlBoolToText">xmlBoolToText</a>                   (int boolval);
 char*       (<a href="libxml-debugXML.html#xmlShellReadlineFunc">*xmlShellReadlineFunc</a>)         (char *prompt);
 struct      <a href="libxml-debugXML.html#xmlShellCtxt">xmlShellCtxt</a>;
 typedef     <a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a>;
@@ -39,9 +68,143 @@
                                              char *arg,
                                              <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
                                              <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
+void        <a href="libxml-debugXML.html#xmlShellPrintXPathError">xmlShellPrintXPathError</a>         (int errorType,
+                                             const char *arg);
+void        <a href="libxml-debugXML.html#xmlShellPrintNode">xmlShellPrintNode</a>               (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+void        <a href="libxml-debugXML.html#xmlShellPrintXPathResult">xmlShellPrintXPathResult</a>        (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> list);
+int         <a href="libxml-debugXML.html#xmlShellList">xmlShellList</a>                    (<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt,
+                                             char *arg,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
+int         <a href="libxml-debugXML.html#xmlShellBase">xmlShellBase</a>                    (<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt,
+                                             char *arg,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
+int         <a href="libxml-debugXML.html#xmlShellDir">xmlShellDir</a>                     (<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt,
+                                             char *arg,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
+int         <a href="libxml-debugXML.html#xmlShellCat">xmlShellCat</a>                     (<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt,
+                                             char *arg,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
+int         <a href="libxml-debugXML.html#xmlShellLoad">xmlShellLoad</a>                    (<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt,
+                                             char *filename,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
+int         <a href="libxml-debugXML.html#xmlShellWrite">xmlShellWrite</a>                   (<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt,
+                                             char *filename,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
+int         <a href="libxml-debugXML.html#xmlShellSave">xmlShellSave</a>                    (<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt,
+                                             char *filename,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
+int         <a href="libxml-debugXML.html#xmlShellValidate">xmlShellValidate</a>                (<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt,
+                                             char *dtd,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
+int         <a href="libxml-debugXML.html#xmlShellDu">xmlShellDu</a>                      (<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt,
+                                             char *arg,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
+int         <a href="libxml-debugXML.html#xmlShellPwd">xmlShellPwd</a>                     (<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt,
+                                             char *buffer,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
+void        <a href="libxml-debugXML.html#xmlShell">xmlShell</a>                        (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             char *filename,
+                                             <a href="libxml-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a> input,
+                                             <GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
-</p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlShellReadlineFunc"></a>xmlShellReadlineFunc ()</h3><pre class="programlisting">char*       (*xmlShellReadlineFunc)         (char *prompt);</pre><p>
+</p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlDebugDumpString"></a>xmlDebugDumpString ()</h3><pre class="programlisting">void        xmlDebugDumpString              (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);</pre><p>
+Dumps informations about the string, shorten it if necessary</p><p>
+
+</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"><h3><a name="xmlDebugDumpAttr"></a>xmlDebugDumpAttr ()</h3><pre class="programlisting">void        xmlDebugDumpAttr                (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr,
+                                             int depth);</pre><p>
+Dumps debug information for the attribute</p><p>
+
+</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 attribute
+</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"><h3><a name="xmlDebugDumpAttrList"></a>xmlDebugDumpAttrList ()</h3><pre class="programlisting">void        xmlDebugDumpAttrList            (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr,
+                                             int depth);</pre><p>
+Dumps debug information for the attribute list</p><p>
+
+</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 attribute 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"><h3><a name="xmlDebugDumpOneNode"></a>xmlDebugDumpOneNode ()</h3><pre class="programlisting">void        xmlDebugDumpOneNode             (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             int depth);</pre><p>
+Dumps debug information for the element node, it is not recursive</p><p>
+
+</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"><h3><a name="xmlDebugDumpNode"></a>xmlDebugDumpNode ()</h3><pre class="programlisting">void        xmlDebugDumpNode                (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             int depth);</pre><p>
+Dumps debug information for the element node, it is recursive</p><p>
+
+</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"><h3><a name="xmlDebugDumpNodeList"></a>xmlDebugDumpNodeList ()</h3><pre class="programlisting">void        xmlDebugDumpNodeList            (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             int depth);</pre><p>
+Dumps debug information for the list of element node, it is recursive</p><p>
+
+</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"><h3><a name="xmlDebugDumpDocumentHead"></a>xmlDebugDumpDocumentHead ()</h3><pre class="programlisting">void        xmlDebugDumpDocumentHead        (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
+Dumps debug information cncerning the document, not recursive</p><p>
+
+</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"><h3><a name="xmlDebugDumpDocument"></a>xmlDebugDumpDocument ()</h3><pre class="programlisting">void        xmlDebugDumpDocument            (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
+Dumps debug information for the document, it's recursive</p><p>
+
+</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"><h3><a name="xmlDebugDumpDTD"></a>xmlDebugDumpDTD ()</h3><pre class="programlisting">void        xmlDebugDumpDTD                 (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);</pre><p>
+Dumps debug information for the DTD</p><p>
+
+</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"><h3><a name="xmlDebugDumpEntities"></a>xmlDebugDumpEntities ()</h3><pre class="programlisting">void        xmlDebugDumpEntities            (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
+Dumps debug information for all the entities in use by the document</p><p>
+
+</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"><h3><a name="xmlLsOneNode"></a>xmlLsOneNode ()</h3><pre class="programlisting">void        xmlLsOneNode                    (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
+Dump to <i><tt>output</tt></i> the type and name of <i><tt>node</tt></i>.</p><p>
+
+</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"><h3><a name="xmlLsCountNode"></a>xmlLsCountNode ()</h3><pre class="programlisting">int         xmlLsCountNode                  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
+Count the children of <i><tt>node</tt></i>.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of children of <i><tt>node</tt></i>.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlBoolToText"></a>xmlBoolToText ()</h3><pre class="programlisting">const char* xmlBoolToText                   (int boolval);</pre><p>
+Convenient way to turn bool into text</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to either "True" or "False"
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlShellReadlineFunc"></a>xmlShellReadlineFunc ()</h3><pre class="programlisting">char*       (*xmlShellReadlineFunc)         (char *prompt);</pre><p>
 This is a generic signature for the XML shell input function.</p><p>
 
 </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
@@ -74,4 +237,155 @@
 </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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>an int, negative returns indicating errors.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlShellPrintXPathError"></a>xmlShellPrintXPathError ()</h3><pre class="programlisting">void        xmlShellPrintXPathError         (int errorType,
+                                             const char *arg);</pre><p>
+Print the xpath error to libxml default error channel</p><p>
+
+</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"><h3><a name="xmlShellPrintNode"></a>xmlShellPrintNode ()</h3><pre class="programlisting">void        xmlShellPrintNode               (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
+Print node to the output FILE</p><p>
+
+</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"><h3><a name="xmlShellPrintXPathResult"></a>xmlShellPrintXPathResult ()</h3><pre class="programlisting">void        xmlShellPrintXPathResult        (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> list);</pre><p>
+Prints result to the output FILE</p><p>
+
+</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"><h3><a name="xmlShellList"></a>xmlShellList ()</h3><pre class="programlisting">int         xmlShellList                    (<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt,
+                                             char *arg,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);</pre><p>
+Implements the XML shell function "ls"
+Does an Unix like listing of the given node (like a directory)</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlShellBase"></a>xmlShellBase ()</h3><pre class="programlisting">int         xmlShellBase                    (<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt,
+                                             char *arg,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);</pre><p>
+Implements the XML shell function "base"
+dumps the current XML base of the node</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlShellDir"></a>xmlShellDir ()</h3><pre class="programlisting">int         xmlShellDir                     (<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt,
+                                             char *arg,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);</pre><p>
+Implements the XML shell function "dir"
+dumps informations about the node (namespace, attributes, content).</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlShellCat"></a>xmlShellCat ()</h3><pre class="programlisting">int         xmlShellCat                     (<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt,
+                                             char *arg,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);</pre><p>
+Implements the XML shell function "cat"
+dumps the serialization node content (XML or HTML).</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlShellLoad"></a>xmlShellLoad ()</h3><pre class="programlisting">int         xmlShellLoad                    (<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt,
+                                             char *filename,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);</pre><p>
+Implements the XML shell function "load"
+loads a new document specified by the filename</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 or -1 if loading failed
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlShellWrite"></a>xmlShellWrite ()</h3><pre class="programlisting">int         xmlShellWrite                   (<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt,
+                                             char *filename,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);</pre><p>
+Implements the XML shell function "write"
+Write the current node to the filename, it saves the serialization
+of the subtree under the <i><tt>node</tt></i> specified</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 or -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlShellSave"></a>xmlShellSave ()</h3><pre class="programlisting">int         xmlShellSave                    (<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt,
+                                             char *filename,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);</pre><p>
+Implements the XML shell function "save"
+Write the current document to the filename, or it's original name</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 or -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlShellValidate"></a>xmlShellValidate ()</h3><pre class="programlisting">int         xmlShellValidate                (<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt,
+                                             char *dtd,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 or -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlShellDu"></a>xmlShellDu ()</h3><pre class="programlisting">int         xmlShellDu                      (<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt,
+                                             char *arg,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);</pre><p>
+Implements the XML shell function "du"
+show the structure of the subtree under node <i><tt>tree</tt></i>
+If <i><tt>tree</tt></i> is null, the command works on the current node.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 or -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlShellPwd"></a>xmlShellPwd ()</h3><pre class="programlisting">int         xmlShellPwd                     (<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt,
+                                             char *buffer,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 or -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlShell"></a>xmlShell ()</h3><pre class="programlisting">void        xmlShell                        (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             char *filename,
+                                             <a href="libxml-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a> input,
+                                             <GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xmlreader.html"><b>&lt;&lt; xmlreader</b></a></td><td align="right"><a accesskey="n" href="libxml-xmlwriter.html"><b>xmlwriter &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-dict.html b/doc/html/libxml-dict.html
index 75bd779..b67319e 100644
--- a/doc/html/libxml-dict.html
+++ b/doc/html/libxml-dict.html
@@ -28,12 +28,24 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-DOCBparser.html" title="DOCBparser"><link rel="next" href="libxml-xmlautomata.html" title="xmlautomata"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-DOCBparser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-xmlautomata.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-dict"></a><div class="titlepage"></div><div class="refnamediv"><h2>dict</h2><p>dict &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2682251"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-DOCBparser.html" title="DOCBparser"><link rel="next" href="libxml-xmlautomata.html" title="xmlautomata"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-DOCBparser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-xmlautomata.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-dict"></a><div class="titlepage"></div><div class="refnamediv"><h2>dict</h2><p>dict &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2644652"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
 struct      <a href="libxml-dict.html#xmlDict">xmlDict</a>;
 typedef     <a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a>;
+<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a>  <a href="libxml-dict.html#xmlDictCreate">xmlDictCreate</a>                   (void);
+int         <a href="libxml-dict.html#xmlDictReference">xmlDictReference</a>                (<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
+void        <a href="libxml-dict.html#xmlDictFree">xmlDictFree</a>                     (<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-dict.html#xmlDictLookup">xmlDictLookup</a>                (<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             int len);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-dict.html#xmlDictQLookup">xmlDictQLookup</a>               (<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+int         <a href="libxml-dict.html#xmlDictOwns">xmlDictOwns</a>                     (<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);
+int         <a href="libxml-dict.html#xmlDictSize">xmlDictSize</a>                     (<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlDict"></a>struct xmlDict</h3><pre class="programlisting">struct xmlDict;</pre><p>
@@ -41,4 +53,50 @@
 </p></div><hr><div class="refsect2"><h3><a name="xmlDictPtr"></a>xmlDictPtr</h3><pre class="programlisting">typedef xmlDict *xmlDictPtr;
 </pre><p>
 
-</p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-DOCBparser.html"><b>&lt;&lt; DOCBparser</b></a></td><td align="right"><a accesskey="n" href="libxml-xmlautomata.html"><b>xmlautomata &gt;&gt;</b></a></td></tr></table></body></html>
+</p></div><hr><div class="refsect2"><h3><a name="xmlDictCreate"></a>xmlDictCreate ()</h3><pre class="programlisting"><a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a>  xmlDictCreate                   (void);</pre><p>
+Create a new dictionary</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object, or NULL if an error occured.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlDictReference"></a>xmlDictReference ()</h3><pre class="programlisting">int         xmlDictReference                (<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict);</pre><p>
+Increment the reference counter of a dictionary</p><p>
+
+</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 dictionnary
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success and -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlDictFree"></a>xmlDictFree ()</h3><pre class="programlisting">void        xmlDictFree                     (<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict);</pre><p>
+Free the hash <i><tt>dict</tt></i> and its contents. The userdata is
+deallocated with <i><tt>f</tt></i> if provided.</p><p>
+
+</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 dictionnary
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlDictLookup"></a>xmlDictLookup ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlDictLookup                (<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             int len);</pre><p>
+Add the <i><tt>name</tt></i> to the hash <i><tt>dict</tt></i> if not present.</p><p>
+
+</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 dictionnary
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlDictQLookup"></a>xmlDictQLookup ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlDictQLookup               (<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Add the QName <i><tt>prefix</tt></i>:<i><tt>name</tt></i> to the hash <i><tt>dict</tt></i> if not present.</p><p>
+
+</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 dictionnary
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlDictOwns"></a>xmlDictOwns ()</h3><pre class="programlisting">int         xmlDictOwns                     (<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);</pre><p>
+check if a string is owned by the disctionary</p><p>
+
+</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 dictionnary
+</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td> the string
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlDictSize"></a>xmlDictSize ()</h3><pre class="programlisting">int         xmlDictSize                     (<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict);</pre><p>
+Query the number of elements installed in the hash <i><tt>dict</tt></i>.</p><p>
+
+</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 dictionnary
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of elements in the dictionnary or
+-1 in case of error
+</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-DOCBparser.html"><b>&lt;&lt; DOCBparser</b></a></td><td align="right"><a accesskey="n" href="libxml-xmlautomata.html"><b>xmlautomata &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-encoding.html b/doc/html/libxml-encoding.html
index 67ec830..26e43a0 100644
--- a/doc/html/libxml-encoding.html
+++ b/doc/html/libxml-encoding.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-wsockcompat.html" title="wsockcompat"><link rel="next" href="libxml-xmlregexp.html" title="xmlregexp"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-wsockcompat.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-xmlregexp.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-encoding"></a><div class="titlepage"></div><div class="refnamediv"><h2>encoding</h2><p>encoding &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2614988"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-wsockcompat.html" title="wsockcompat"><link rel="next" href="libxml-xmlregexp.html" title="xmlregexp"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-wsockcompat.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-xmlregexp.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-encoding"></a><div class="titlepage"></div><div class="refnamediv"><h2>encoding</h2><p>encoding &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2586513"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -43,6 +43,62 @@
                                              int *inlen);
 struct      <a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a>;
 typedef     <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>;
+void        <a href="libxml-encoding.html#xmlInitCharEncodingHandlers">xmlInitCharEncodingHandlers</a>     (void);
+void        <a href="libxml-encoding.html#xmlCleanupCharEncodingHandlers">xmlCleanupCharEncodingHandlers</a>  (void);
+void        <a href="libxml-encoding.html#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a>  (<a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);
+<a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> <a href="libxml-encoding.html#xmlGetCharEncodingHandler">xmlGetCharEncodingHandler</a>
+                                            (<a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> <a href="libxml-encoding.html#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a>
+                                            (const char *name);
+<a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> <a href="libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a>
+                                            (const char *name,
+                                             <a href="libxml-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a> input,
+                                             <a href="libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> output);
+int         <a href="libxml-encoding.html#xmlAddEncodingAlias">xmlAddEncodingAlias</a>             (const char *name,
+                                             const char *alias);
+int         <a href="libxml-encoding.html#xmlDelEncodingAlias">xmlDelEncodingAlias</a>             (const char *alias);
+const char* <a href="libxml-encoding.html#xmlGetEncodingAlias">xmlGetEncodingAlias</a>             (const char *alias);
+void        <a href="libxml-encoding.html#xmlCleanupEncodingAliases">xmlCleanupEncodingAliases</a>       (void);
+<a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> <a href="libxml-encoding.html#xmlParseCharEncoding">xmlParseCharEncoding</a>        (const char *name);
+const char* <a href="libxml-encoding.html#xmlGetCharEncodingName">xmlGetCharEncodingName</a>          (<a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> <a href="libxml-encoding.html#xmlDetectCharEncoding">xmlDetectCharEncoding</a>       (unsigned char *in,
+                                             int len);
+int         <a href="libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a>               (<a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> *handler,
+                                             <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> out,
+                                             <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> in);
+int         <a href="libxml-encoding.html#xmlCharEncInFunc">xmlCharEncInFunc</a>                (<a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> *handler,
+                                             <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> out,
+                                             <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> in);
+int         <a href="libxml-encoding.html#xmlCharEncFirstLine">xmlCharEncFirstLine</a>             (<a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> *handler,
+                                             <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> out,
+                                             <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> in);
+int         <a href="libxml-encoding.html#xmlCharEncCloseFunc">xmlCharEncCloseFunc</a>             (<a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> *handler);
+int         <a href="libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a>                   (unsigned char *out,
+                                             int *outlen,
+                                             unsigned char *in,
+                                             int *inlen);
+int         <a href="libxml-encoding.html#isolat1ToUTF8">isolat1ToUTF8</a>                   (unsigned char *out,
+                                             int *outlen,
+                                             unsigned char *in,
+                                             int *inlen);
+int         <a href="libxml-encoding.html#xmlGetUTF8Char">xmlGetUTF8Char</a>                  (unsigned char *utf,
+                                             int *len);
+int         <a href="libxml-encoding.html#xmlCheckUTF8">xmlCheckUTF8</a>                    (unsigned char *utf);
+int         <a href="libxml-encoding.html#xmlUTF8Strsize">xmlUTF8Strsize</a>                  (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *utf,
+                                             int len);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-encoding.html#xmlUTF8Strndup">xmlUTF8Strndup</a>                  (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *utf,
+                                             int len);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-encoding.html#xmlUTF8Strpos">xmlUTF8Strpos</a>                   (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *utf,
+                                             int pos);
+int         <a href="libxml-encoding.html#xmlUTF8Strloc">xmlUTF8Strloc</a>                   (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *utf,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *utfchar);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-encoding.html#xmlUTF8Strsub">xmlUTF8Strsub</a>                   (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *utf,
+                                             int start,
+                                             int len);
+int         <a href="libxml-encoding.html#xmlUTF8Strlen">xmlUTF8Strlen</a>                   (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *utf);
+int         <a href="libxml-encoding.html#xmlUTF8Size">xmlUTF8Size</a>                     (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *utf);
+int         <a href="libxml-encoding.html#xmlUTF8Charcmp">xmlUTF8Charcmp</a>                  (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *utf1,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *utf2);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlCharEncoding"></a>enum xmlCharEncoding</h3><pre class="programlisting">typedef enum {
@@ -72,20 +128,6 @@
     XML_CHAR_ENCODING_ASCII=    22 /* pure ASCII */
 } xmlCharEncoding;
 </pre><p>
-Predefined values for some standard encodings.
-Libxml don't do beforehand translation on UTF8, ISOLatinX.
-It also support UTF16 (LE and BE) by default.
-</p><p>
-Anything else would have to be translated to UTF8 before being
-given to the parser itself. The BOM for UTF16 and the encoding
-declaration are looked at and a converter is looked for at that
-point. If not found the parser stops here as asked by the XML REC
-Converter can be registered by the user using xmlRegisterCharEncodingHandler
-but the current form doesn't allow stateful transcoding (a serious
-problem agreed !). If iconv has been found it will be used
-automatically and allow stateful transcoding, the simplest is then
-to be sure to enable icon and to provide iconv libs for the encoding
-support needed.</p><p>
 
 </p></div><hr><div class="refsect2"><h3><a name="xmlCharEncodingInputFunc"></a>xmlCharEncodingInputFunc ()</h3><pre class="programlisting">int         (*xmlCharEncodingInputFunc)     (unsigned char *out,
                                              int *outlen,
@@ -136,4 +178,240 @@
 </p></div><hr><div class="refsect2"><h3><a name="xmlCharEncodingHandlerPtr"></a>xmlCharEncodingHandlerPtr</h3><pre class="programlisting">typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
 </pre><p>
 
-</p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-wsockcompat.html"><b>&lt;&lt; wsockcompat</b></a></td><td align="right"><a accesskey="n" href="libxml-xmlregexp.html"><b>xmlregexp &gt;&gt;</b></a></td></tr></table></body></html>
+</p></div><hr><div class="refsect2"><h3><a name="xmlInitCharEncodingHandlers"></a>xmlInitCharEncodingHandlers ()</h3><pre class="programlisting">void        xmlInitCharEncodingHandlers     (void);</pre><p>
+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><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlCleanupCharEncodingHandlers"></a>xmlCleanupCharEncodingHandlers ()</h3><pre class="programlisting">void        xmlCleanupCharEncodingHandlers  (void);</pre><p>
+Cleanup the memory allocated for the char encoding support, it
+unregisters all the encoding handlers and the aliases.</p><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlRegisterCharEncodingHandler"></a>xmlRegisterCharEncodingHandler ()</h3><pre class="programlisting">void        xmlRegisterCharEncodingHandler  (<a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);</pre><p>
+Register the char encoding handler, surprising, isn't it ?</p><p>
+
+</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 xmlCharEncodingHandlerPtr handler block
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGetCharEncodingHandler"></a>xmlGetCharEncodingHandler ()</h3><pre class="programlisting"><a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> xmlGetCharEncodingHandler
+                                            (<a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
+Search in the registered set the handler able to read/write that encoding.</p><p>
+
+</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 xmlCharEncoding value.
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the handler or NULL if not found
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFindCharEncodingHandler"></a>xmlFindCharEncodingHandler ()</h3><pre class="programlisting"><a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> xmlFindCharEncodingHandler
+                                            (const char *name);</pre><p>
+Search in the registered set the handler able to read/write that encoding.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>  a string describing the char encoding.
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the handler or NULL if not found
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewCharEncodingHandler"></a>xmlNewCharEncodingHandler ()</h3><pre class="programlisting"><a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> xmlNewCharEncodingHandler
+                                            (const char *name,
+                                             <a href="libxml-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a> input,
+                                             <a href="libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> output);</pre><p>
+Create and registers an xmlCharEncodingHandler.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>  the encoding name, in UTF-8 format (ASCII actually)
+</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>  the xmlCharEncodingInputFunc to read that encoding
+</td></tr><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>  the xmlCharEncodingOutputFunc to write that encoding
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlCharEncodingHandlerPtr created (or NULL in case of error).
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlAddEncodingAlias"></a>xmlAddEncodingAlias ()</h3><pre class="programlisting">int         xmlAddEncodingAlias             (const char *name,
+                                             const char *alias);</pre><p>
+Registers and alias <i><tt>alias</tt></i> for an encoding named <i><tt>name</tt></i>. Existing alias
+will be overwritten.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success, -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlDelEncodingAlias"></a>xmlDelEncodingAlias ()</h3><pre class="programlisting">int         xmlDelEncodingAlias             (const char *alias);</pre><p>
+Unregisters an encoding alias <i><tt>alias</tt></i></p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success, -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGetEncodingAlias"></a>xmlGetEncodingAlias ()</h3><pre class="programlisting">const char* xmlGetEncodingAlias             (const char *alias);</pre><p>
+Lookup an encoding name for the given alias.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>NULL if not found the original name otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCleanupEncodingAliases"></a>xmlCleanupEncodingAliases ()</h3><pre class="programlisting">void        xmlCleanupEncodingAliases       (void);</pre><p>
+Unregisters all aliases</p><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlParseCharEncoding"></a>xmlParseCharEncoding ()</h3><pre class="programlisting"><a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> xmlParseCharEncoding        (const char *name);</pre><p>
+Compare the string to the known encoding schemes already known. Note
+that the comparison is case insensitive accordingly to the section
+[XML] 4.3.3 Character Encoding in Entities.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>  the encoding name as parsed, in UTF-8 format (ASCII actually)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>one of the XML_CHAR_ENCODING_... values or XML_CHAR_ENCODING_NONE
+if not recognized.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGetCharEncodingName"></a>xmlGetCharEncodingName ()</h3><pre class="programlisting">const char* xmlGetCharEncodingName          (<a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
+The "canonical" name for XML encoding.
+C.f. http://www.w3.org/TR/REC-xml<GTKDOCLINK HREF="charencoding">charencoding</GTKDOCLINK>
+Section 4.3.3  Character Encoding in Entities</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the canonical name for the given encoding
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlDetectCharEncoding"></a>xmlDetectCharEncoding ()</h3><pre class="programlisting"><a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> xmlDetectCharEncoding       (unsigned char *in,
+                                             int len);</pre><p>
+Guess the encoding of the entity using the first bytes of the entity content
+accordingly of the non-normative appendix F of the XML-1.0 recommendation.</p><p>
+
+</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
+      4 bytes long.
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>one of the XML_CHAR_ENCODING_... values.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCharEncOutFunc"></a>xmlCharEncOutFunc ()</h3><pre class="programlisting">int         xmlCharEncOutFunc               (<a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> *handler,
+                                             <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> out,
+                                             <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> in);</pre><p>
+Generic front-end for the encoding handler output function
+a first call with <i><tt>in</tt></i> == 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><p>
+
+</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 enconding transformation data structure
+</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>  an xmlBuffer for the output.
+</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>  an xmlBuffer for the input
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlCharEncInFunc"></a>xmlCharEncInFunc ()</h3><pre class="programlisting">int         xmlCharEncInFunc                (<a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> *handler,
+                                             <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> out,
+                                             <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> in);</pre><p>
+Generic front-end for the encoding handler input function</p><p>
+
+</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 xmlBuffer for the output.
+</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>  an xmlBuffer for the input
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlCharEncFirstLine"></a>xmlCharEncFirstLine ()</h3><pre class="programlisting">int         xmlCharEncFirstLine             (<a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> *handler,
+                                             <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> out,
+                                             <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> in);</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><p>
+
+</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 enconding transformation data structure
+</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>  an xmlBuffer for the output.
+</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>  an xmlBuffer for the input
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlCharEncCloseFunc"></a>xmlCharEncCloseFunc ()</h3><pre class="programlisting">int         xmlCharEncCloseFunc             (<a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> *handler);</pre><p>
+Generic front-end for encoding handler close function</p><p>
+
+</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 enconding transformation data structure
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 if success, or -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="UTF8Toisolat1"></a>UTF8Toisolat1 ()</h3><pre class="programlisting">int         UTF8Toisolat1                   (unsigned char *out,
+                                             int *outlen,
+                                             unsigned char *in,
+                                             int *inlen);</pre><p>
+Take a block of UTF-8 chars in and try to convert it to an ISO Latin 1
+block of chars out.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>  a pointer to an array of bytes to store the result
+</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>  the length of <i><tt>out</tt></i>
+</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>  a pointer to an array of UTF-8 chars
+</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>  the length of <i><tt>in</tt></i>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 if success, -2 if the transcoding fails, or -1 otherwise
+The value of <i><tt>inlen</tt></i> after return is the number of octets consumed
+    as the return value is positive, else unpredictable.
+The value of <i><tt>outlen</tt></i> after return is the number of ocetes consumed.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="isolat1ToUTF8"></a>isolat1ToUTF8 ()</h3><pre class="programlisting">int         isolat1ToUTF8                   (unsigned char *out,
+                                             int *outlen,
+                                             unsigned char *in,
+                                             int *inlen);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>  a pointer to an array of bytes to store the result
+</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>  the length of <i><tt>out</tt></i>
+</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>  a pointer to an array of ISO Latin 1 chars
+</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>  the length of <i><tt>in</tt></i>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 if success, or -1 otherwise
+The value of <i><tt>inlen</tt></i> after return is the number of octets consumed
+    as the return value is positive, else unpredictable.
+The value of <i><tt>outlen</tt></i> after return is the number of ocetes consumed.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGetUTF8Char"></a>xmlGetUTF8Char ()</h3><pre class="programlisting">int         xmlGetUTF8Char                  (unsigned char *utf,
+                                             int *len);</pre><p>
+Read one UTF8 Char from <i><tt>utf</tt></i></p><p>
+
+</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 <i><tt>bytes</tt></i> len
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the char value or -1 in case of error and update <i><tt>len</tt></i> with the
+       number of bytes used
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCheckUTF8"></a>xmlCheckUTF8 ()</h3><pre class="programlisting">int         xmlCheckUTF8                    (unsigned char *utf);</pre><p>
+Checks <i><tt>utf</tt></i> for being valid utf-8. <i><tt>utf</tt></i> 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><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td> true if <i><tt>utf</tt></i> is valid.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUTF8Strsize"></a>xmlUTF8Strsize ()</h3><pre class="programlisting">int         xmlUTF8Strsize                  (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *utf,
+                                             int len);</pre><p>
+storage size of an UTF8 string</p><p>
+
+</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 characters in the array
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the storage size of
+the first 'len' characters of ARRAY
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUTF8Strndup"></a>xmlUTF8Strndup ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlUTF8Strndup                  (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *utf,
+                                             int len);</pre><p>
+a strndup for array of UTF8's</p><p>
+
+</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 <i><tt>utf</tt></i> (in chars)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a new UTF8 * or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUTF8Strpos"></a>xmlUTF8Strpos ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlUTF8Strpos                   (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *utf,
+                                             int pos);</pre><p>
+a function to provide the equivalent of fetching a
+character from a string array</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the UTF8 character or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUTF8Strloc"></a>xmlUTF8Strloc ()</h3><pre class="programlisting">int         xmlUTF8Strloc                   (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *utf,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *utfchar);</pre><p>
+a function to provide relative location of a UTF8 char</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlUTF8Strsub"></a>xmlUTF8Strsub ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlUTF8Strsub                   (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *utf,
+                                             int start,
+                                             int len);</pre><p>
+Note:  positions are given in units of UTF-8 chars</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to a newly created string
+or NULL if any problem
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUTF8Strlen"></a>xmlUTF8Strlen ()</h3><pre class="programlisting">int         xmlUTF8Strlen                   (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *utf);</pre><p>
+compute the length of an UTF8 string, it doesn't do a full UTF8
+checking of the content of the string.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of characters in the string or -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUTF8Size"></a>xmlUTF8Size ()</h3><pre class="programlisting">int         xmlUTF8Size                     (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *utf);</pre><p>
+calulates the internal size of a UTF8 character</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the numbers of bytes in the character, -1 on format error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUTF8Charcmp"></a>xmlUTF8Charcmp ()</h3><pre class="programlisting">int         xmlUTF8Charcmp                  (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *utf1,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *utf2);</pre><p>
+compares the two UCS4 values</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>result of the compare as with xmlStrncmp
+</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-wsockcompat.html"><b>&lt;&lt; wsockcompat</b></a></td><td align="right"><a accesskey="n" href="libxml-xmlregexp.html"><b>xmlregexp &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-entities.html b/doc/html/libxml-entities.html
index 8b56509..e0822fa 100644
--- a/doc/html/libxml-entities.html
+++ b/doc/html/libxml-entities.html
@@ -28,13 +28,47 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-parserInternals.html" title="parserInternals"><link rel="next" href="libxml-HTMLparser.html" title="HTMLparser"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-parserInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-HTMLparser.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-entities"></a><div class="titlepage"></div><div class="refnamediv"><h2>entities</h2><p>entities &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2684512"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-parserInternals.html" title="parserInternals"><link rel="next" href="libxml-HTMLparser.html" title="HTMLparser"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-parserInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-HTMLparser.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-entities"></a><div class="titlepage"></div><div class="refnamediv"><h2>entities</h2><p>entities &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2675364"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
 enum        <a href="libxml-entities.html#xmlEntityType">xmlEntityType</a>;
 struct      <a href="libxml-entities.html#xmlEntity">xmlEntity</a>;
 typedef     <a href="libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>;
+void        <a href="libxml-entities.html#xmlInitializePredefinedEntities">xmlInitializePredefinedEntities</a> (void);
+<a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a href="libxml-entities.html#xmlAddDocEntity">xmlAddDocEntity</a>                (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             int type,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+<a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a href="libxml-entities.html#xmlAddDtdEntity">xmlAddDtdEntity</a>                (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             int type,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+<a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a href="libxml-entities.html#xmlGetPredefinedEntity">xmlGetPredefinedEntity</a>         (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+<a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a href="libxml-entities.html#xmlGetDocEntity">xmlGetDocEntity</a>                (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+<a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a href="libxml-entities.html#xmlGetDtdEntity">xmlGetDtdEntity</a>                (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+<a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a href="libxml-entities.html#xmlGetParameterEntity">xmlGetParameterEntity</a>          (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a>            (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *input);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a>      (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *input);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-entities.html#xmlEncodeSpecialChars">xmlEncodeSpecialChars</a>           (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *input);
+<a href="libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> <a href="libxml-entities.html#xmlCreateEntitiesTable">xmlCreateEntitiesTable</a>  (void);
+<a href="libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> <a href="libxml-entities.html#xmlCopyEntitiesTable">xmlCopyEntitiesTable</a>    (<a href="libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table);
+void        <a href="libxml-entities.html#xmlFreeEntitiesTable">xmlFreeEntitiesTable</a>            (<a href="libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table);
+void        <a href="libxml-entities.html#xmlDumpEntitiesTable">xmlDumpEntitiesTable</a>            (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             <a href="libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table);
+void        <a href="libxml-entities.html#xmlDumpEntityDecl">xmlDumpEntityDecl</a>               (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent);
+void        <a href="libxml-entities.html#xmlCleanupPredefinedEntities">xmlCleanupPredefinedEntities</a>    (void);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlEntityType"></a>enum xmlEntityType</h3><pre class="programlisting">typedef enum {
@@ -75,4 +109,127 @@
 </p></div><hr><div class="refsect2"><h3><a name="xmlEntitiesTablePtr"></a>xmlEntitiesTablePtr</h3><pre class="programlisting">typedef xmlEntitiesTable *xmlEntitiesTablePtr;
 </pre><p>
 
+</p></div><hr><div class="refsect2"><h3><a name="xmlInitializePredefinedEntities"></a>xmlInitializePredefinedEntities ()</h3><pre class="programlisting">void        xmlInitializePredefinedEntities (void);</pre><p>
+Set up the predefined entities.
+Deprecated call</p><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlAddDocEntity"></a>xmlAddDocEntity ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> xmlAddDocEntity                (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             int type,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+Register a new entity for this document.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the entity or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlAddDtdEntity"></a>xmlAddDtdEntity ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> xmlAddDtdEntity                (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             int type,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+Register a new entity for this document DTD external subset.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the entity or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGetPredefinedEntity"></a>xmlGetPredefinedEntity ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> xmlGetPredefinedEntity         (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Check whether this name is an predefined entity.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>  the entity name
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>NULL if not, otherwise the entity
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGetDocEntity"></a>xmlGetDocEntity ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> xmlGetDocEntity                (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Do an entity lookup in the document entity hash table and
+returns the corresponding entity, otherwise a lookup is done
+in the predefined entities too.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>A pointer to the entity structure or NULL if not found.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGetDtdEntity"></a>xmlGetDtdEntity ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> xmlGetDtdEntity                (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Do an entity lookup in the DTD entity hash table and
+returns the corresponding entity, if found.
+Note: the first argument is the document node, not the DTD node.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>A pointer to the entity structure or NULL if not found.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGetParameterEntity"></a>xmlGetParameterEntity ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> xmlGetParameterEntity          (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Do an entity lookup in the internal and external subsets and
+returns the corresponding parameter entity, if found.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>A pointer to the entity structure or NULL if not found.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlEncodeEntities"></a>xmlEncodeEntities ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlEncodeEntities            (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *input);</pre><p>
+TODO: remove xmlEncodeEntities, once we are not afraid of breaking binary
+      compatibility
+</p><p>
+People must migrate their code to xmlEncodeEntitiesReentrant !
+This routine will issue a warning when encountered.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlEncodeEntitiesReentrant"></a>xmlEncodeEntitiesReentrant ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlEncodeEntitiesReentrant      (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *input);</pre><p>
+Do a global encoding of a string, replacing the predefined entities
+and non ASCII values with their entities and CharRef counterparts.
+Contrary to xmlEncodeEntities, this routine is reentrant, and result
+must be deallocated.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>A newly allocated string with the substitution done.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlEncodeSpecialChars"></a>xmlEncodeSpecialChars ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlEncodeSpecialChars           (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *input);</pre><p>
+Do a global encoding of a string, replacing the predefined entities
+this routine is reentrant, and result must be deallocated.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>A newly allocated string with the substitution done.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCreateEntitiesTable"></a>xmlCreateEntitiesTable ()</h3><pre class="programlisting"><a href="libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> xmlCreateEntitiesTable  (void);</pre><p>
+create and initialize an empty entities hash table.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlEntitiesTablePtr just created or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCopyEntitiesTable"></a>xmlCopyEntitiesTable ()</h3><pre class="programlisting"><a href="libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> xmlCopyEntitiesTable    (<a href="libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table);</pre><p>
+Build a copy of an entity table.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new xmlEntitiesTablePtr or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFreeEntitiesTable"></a>xmlFreeEntitiesTable ()</h3><pre class="programlisting">void        xmlFreeEntitiesTable            (<a href="libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table);</pre><p>
+Deallocate the memory used by an entities hash table.</p><p>
+
+</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"><h3><a name="xmlDumpEntitiesTable"></a>xmlDumpEntitiesTable ()</h3><pre class="programlisting">void        xmlDumpEntitiesTable            (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             <a href="libxml-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table);</pre><p>
+This will dump the content of the entity table as an XML DTD definition</p><p>
+
+</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"><h3><a name="xmlDumpEntityDecl"></a>xmlDumpEntityDecl ()</h3><pre class="programlisting">void        xmlDumpEntityDecl               (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent);</pre><p>
+This will dump the content of the entity table as an XML DTD definition</p><p>
+
+</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"><h3><a name="xmlCleanupPredefinedEntities"></a>xmlCleanupPredefinedEntities ()</h3><pre class="programlisting">void        xmlCleanupPredefinedEntities    (void);</pre><p>
+Cleanup up the predefined entities table.
+Deprecated call</p><p>
+
 </p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-parserInternals.html"><b>&lt;&lt; parserInternals</b></a></td><td align="right"><a accesskey="n" href="libxml-HTMLparser.html"><b>HTMLparser &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-globals.html b/doc/html/libxml-globals.html
index aa427ad..73f6ea4 100644
--- a/doc/html/libxml-globals.html
+++ b/doc/html/libxml-globals.html
@@ -28,14 +28,28 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-tree.html" title="tree"><link rel="next" href="libxml-xmlexports.html" title="xmlexports"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-tree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-xmlexports.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-globals"></a><div class="titlepage"></div><div class="refnamediv"><h2>globals</h2><p>globals &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2594532"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-tree.html" title="tree"><link rel="next" href="libxml-xmlunicode.html" title="xmlunicode"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-tree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-xmlunicode.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-globals"></a><div class="titlepage"></div><div class="refnamediv"><h2>globals</h2><p>globals &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2839615"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
+void        <a href="libxml-globals.html#xmlInitGlobals">xmlInitGlobals</a>                  (void);
+void        <a href="libxml-globals.html#xmlCleanupGlobals">xmlCleanupGlobals</a>               (void);
 void        (<a href="libxml-globals.html#xmlRegisterNodeFunc">*xmlRegisterNodeFunc</a>)          (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
 void        (<a href="libxml-globals.html#xmlDeregisterNodeFunc">*xmlDeregisterNodeFunc</a>)        (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
 struct      <a href="libxml-globals.html#xmlGlobalState">xmlGlobalState</a>;
 typedef     <a href="libxml-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a>;
+void        <a href="libxml-globals.html#xmlInitializeGlobalState">xmlInitializeGlobalState</a>        (<a href="libxml-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> gs);
+void        <a href="libxml-globals.html#xmlThrDefSetGenericErrorFunc">xmlThrDefSetGenericErrorFunc</a>    (void *ctx,
+                                             <a href="libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler);
+void        <a href="libxml-globals.html#xmlThrDefSetStructuredErrorFunc">xmlThrDefSetStructuredErrorFunc</a> (void *ctx,
+                                             <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler);
+<a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> <a href="libxml-globals.html#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a>  (<a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func);
+<a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> <a href="libxml-globals.html#xmlThrDefRegisterNodeDefault">xmlThrDefRegisterNodeDefault</a>
+                                            (<a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func);
+<a href="libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> <a href="libxml-globals.html#xmlDeregisterNodeDefault">xmlDeregisterNodeDefault</a>
+                                            (<a href="libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func);
+<a href="libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> <a href="libxml-globals.html#xmlThrDefDeregisterNodeDefault">xmlThrDefDeregisterNodeDefault</a>
+                                            (<a href="libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func);
 #define     <a href="libxml-xmlmemory.html#xmlMalloc">xmlMalloc</a>                       (size)
 #define     <a href="libxml-xmlmemory.html#xmlMallocAtomic">xmlMallocAtomic</a>                 (size)
 #define     <a href="libxml-xmlmemory.html#xmlRealloc">xmlRealloc</a>                      (ptr, size)
@@ -46,29 +60,52 @@
 #define     <a href="libxml-globals.html#xmlLastError">xmlLastError</a>
 #define     <a href="libxml-globals.html#oldXMLWDcompatibility">oldXMLWDcompatibility</a>
 #define     <a href="libxml-globals.html#xmlBufferAllocScheme">xmlBufferAllocScheme</a>
+<a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> <a href="libxml-globals.html#xmlThrDefBufferAllocScheme">xmlThrDefBufferAllocScheme</a>
+                                            (<a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> v);
 #define     <a href="libxml-globals.html#xmlDefaultBufferSize">xmlDefaultBufferSize</a>
+int         <a href="libxml-globals.html#xmlThrDefDefaultBufferSize">xmlThrDefDefaultBufferSize</a>      (int v);
 #define     <a href="libxml-globals.html#xmlDefaultSAXHandler">xmlDefaultSAXHandler</a>
 #define     <a href="libxml-globals.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a>
 #define     <a href="libxml-globals.html#xmlDoValidityCheckingDefaultValue">xmlDoValidityCheckingDefaultValue</a>
+int         <a href="libxml-globals.html#xmlThrDefDoValidityCheckingDefaultValue">xmlThrDefDoValidityCheckingDefaultValue</a>
+                                            (int v);
 #define     <a href="libxml-globals.html#xmlGenericError">xmlGenericError</a>
 #define     <a href="libxml-globals.html#xmlStructuredError">xmlStructuredError</a>
 #define     <a href="libxml-globals.html#xmlGenericErrorContext">xmlGenericErrorContext</a>
 #define     <a href="libxml-globals.html#xmlGetWarningsDefaultValue">xmlGetWarningsDefaultValue</a>
+int         <a href="libxml-globals.html#xmlThrDefGetWarningsDefaultValue">xmlThrDefGetWarningsDefaultValue</a>
+                                            (int v);
 #define     <a href="libxml-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a>
+int         <a href="libxml-globals.html#xmlThrDefIndentTreeOutput">xmlThrDefIndentTreeOutput</a>       (int v);
 #define     <a href="libxml-globals.html#xmlTreeIndentString">xmlTreeIndentString</a>
+const char* <a href="libxml-globals.html#xmlThrDefTreeIndentString">xmlThrDefTreeIndentString</a>       (const char *v);
 #define     <a href="libxml-globals.html#xmlKeepBlanksDefaultValue">xmlKeepBlanksDefaultValue</a>
+int         <a href="libxml-globals.html#xmlThrDefKeepBlanksDefaultValue">xmlThrDefKeepBlanksDefaultValue</a> (int v);
 #define     <a href="libxml-globals.html#xmlLineNumbersDefaultValue">xmlLineNumbersDefaultValue</a>
+int         <a href="libxml-globals.html#xmlThrDefLineNumbersDefaultValue">xmlThrDefLineNumbersDefaultValue</a>
+                                            (int v);
 #define     <a href="libxml-globals.html#xmlLoadExtDtdDefaultValue">xmlLoadExtDtdDefaultValue</a>
+int         <a href="libxml-globals.html#xmlThrDefLoadExtDtdDefaultValue">xmlThrDefLoadExtDtdDefaultValue</a> (int v);
 #define     <a href="libxml-globals.html#xmlParserDebugEntities">xmlParserDebugEntities</a>
+int         <a href="libxml-globals.html#xmlThrDefParserDebugEntities">xmlThrDefParserDebugEntities</a>    (int v);
 #define     <a href="libxml-globals.html#xmlParserVersion">xmlParserVersion</a>
 #define     <a href="libxml-globals.html#xmlPedanticParserDefaultValue">xmlPedanticParserDefaultValue</a>
+int         <a href="libxml-globals.html#xmlThrDefPedanticParserDefaultValue">xmlThrDefPedanticParserDefaultValue</a>
+                                            (int v);
 #define     <a href="libxml-globals.html#xmlSaveNoEmptyTags">xmlSaveNoEmptyTags</a>
+int         <a href="libxml-globals.html#xmlThrDefSaveNoEmptyTags">xmlThrDefSaveNoEmptyTags</a>        (int v);
 #define     <a href="libxml-globals.html#xmlSubstituteEntitiesDefaultValue">xmlSubstituteEntitiesDefaultValue</a>
+int         <a href="libxml-globals.html#xmlThrDefSubstituteEntitiesDefaultValue">xmlThrDefSubstituteEntitiesDefaultValue</a>
+                                            (int v);
 #define     <a href="libxml-globals.html#xmlRegisterNodeDefaultValue">xmlRegisterNodeDefaultValue</a>
 #define     <a href="libxml-globals.html#xmlDeregisterNodeDefaultValue">xmlDeregisterNodeDefaultValue</a>
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
-</p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlRegisterNodeFunc"></a>xmlRegisterNodeFunc ()</h3><pre class="programlisting">void        (*xmlRegisterNodeFunc)          (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
+</p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlInitGlobals"></a>xmlInitGlobals ()</h3><pre class="programlisting">void        xmlInitGlobals                  (void);</pre><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlCleanupGlobals"></a>xmlCleanupGlobals ()</h3><pre class="programlisting">void        xmlCleanupGlobals               (void);</pre><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlRegisterNodeFunc"></a>xmlRegisterNodeFunc ()</h3><pre class="programlisting">void        (*xmlRegisterNodeFunc)          (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
 
 </p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>
 
@@ -125,7 +162,51 @@
 </p></div><hr><div class="refsect2"><h3><a name="xmlGlobalStatePtr"></a>xmlGlobalStatePtr</h3><pre class="programlisting">typedef xmlGlobalState *xmlGlobalStatePtr;
 </pre><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="xmlMalloc"></a>xmlMalloc()</h3><pre class="programlisting">#define     xmlMalloc(size)</pre><p>
+</p></div><hr><div class="refsect2"><h3><a name="xmlInitializeGlobalState"></a>xmlInitializeGlobalState ()</h3><pre class="programlisting">void        xmlInitializeGlobalState        (<a href="libxml-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> gs);</pre><p>
+<a href="libxml-globals.html#xmlInitializeGlobalState">xmlInitializeGlobalState</a>() initialize a global state with all the
+default values of the library.</p><p>
+
+</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"><h3><a name="xmlThrDefSetGenericErrorFunc"></a>xmlThrDefSetGenericErrorFunc ()</h3><pre class="programlisting">void        xmlThrDefSetGenericErrorFunc    (void *ctx,
+                                             <a href="libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler);</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"><h3><a name="xmlThrDefSetStructuredErrorFunc"></a>xmlThrDefSetStructuredErrorFunc ()</h3><pre class="programlisting">void        xmlThrDefSetStructuredErrorFunc (void *ctx,
+                                             <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler);</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"><h3><a name="xmlRegisterNodeDefault"></a>xmlRegisterNodeDefault ()</h3><pre class="programlisting"><a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> xmlRegisterNodeDefault  (<a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func);</pre><p>
+Registers a callback for node creation</p><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> function pointer to the new RegisterNodeFunc
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the old value of the registration function
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlThrDefRegisterNodeDefault"></a>xmlThrDefRegisterNodeDefault ()</h3><pre class="programlisting"><a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> xmlThrDefRegisterNodeDefault
+                                            (<a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func);</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlDeregisterNodeDefault"></a>xmlDeregisterNodeDefault ()</h3><pre class="programlisting"><a href="libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> xmlDeregisterNodeDefault
+                                            (<a href="libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func);</pre><p>
+Registers a callback for node destruction</p><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> function pointer to the new DeregisterNodeFunc
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the previous value of the deregistration function
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlThrDefDeregisterNodeDefault"></a>xmlThrDefDeregisterNodeDefault ()</h3><pre class="programlisting"><a href="libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> xmlThrDefDeregisterNodeDefault
+                                            (<a href="libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func);</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlMalloc"></a>xmlMalloc()</h3><pre class="programlisting">#define     xmlMalloc(size)</pre><p>
 Wrapper for the <GTKDOCLINK HREF="malloc">malloc</GTKDOCLINK>() function used in the XML library.</p><p>
 
 </p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>
@@ -149,7 +230,7 @@
 The variable holding the libxml <GTKDOCLINK HREF="free">free</GTKDOCLINK>() implementation</p><p>
 
 </p></div><hr><div class="refsect2"><h3><a name="xmlMemStrdup"></a>xmlMemStrdup()</h3><pre class="programlisting">#define     xmlMemStrdup(str)</pre><p>
-Wrapper for the <GTKDOCLINK HREF="strdup">strdup</GTKDOCLINK>() function, <GTKDOCLINK HREF="xmlStrdup">xmlStrdup</GTKDOCLINK>() is usually preferred.</p><p>
+Wrapper for the <GTKDOCLINK HREF="strdup">strdup</GTKDOCLINK>() function, <a href="libxml-parser.html#xmlStrdup">xmlStrdup</a>() is usually preferred.</p><p>
 
 </p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>
 
@@ -169,10 +250,23 @@
 Global setting, default allocation policy for buffers, default is
 XML_BUFFER_ALLOC_EXACT</p><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="xmlDefaultBufferSize"></a>xmlDefaultBufferSize</h3><pre class="programlisting">#define     xmlDefaultBufferSize</pre><p>
+</p></div><hr><div class="refsect2"><h3><a name="xmlThrDefBufferAllocScheme"></a>xmlThrDefBufferAllocScheme ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> xmlThrDefBufferAllocScheme
+                                            (<a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> v);</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlDefaultBufferSize"></a>xmlDefaultBufferSize</h3><pre class="programlisting">#define     xmlDefaultBufferSize</pre><p>
 Global setting, default buffer size. Default value is BASE_BUFFER_SIZE</p><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="xmlDefaultSAXHandler"></a>xmlDefaultSAXHandler</h3><pre class="programlisting">#define     xmlDefaultSAXHandler</pre><p>
+</p></div><hr><div class="refsect2"><h3><a name="xmlThrDefDefaultBufferSize"></a>xmlThrDefDefaultBufferSize ()</h3><pre class="programlisting">int         xmlThrDefDefaultBufferSize      (int v);</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlDefaultSAXHandler"></a>xmlDefaultSAXHandler</h3><pre class="programlisting">#define     xmlDefaultSAXHandler</pre><p>
 Default SAX version1 handler for XML, builds the DOM tree</p><p>
 
 </p></div><hr><div class="refsect2"><h3><a name="xmlDefaultSAXLocator"></a>xmlDefaultSAXLocator</h3><pre class="programlisting">#define     xmlDefaultSAXLocator</pre><p>
@@ -183,7 +277,14 @@
 Global setting, indicate that the parser should work in validating mode.
 Disabled by default.</p><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="xmlGenericError"></a>xmlGenericError</h3><pre class="programlisting">#define     xmlGenericError</pre><p>
+</p></div><hr><div class="refsect2"><h3><a name="xmlThrDefDoValidityCheckingDefaultValue"></a>xmlThrDefDoValidityCheckingDefaultValue ()</h3><pre class="programlisting">int         xmlThrDefDoValidityCheckingDefaultValue
+                                            (int v);</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGenericError"></a>xmlGenericError</h3><pre class="programlisting">#define     xmlGenericError</pre><p>
 Global setting: function used for generic error callbacks</p><p>
 
 </p></div><hr><div class="refsect2"><h3><a name="xmlStructuredError"></a>xmlStructuredError</h3><pre class="programlisting">#define     xmlStructuredError</pre><p>
@@ -196,58 +297,122 @@
 Global setting, indicate that the parser should provide warnings.
 Activated by default.</p><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="xmlIndentTreeOutput"></a>xmlIndentTreeOutput</h3><pre class="programlisting">#define     xmlIndentTreeOutput</pre><p>
+</p></div><hr><div class="refsect2"><h3><a name="xmlThrDefGetWarningsDefaultValue"></a>xmlThrDefGetWarningsDefaultValue ()</h3><pre class="programlisting">int         xmlThrDefGetWarningsDefaultValue
+                                            (int v);</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIndentTreeOutput"></a>xmlIndentTreeOutput</h3><pre class="programlisting">#define     xmlIndentTreeOutput</pre><p>
 Global setting, asking the serializer to indent the output tree by default
 Enabled by default</p><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="xmlTreeIndentString"></a>xmlTreeIndentString</h3><pre class="programlisting">#define     xmlTreeIndentString</pre><p>
+</p></div><hr><div class="refsect2"><h3><a name="xmlThrDefIndentTreeOutput"></a>xmlThrDefIndentTreeOutput ()</h3><pre class="programlisting">int         xmlThrDefIndentTreeOutput       (int v);</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTreeIndentString"></a>xmlTreeIndentString</h3><pre class="programlisting">#define     xmlTreeIndentString</pre><p>
 The string used to do one-level indent. By default is equal to "  " (two spaces)</p><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="xmlKeepBlanksDefaultValue"></a>xmlKeepBlanksDefaultValue</h3><pre class="programlisting">#define     xmlKeepBlanksDefaultValue</pre><p>
+</p></div><hr><div class="refsect2"><h3><a name="xmlThrDefTreeIndentString"></a>xmlThrDefTreeIndentString ()</h3><pre class="programlisting">const char* xmlThrDefTreeIndentString       (const char *v);</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlKeepBlanksDefaultValue"></a>xmlKeepBlanksDefaultValue</h3><pre class="programlisting">#define     xmlKeepBlanksDefaultValue</pre><p>
 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><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="xmlLineNumbersDefaultValue"></a>xmlLineNumbersDefaultValue</h3><pre class="programlisting">#define     xmlLineNumbersDefaultValue</pre><p>
+</p></div><hr><div class="refsect2"><h3><a name="xmlThrDefKeepBlanksDefaultValue"></a>xmlThrDefKeepBlanksDefaultValue ()</h3><pre class="programlisting">int         xmlThrDefKeepBlanksDefaultValue (int v);</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlLineNumbersDefaultValue"></a>xmlLineNumbersDefaultValue</h3><pre class="programlisting">#define     xmlLineNumbersDefaultValue</pre><p>
 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
 applicaton.</p><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="xmlLoadExtDtdDefaultValue"></a>xmlLoadExtDtdDefaultValue</h3><pre class="programlisting">#define     xmlLoadExtDtdDefaultValue</pre><p>
+</p></div><hr><div class="refsect2"><h3><a name="xmlThrDefLineNumbersDefaultValue"></a>xmlThrDefLineNumbersDefaultValue ()</h3><pre class="programlisting">int         xmlThrDefLineNumbersDefaultValue
+                                            (int v);</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlLoadExtDtdDefaultValue"></a>xmlLoadExtDtdDefaultValue</h3><pre class="programlisting">#define     xmlLoadExtDtdDefaultValue</pre><p>
 Global setting, indicate that the parser should load DTD while not
 validating.
 Disabled by default.</p><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="xmlParserDebugEntities"></a>xmlParserDebugEntities</h3><pre class="programlisting">#define     xmlParserDebugEntities</pre><p>
+</p></div><hr><div class="refsect2"><h3><a name="xmlThrDefLoadExtDtdDefaultValue"></a>xmlThrDefLoadExtDtdDefaultValue ()</h3><pre class="programlisting">int         xmlThrDefLoadExtDtdDefaultValue (int v);</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParserDebugEntities"></a>xmlParserDebugEntities</h3><pre class="programlisting">#define     xmlParserDebugEntities</pre><p>
 Global setting, asking the parser to print out debugging informations.
 while handling entities.
 Disabled by default</p><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="xmlParserVersion"></a>xmlParserVersion</h3><pre class="programlisting">#define     xmlParserVersion</pre><p>
+</p></div><hr><div class="refsect2"><h3><a name="xmlThrDefParserDebugEntities"></a>xmlThrDefParserDebugEntities ()</h3><pre class="programlisting">int         xmlThrDefParserDebugEntities    (int v);</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParserVersion"></a>xmlParserVersion</h3><pre class="programlisting">#define     xmlParserVersion</pre><p>
 Constant string describing the internal version of the library</p><p>
 
 </p></div><hr><div class="refsect2"><h3><a name="xmlPedanticParserDefaultValue"></a>xmlPedanticParserDefaultValue</h3><pre class="programlisting">#define     xmlPedanticParserDefaultValue</pre><p>
 Global setting, indicate that the parser be pedantic
 Disabled by default.</p><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="xmlSaveNoEmptyTags"></a>xmlSaveNoEmptyTags</h3><pre class="programlisting">#define     xmlSaveNoEmptyTags</pre><p>
+</p></div><hr><div class="refsect2"><h3><a name="xmlThrDefPedanticParserDefaultValue"></a>xmlThrDefPedanticParserDefaultValue ()</h3><pre class="programlisting">int         xmlThrDefPedanticParserDefaultValue
+                                            (int v);</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSaveNoEmptyTags"></a>xmlSaveNoEmptyTags</h3><pre class="programlisting">#define     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 undistinguishable
 once parsed.
 Disabled by default</p><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="xmlSubstituteEntitiesDefaultValue"></a>xmlSubstituteEntitiesDefaultValue</h3><pre class="programlisting">#define     xmlSubstituteEntitiesDefaultValue</pre><p>
+</p></div><hr><div class="refsect2"><h3><a name="xmlThrDefSaveNoEmptyTags"></a>xmlThrDefSaveNoEmptyTags ()</h3><pre class="programlisting">int         xmlThrDefSaveNoEmptyTags        (int v);</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSubstituteEntitiesDefaultValue"></a>xmlSubstituteEntitiesDefaultValue</h3><pre class="programlisting">#define     xmlSubstituteEntitiesDefaultValue</pre><p>
 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><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="xmlRegisterNodeDefaultValue"></a>xmlRegisterNodeDefaultValue</h3><pre class="programlisting">#define     xmlRegisterNodeDefaultValue</pre><p>
+</p></div><hr><div class="refsect2"><h3><a name="xmlThrDefSubstituteEntitiesDefaultValue"></a>xmlThrDefSubstituteEntitiesDefaultValue ()</h3><pre class="programlisting">int         xmlThrDefSubstituteEntitiesDefaultValue
+                                            (int v);</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRegisterNodeDefaultValue"></a>xmlRegisterNodeDefaultValue</h3><pre class="programlisting">#define     xmlRegisterNodeDefaultValue</pre><p>
 
 </p></div><hr><div class="refsect2"><h3><a name="xmlDeregisterNodeDefaultValue"></a>xmlDeregisterNodeDefaultValue</h3><pre class="programlisting">#define     xmlDeregisterNodeDefaultValue</pre><p>
 
-</p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-tree.html"><b>&lt;&lt; tree</b></a></td><td align="right"><a accesskey="n" href="libxml-xmlexports.html"><b>xmlexports &gt;&gt;</b></a></td></tr></table></body></html>
+</p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-tree.html"><b>&lt;&lt; tree</b></a></td><td align="right"><a accesskey="n" href="libxml-xmlunicode.html"><b>xmlunicode &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-hash.html b/doc/html/libxml-hash.html
index 81ceb1a..782ce93 100644
--- a/doc/html/libxml-hash.html
+++ b/doc/html/libxml-hash.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xpointer.html" title="xpointer"><link rel="next" href="libxml-relaxng.html" title="relaxng"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xpointer.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-relaxng.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-hash"></a><div class="titlepage"></div><div class="refnamediv"><h2>hash</h2><p>hash &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2664516"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xpointer.html" title="xpointer"><link rel="next" href="libxml-nanohttp.html" title="nanohttp"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xpointer.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-nanohttp.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-hash"></a><div class="titlepage"></div><div class="refnamediv"><h2>hash</h2><p>hash &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2625676"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -46,6 +46,93 @@
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3);
+<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> <a href="libxml-hash.html#xmlHashCreate">xmlHashCreate</a>               (int size);
+void        <a href="libxml-hash.html#xmlHashFree">xmlHashFree</a>                     (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+int         <a href="libxml-hash.html#xmlHashAddEntry">xmlHashAddEntry</a>                 (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             void *userdata);
+int         <a href="libxml-hash.html#xmlHashUpdateEntry">xmlHashUpdateEntry</a>              (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             void *userdata,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+int         <a href="libxml-hash.html#xmlHashAddEntry2">xmlHashAddEntry2</a>                (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             void *userdata);
+int         <a href="libxml-hash.html#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a>             (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             void *userdata,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+int         <a href="libxml-hash.html#xmlHashAddEntry3">xmlHashAddEntry3</a>                (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3,
+                                             void *userdata);
+int         <a href="libxml-hash.html#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a>             (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3,
+                                             void *userdata,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+int         <a href="libxml-hash.html#xmlHashRemoveEntry">xmlHashRemoveEntry</a>              (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+int         <a href="libxml-hash.html#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a>             (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+int         <a href="libxml-hash.html#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a>             (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+void*       <a href="libxml-hash.html#xmlHashLookup">xmlHashLookup</a>                   (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+void*       <a href="libxml-hash.html#xmlHashLookup2">xmlHashLookup2</a>                  (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2);
+void*       <a href="libxml-hash.html#xmlHashLookup3">xmlHashLookup3</a>                  (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3);
+void*       <a href="libxml-hash.html#xmlHashQLookup">xmlHashQLookup</a>                  (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);
+void*       <a href="libxml-hash.html#xmlHashQLookup2">xmlHashQLookup2</a>                 (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix2);
+void*       <a href="libxml-hash.html#xmlHashQLookup3">xmlHashQLookup3</a>                 (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix3);
+<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> <a href="libxml-hash.html#xmlHashCopy">xmlHashCopy</a>                 (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             <a href="libxml-hash.html#xmlHashCopier">xmlHashCopier</a> f);
+int         <a href="libxml-hash.html#xmlHashSize">xmlHashSize</a>                     (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table);
+void        <a href="libxml-hash.html#xmlHashScan">xmlHashScan</a>                     (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             <a href="libxml-hash.html#xmlHashScanner">xmlHashScanner</a> f,
+                                             void *data);
+void        <a href="libxml-hash.html#xmlHashScan3">xmlHashScan3</a>                    (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3,
+                                             <a href="libxml-hash.html#xmlHashScanner">xmlHashScanner</a> f,
+                                             void *data);
+void        <a href="libxml-hash.html#xmlHashScanFull">xmlHashScanFull</a>                 (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             <a href="libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f,
+                                             void *data);
+void        <a href="libxml-hash.html#xmlHashScanFull3">xmlHashScanFull3</a>                (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3,
+                                             <a href="libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f,
+                                             void *data);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlHashTable"></a>struct xmlHashTable</h3><pre class="programlisting">struct xmlHashTable;</pre><p>
@@ -85,4 +172,258 @@
 </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></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xpointer.html"><b>&lt;&lt; xpointer</b></a></td><td align="right"><a accesskey="n" href="libxml-relaxng.html"><b>relaxng &gt;&gt;</b></a></td></tr></table></body></html>
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlHashCreate"></a>xmlHashCreate ()</h3><pre class="programlisting"><a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> xmlHashCreate               (int size);</pre><p>
+Create a new xmlHashTablePtr.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object, or NULL if an error occured.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlHashFree"></a>xmlHashFree ()</h3><pre class="programlisting">void        xmlHashFree                     (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);</pre><p>
+Free the hash <i><tt>table</tt></i> and its contents. The userdata is
+deallocated with <i><tt>f</tt></i> if provided.</p><p>
+
+</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"><h3><a name="xmlHashAddEntry"></a>xmlHashAddEntry ()</h3><pre class="programlisting">int         xmlHashAddEntry                 (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             void *userdata);</pre><p>
+Add the <i><tt>userdata</tt></i> to the hash <i><tt>table</tt></i>. This can later be retrieved
+by using the <i><tt>name</tt></i>. Duplicate names generate errors.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 the addition succeeded and -1 in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlHashUpdateEntry"></a>xmlHashUpdateEntry ()</h3><pre class="programlisting">int         xmlHashUpdateEntry              (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             void *userdata,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);</pre><p>
+Add the <i><tt>userdata</tt></i> to the hash <i><tt>table</tt></i>. This can later be retrieved
+by using the <i><tt>name</tt></i>. Existing entry for this <i><tt>name</tt></i> will be removed
+and freed with <i><tt>f</tt></i> if found.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 the addition succeeded and -1 in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlHashAddEntry2"></a>xmlHashAddEntry2 ()</h3><pre class="programlisting">int         xmlHashAddEntry2                (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             void *userdata);</pre><p>
+Add the <i><tt>userdata</tt></i> to the hash <i><tt>table</tt></i>. This can later be retrieved
+by using the (<i><tt>name</tt></i>, <i><tt>name2</tt></i>) tuple. Duplicate tuples generate errors.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 the addition succeeded and -1 in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlHashUpdateEntry2"></a>xmlHashUpdateEntry2 ()</h3><pre class="programlisting">int         xmlHashUpdateEntry2             (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             void *userdata,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);</pre><p>
+Add the <i><tt>userdata</tt></i> to the hash <i><tt>table</tt></i>. This can later be retrieved
+by using the (<i><tt>name</tt></i>, <i><tt>name2</tt></i>) tuple. Existing entry for this tuple will
+be removed and freed with <i><tt>f</tt></i> if found.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 the addition succeeded and -1 in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlHashAddEntry3"></a>xmlHashAddEntry3 ()</h3><pre class="programlisting">int         xmlHashAddEntry3                (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3,
+                                             void *userdata);</pre><p>
+Add the <i><tt>userdata</tt></i> to the hash <i><tt>table</tt></i>. This can later be retrieved
+by using the tuple (<i><tt>name</tt></i>, <i><tt>name2</tt></i>, <i><tt>name3</tt></i>). Duplicate entries generate
+errors.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 the addition succeeded and -1 in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlHashUpdateEntry3"></a>xmlHashUpdateEntry3 ()</h3><pre class="programlisting">int         xmlHashUpdateEntry3             (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3,
+                                             void *userdata,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);</pre><p>
+Add the <i><tt>userdata</tt></i> to the hash <i><tt>table</tt></i>. This can later be retrieved
+by using the tuple (<i><tt>name</tt></i>, <i><tt>name2</tt></i>, <i><tt>name3</tt></i>). Existing entry for this tuple
+will be removed and freed with <i><tt>f</tt></i> if found.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 the addition succeeded and -1 in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlHashRemoveEntry"></a>xmlHashRemoveEntry ()</h3><pre class="programlisting">int         xmlHashRemoveEntry              (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);</pre><p>
+Find the userdata specified by the <i><tt>name</tt></i> and remove
+it from the hash <i><tt>table</tt></i>. Existing userdata for this tuple will be removed
+and freed with <i><tt>f</tt></i>.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlHashRemoveEntry2"></a>xmlHashRemoveEntry2 ()</h3><pre class="programlisting">int         xmlHashRemoveEntry2             (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);</pre><p>
+Find the userdata specified by the (<i><tt>name</tt></i>, <i><tt>name2</tt></i>) tuple and remove
+it from the hash <i><tt>table</tt></i>. Existing userdata for this tuple will be removed
+and freed with <i><tt>f</tt></i>.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlHashRemoveEntry3"></a>xmlHashRemoveEntry3 ()</h3><pre class="programlisting">int         xmlHashRemoveEntry3             (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);</pre><p>
+Find the userdata specified by the (<i><tt>name</tt></i>, <i><tt>name2</tt></i>, <i><tt>name3</tt></i>) tuple and remove
+it from the hash <i><tt>table</tt></i>. Existing userdata for this tuple will be removed
+and freed with <i><tt>f</tt></i>.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlHashLookup"></a>xmlHashLookup ()</h3><pre class="programlisting">void*       xmlHashLookup                   (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Find the userdata specified by the <i><tt>name</tt></i>.</p><p>
+
+</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></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlHashLookup2"></a>xmlHashLookup2 ()</h3><pre class="programlisting">void*       xmlHashLookup2                  (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2);</pre><p>
+Find the userdata specified by the (<i><tt>name</tt></i>, <i><tt>name2</tt></i>) tuple.</p><p>
+
+</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></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlHashLookup3"></a>xmlHashLookup3 ()</h3><pre class="programlisting">void*       xmlHashLookup3                  (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3);</pre><p>
+Find the userdata specified by the (<i><tt>name</tt></i>, <i><tt>name2</tt></i>, <i><tt>name3</tt></i>) tuple.</p><p>
+
+</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></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlHashQLookup"></a>xmlHashQLookup ()</h3><pre class="programlisting">void*       xmlHashQLookup                  (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);</pre><p>
+Find the userdata specified by the QName <i><tt>prefix</tt></i>:<i><tt>name</tt></i>/<i><tt>name</tt></i>.</p><p>
+
+</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>prefix</tt></i>:</span></td><td> the prefix of the userdata
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlHashQLookup2"></a>xmlHashQLookup2 ()</h3><pre class="programlisting">void*       xmlHashQLookup2                 (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix2);</pre><p>
+Find the userdata specified by the QNames tuple</p><p>
+
+</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>prefix</tt></i>:</span></td><td> the 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>prefix2</tt></i>:</span></td><td> the second prefix of the userdata
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlHashQLookup3"></a>xmlHashQLookup3 ()</h3><pre class="programlisting">void*       xmlHashQLookup3                 (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix3);</pre><p>
+Find the userdata specified by the (<i><tt>name</tt></i>, <i><tt>name2</tt></i>, <i><tt>name3</tt></i>) tuple.</p><p>
+
+</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>prefix</tt></i>:</span></td><td> the 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>prefix2</tt></i>:</span></td><td> the second 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>prefix3</tt></i>:</span></td><td> the third prefix of the userdata
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlHashCopy"></a>xmlHashCopy ()</h3><pre class="programlisting"><a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> xmlHashCopy                 (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             <a href="libxml-hash.html#xmlHashCopier">xmlHashCopier</a> f);</pre><p>
+Scan the hash <i><tt>table</tt></i> and applied <i><tt>f</tt></i> to each value.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new table or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlHashSize"></a>xmlHashSize ()</h3><pre class="programlisting">int         xmlHashSize                     (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table);</pre><p>
+Query the number of elements installed in the hash <i><tt>table</tt></i>.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlHashScan"></a>xmlHashScan ()</h3><pre class="programlisting">void        xmlHashScan                     (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             <a href="libxml-hash.html#xmlHashScanner">xmlHashScanner</a> f,
+                                             void *data);</pre><p>
+Scan the hash <i><tt>table</tt></i> and applied <i><tt>f</tt></i> to each value.</p><p>
+
+</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"><h3><a name="xmlHashScan3"></a>xmlHashScan3 ()</h3><pre class="programlisting">void        xmlHashScan3                    (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3,
+                                             <a href="libxml-hash.html#xmlHashScanner">xmlHashScanner</a> f,
+                                             void *data);</pre><p>
+Scan the hash <i><tt>table</tt></i> and applied <i><tt>f</tt></i> to each value matching
+(<i><tt>name</tt></i>, <i><tt>name2</tt></i>, <i><tt>name3</tt></i>) tuple. If one of the names is null,
+the comparison is considered to match.</p><p>
+
+</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"><h3><a name="xmlHashScanFull"></a>xmlHashScanFull ()</h3><pre class="programlisting">void        xmlHashScanFull                 (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             <a href="libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f,
+                                             void *data);</pre><p>
+Scan the hash <i><tt>table</tt></i> and applied <i><tt>f</tt></i> to each value.</p><p>
+
+</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"><h3><a name="xmlHashScanFull3"></a>xmlHashScanFull3 ()</h3><pre class="programlisting">void        xmlHashScanFull3                (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3,
+                                             <a href="libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f,
+                                             void *data);</pre><p>
+Scan the hash <i><tt>table</tt></i> and applied <i><tt>f</tt></i> to each value matching
+(<i><tt>name</tt></i>, <i><tt>name2</tt></i>, <i><tt>name3</tt></i>) tuple. If one of the names is null,
+the comparison is considered to match.</p><p>
+
+</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></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xpointer.html"><b>&lt;&lt; xpointer</b></a></td><td align="right"><a accesskey="n" href="libxml-nanohttp.html"><b>nanohttp &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-list.html b/doc/html/libxml-list.html
index d4f6326..4867f95 100644
--- a/doc/html/libxml-list.html
+++ b/doc/html/libxml-list.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xmlversion.html" title="xmlversion"><link rel="next" href="libxml-HTMLtree.html" title="HTMLtree"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlversion.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-HTMLtree.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-list"></a><div class="titlepage"></div><div class="refnamediv"><h2>list</h2><p>list &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2701070"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xmlversion.html" title="xmlversion"><link rel="next" href="libxml-HTMLtree.html" title="HTMLtree"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlversion.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-HTMLtree.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-list"></a><div class="titlepage"></div><div class="refnamediv"><h2>list</h2><p>list &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2635080"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -41,6 +41,48 @@
                                              const void *data1);
 int         (<a href="libxml-list.html#xmlListWalker">*xmlListWalker</a>)                (const void *data,
                                              const void *user);
+<a href="libxml-list.html#xmlListPtr">xmlListPtr</a>  <a href="libxml-list.html#xmlListCreate">xmlListCreate</a>                   (<a href="libxml-list.html#xmlListDeallocator">xmlListDeallocator</a> deallocator,
+                                             <a href="libxml-list.html#xmlListDataCompare">xmlListDataCompare</a> compare);
+void        <a href="libxml-list.html#xmlListDelete">xmlListDelete</a>                   (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l);
+void*       <a href="libxml-list.html#xmlListSearch">xmlListSearch</a>                   (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l,
+                                             void *data);
+void*       <a href="libxml-list.html#xmlListReverseSearch">xmlListReverseSearch</a>            (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l,
+                                             void *data);
+int         <a href="libxml-list.html#xmlListInsert">xmlListInsert</a>                   (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l,
+                                             void *data);
+int         <a href="libxml-list.html#xmlListAppend">xmlListAppend</a>                   (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l,
+                                             void *data);
+int         <a href="libxml-list.html#xmlListRemoveFirst">xmlListRemoveFirst</a>              (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l,
+                                             void *data);
+int         <a href="libxml-list.html#xmlListRemoveLast">xmlListRemoveLast</a>               (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l,
+                                             void *data);
+int         <a href="libxml-list.html#xmlListRemoveAll">xmlListRemoveAll</a>                (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l,
+                                             void *data);
+void        <a href="libxml-list.html#xmlListClear">xmlListClear</a>                    (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l);
+int         <a href="libxml-list.html#xmlListEmpty">xmlListEmpty</a>                    (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l);
+<a href="libxml-list.html#xmlLinkPtr">xmlLinkPtr</a>  <a href="libxml-list.html#xmlListFront">xmlListFront</a>                    (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l);
+<a href="libxml-list.html#xmlLinkPtr">xmlLinkPtr</a>  <a href="libxml-list.html#xmlListEnd">xmlListEnd</a>                      (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l);
+int         <a href="libxml-list.html#xmlListSize">xmlListSize</a>                     (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l);
+void        <a href="libxml-list.html#xmlListPopFront">xmlListPopFront</a>                 (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l);
+void        <a href="libxml-list.html#xmlListPopBack">xmlListPopBack</a>                  (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l);
+int         <a href="libxml-list.html#xmlListPushFront">xmlListPushFront</a>                (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l,
+                                             void *data);
+int         <a href="libxml-list.html#xmlListPushBack">xmlListPushBack</a>                 (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l,
+                                             void *data);
+void        <a href="libxml-list.html#xmlListReverse">xmlListReverse</a>                  (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l);
+void        <a href="libxml-list.html#xmlListSort">xmlListSort</a>                     (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l);
+void        <a href="libxml-list.html#xmlListWalk">xmlListWalk</a>                     (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l,
+                                             <a href="libxml-list.html#xmlListWalker">xmlListWalker</a> walker,
+                                             const void *user);
+void        <a href="libxml-list.html#xmlListReverseWalk">xmlListReverseWalk</a>              (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l,
+                                             <a href="libxml-list.html#xmlListWalker">xmlListWalker</a> walker,
+                                             const void *user);
+void        <a href="libxml-list.html#xmlListMerge">xmlListMerge</a>                    (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l1,
+                                             <a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l2);
+<a href="libxml-list.html#xmlListPtr">xmlListPtr</a>  <a href="libxml-list.html#xmlListDup">xmlListDup</a>                      (const <a href="libxml-list.html#xmlListPtr">xmlListPtr</a> old);
+int         <a href="libxml-list.html#xmlListCopy">xmlListCopy</a>                     (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> cur,
+                                             const <a href="libxml-list.html#xmlListPtr">xmlListPtr</a> old);
+void*       <a href="libxml-list.html#xmlLinkGetData">xmlLinkGetData</a>                  (<a href="libxml-list.html#xmlLinkPtr">xmlLinkPtr</a> lk);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlLink"></a>struct xmlLink</h3><pre class="programlisting">struct xmlLink;</pre><p>
@@ -66,9 +108,162 @@
 </td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 is equality, -1 or 1 otherwise depending on the ordering.
 </td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlListWalker"></a>xmlListWalker ()</h3><pre class="programlisting">int         (*xmlListWalker)                (const void *data,
                                              const void *user);</pre><p>
-Callback function used when walking a list with <GTKDOCLINK HREF="xmlListWalk">xmlListWalk</GTKDOCLINK>().</p><p>
+Callback function used when walking a list with <a href="libxml-list.html#xmlListWalk">xmlListWalk</a>().</p><p>
 
 </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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 to stop walking the list, 1 otherwise.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlListCreate"></a>xmlListCreate ()</h3><pre class="programlisting"><a href="libxml-list.html#xmlListPtr">xmlListPtr</a>  xmlListCreate                   (<a href="libxml-list.html#xmlListDeallocator">xmlListDeallocator</a> deallocator,
+                                             <a href="libxml-list.html#xmlListDataCompare">xmlListDataCompare</a> compare);</pre><p>
+Create a new list</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new list or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlListDelete"></a>xmlListDelete ()</h3><pre class="programlisting">void        xmlListDelete                   (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l);</pre><p>
+Deletes the list and its associated data</p><p>
+
+</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"><h3><a name="xmlListSearch"></a>xmlListSearch ()</h3><pre class="programlisting">void*       xmlListSearch                   (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l,
+                                             void *data);</pre><p>
+Search the list for an existing value of <i><tt>data</tt></i></p><p>
+
+</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></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlListReverseSearch"></a>xmlListReverseSearch ()</h3><pre class="programlisting">void*       xmlListReverseSearch            (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l,
+                                             void *data);</pre><p>
+Search the list in reverse order for an existing value of <i><tt>data</tt></i></p><p>
+
+</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></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlListInsert"></a>xmlListInsert ()</h3><pre class="programlisting">int         xmlListInsert                   (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l,
+                                             void *data);</pre><p>
+Insert data in the ordered list at the beginning for this value</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success, 1 in case of failure
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlListAppend"></a>xmlListAppend ()</h3><pre class="programlisting">int         xmlListAppend                   (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l,
+                                             void *data);</pre><p>
+Insert data in the ordered list at the end for this value</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success, 1 in case of failure
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlListRemoveFirst"></a>xmlListRemoveFirst ()</h3><pre class="programlisting">int         xmlListRemoveFirst              (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l,
+                                             void *data);</pre><p>
+Remove the first instance associated to data in the list</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if a deallocation occured, or 0 if not found
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlListRemoveLast"></a>xmlListRemoveLast ()</h3><pre class="programlisting">int         xmlListRemoveLast               (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l,
+                                             void *data);</pre><p>
+Remove the last instance associated to data in the list</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if a deallocation occured, or 0 if not found
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlListRemoveAll"></a>xmlListRemoveAll ()</h3><pre class="programlisting">int         xmlListRemoveAll                (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l,
+                                             void *data);</pre><p>
+Remove the all instance associated to data in the list</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of deallocation, or 0 if not found
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlListClear"></a>xmlListClear ()</h3><pre class="programlisting">void        xmlListClear                    (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l);</pre><p>
+Remove the all data in the list</p><p>
+
+</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"><h3><a name="xmlListEmpty"></a>xmlListEmpty ()</h3><pre class="programlisting">int         xmlListEmpty                    (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l);</pre><p>
+Is the list empty ?</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if the list is empty, 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlListFront"></a>xmlListFront ()</h3><pre class="programlisting"><a href="libxml-list.html#xmlLinkPtr">xmlLinkPtr</a>  xmlListFront                    (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l);</pre><p>
+Get the first element in the list</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the first element in the list, or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlListEnd"></a>xmlListEnd ()</h3><pre class="programlisting"><a href="libxml-list.html#xmlLinkPtr">xmlLinkPtr</a>  xmlListEnd                      (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l);</pre><p>
+Get the last element in the list</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the last element in the list, or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlListSize"></a>xmlListSize ()</h3><pre class="programlisting">int         xmlListSize                     (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l);</pre><p>
+Get the number of elements in the list</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of elements in the list
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlListPopFront"></a>xmlListPopFront ()</h3><pre class="programlisting">void        xmlListPopFront                 (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l);</pre><p>
+Removes the first element in the list</p><p>
+
+</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"><h3><a name="xmlListPopBack"></a>xmlListPopBack ()</h3><pre class="programlisting">void        xmlListPopBack                  (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l);</pre><p>
+Removes the last element in the list</p><p>
+
+</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"><h3><a name="xmlListPushFront"></a>xmlListPushFront ()</h3><pre class="programlisting">int         xmlListPushFront                (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l,
+                                             void *data);</pre><p>
+add the new data at the beginning of the list</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if successful, 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlListPushBack"></a>xmlListPushBack ()</h3><pre class="programlisting">int         xmlListPushBack                 (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l,
+                                             void *data);</pre><p>
+add the new data at the end of the list</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if successful, 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlListReverse"></a>xmlListReverse ()</h3><pre class="programlisting">void        xmlListReverse                  (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l);</pre><p>
+Reverse the order of the elements in the list</p><p>
+
+</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"><h3><a name="xmlListSort"></a>xmlListSort ()</h3><pre class="programlisting">void        xmlListSort                     (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l);</pre><p>
+Sort all the elements in the list</p><p>
+
+</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"><h3><a name="xmlListWalk"></a>xmlListWalk ()</h3><pre class="programlisting">void        xmlListWalk                     (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l,
+                                             <a href="libxml-list.html#xmlListWalker">xmlListWalker</a> walker,
+                                             const void *user);</pre><p>
+Walk all the element of the first from first to last and
+apply the walker function to it</p><p>
+
+</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"><h3><a name="xmlListReverseWalk"></a>xmlListReverseWalk ()</h3><pre class="programlisting">void        xmlListReverseWalk              (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l,
+                                             <a href="libxml-list.html#xmlListWalker">xmlListWalker</a> walker,
+                                             const void *user);</pre><p>
+Walk all the element of the list in reverse order and
+apply the walker function to it</p><p>
+
+</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"><h3><a name="xmlListMerge"></a>xmlListMerge ()</h3><pre class="programlisting">void        xmlListMerge                    (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l1,
+                                             <a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l2);</pre><p>
+include all the elements of the second list in the first one and
+clear the second list</p><p>
+
+</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"><h3><a name="xmlListDup"></a>xmlListDup ()</h3><pre class="programlisting"><a href="libxml-list.html#xmlListPtr">xmlListPtr</a>  xmlListDup                      (const <a href="libxml-list.html#xmlListPtr">xmlListPtr</a> old);</pre><p>
+Duplicate the list</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlListCopy"></a>xmlListCopy ()</h3><pre class="programlisting">int         xmlListCopy                     (<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> cur,
+                                             const <a href="libxml-list.html#xmlListPtr">xmlListPtr</a> old);</pre><p>
+Move all the element from the old list in the new list</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success 1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlLinkGetData"></a>xmlLinkGetData ()</h3><pre class="programlisting">void*       xmlLinkGetData                  (<a href="libxml-list.html#xmlLinkPtr">xmlLinkPtr</a> lk);</pre><p>
+See Returns.</p><p>
+
+</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></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xmlversion.html"><b>&lt;&lt; xmlversion</b></a></td><td align="right"><a accesskey="n" href="libxml-HTMLtree.html"><b>HTMLtree &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-nanoftp.html b/doc/html/libxml-nanoftp.html
index b113717..6b04db5 100644
--- a/doc/html/libxml-nanoftp.html
+++ b/doc/html/libxml-nanoftp.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-uri.html" title="uri"><link rel="next" href="libxml-schemasInternals.html" title="schemasInternals"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-uri.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-schemasInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-nanoftp"></a><div class="titlepage"></div><div class="refnamediv"><h2>nanoftp</h2><p>nanoftp &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2685647"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-SAX2.html" title="SAX2"><link rel="next" href="libxml-schemasInternals.html" title="schemasInternals"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-SAX2.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-schemasInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-nanoftp"></a><div class="titlepage"></div><div class="refnamediv"><h2>nanoftp</h2><p>nanoftp &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2690152"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -47,6 +47,45 @@
 void        (<a href="libxml-nanoftp.html#ftpDataCallback">*ftpDataCallback</a>)              (void *userData,
                                              const char *data,
                                              int len);
+void        <a href="libxml-nanoftp.html#xmlNanoFTPInit">xmlNanoFTPInit</a>                  (void);
+void        <a href="libxml-nanoftp.html#xmlNanoFTPCleanup">xmlNanoFTPCleanup</a>               (void);
+void*       <a href="libxml-nanoftp.html#xmlNanoFTPNewCtxt">xmlNanoFTPNewCtxt</a>               (const char *URL);
+void        <a href="libxml-nanoftp.html#xmlNanoFTPFreeCtxt">xmlNanoFTPFreeCtxt</a>              (void *ctx);
+void*       <a href="libxml-nanoftp.html#xmlNanoFTPConnectTo">xmlNanoFTPConnectTo</a>             (const char *server,
+                                             int port);
+void*       <a href="libxml-nanoftp.html#xmlNanoFTPOpen">xmlNanoFTPOpen</a>                  (const char *URL);
+int         <a href="libxml-nanoftp.html#xmlNanoFTPConnect">xmlNanoFTPConnect</a>               (void *ctx);
+int         <a href="libxml-nanoftp.html#xmlNanoFTPClose">xmlNanoFTPClose</a>                 (void *ctx);
+int         <a href="libxml-nanoftp.html#xmlNanoFTPQuit">xmlNanoFTPQuit</a>                  (void *ctx);
+void        <a href="libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a>             (const char *URL);
+void        <a href="libxml-nanoftp.html#xmlNanoFTPProxy">xmlNanoFTPProxy</a>                 (const char *host,
+                                             int port,
+                                             const char *user,
+                                             const char *passwd,
+                                             int type);
+int         <a href="libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a>             (void *ctx,
+                                             const char *URL);
+int         <a href="libxml-nanoftp.html#xmlNanoFTPGetResponse">xmlNanoFTPGetResponse</a>           (void *ctx);
+int         <a href="libxml-nanoftp.html#xmlNanoFTPCheckResponse">xmlNanoFTPCheckResponse</a>         (void *ctx);
+int         <a href="libxml-nanoftp.html#xmlNanoFTPCwd">xmlNanoFTPCwd</a>                   (void *ctx,
+                                             char *directory);
+int         <a href="libxml-nanoftp.html#xmlNanoFTPDele">xmlNanoFTPDele</a>                  (void *ctx,
+                                             char *file);
+int         <a href="libxml-nanoftp.html#xmlNanoFTPGetConnection">xmlNanoFTPGetConnection</a>         (void *ctx);
+int         <a href="libxml-nanoftp.html#xmlNanoFTPCloseConnection">xmlNanoFTPCloseConnection</a>       (void *ctx);
+int         <a href="libxml-nanoftp.html#xmlNanoFTPList">xmlNanoFTPList</a>                  (void *ctx,
+                                             <a href="libxml-nanoftp.html#ftpListCallback">ftpListCallback</a> callback,
+                                             void *userData,
+                                             char *filename);
+int         <a href="libxml-nanoftp.html#xmlNanoFTPGetSocket">xmlNanoFTPGetSocket</a>             (void *ctx,
+                                             const char *filename);
+int         <a href="libxml-nanoftp.html#xmlNanoFTPGet">xmlNanoFTPGet</a>                   (void *ctx,
+                                             <a href="libxml-nanoftp.html#ftpDataCallback">ftpDataCallback</a> callback,
+                                             void *userData,
+                                             const char *filename);
+int         <a href="libxml-nanoftp.html#xmlNanoFTPRead">xmlNanoFTPRead</a>                  (void *ctx,
+                                             void *dest,
+                                             int len);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="ftpListCallback"></a>ftpListCallback ()</h3><pre class="programlisting">void        (*ftpListCallback)              (void *userData,
@@ -84,4 +123,154 @@
 </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></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-uri.html"><b>&lt;&lt; uri</b></a></td><td align="right"><a accesskey="n" href="libxml-schemasInternals.html"><b>schemasInternals &gt;&gt;</b></a></td></tr></table></body></html>
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoFTPInit"></a>xmlNanoFTPInit ()</h3><pre class="programlisting">void        xmlNanoFTPInit                  (void);</pre><p>
+Initialize the FTP protocol layer.
+Currently it just checks for proxy informations,
+and get the hostname</p><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlNanoFTPCleanup"></a>xmlNanoFTPCleanup ()</h3><pre class="programlisting">void        xmlNanoFTPCleanup               (void);</pre><p>
+Cleanup the FTP protocol layer. This cleanup proxy informations.</p><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlNanoFTPNewCtxt"></a>xmlNanoFTPNewCtxt ()</h3><pre class="programlisting">void*       xmlNanoFTPNewCtxt               (const char *URL);</pre><p>
+Allocate and initialize a new FTP context.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  The URL used to initialize the context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoFTPFreeCtxt"></a>xmlNanoFTPFreeCtxt ()</h3><pre class="programlisting">void        xmlNanoFTPFreeCtxt              (void *ctx);</pre><p>
+Frees the context after closing the connection.</p><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>  an FTP context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoFTPConnectTo"></a>xmlNanoFTPConnectTo ()</h3><pre class="programlisting">void*       xmlNanoFTPConnectTo             (const char *server,
+                                             int port);</pre><p>
+Tries to open a control connection to the given server/port</p><p>
+
+</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></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoFTPOpen"></a>xmlNanoFTPOpen ()</h3><pre class="programlisting">void*       xmlNanoFTPOpen                  (const char *URL);</pre><p>
+Start to fetch the given ftp:// resource</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td> the URL to the resource
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoFTPConnect"></a>xmlNanoFTPConnect ()</h3><pre class="programlisting">int         xmlNanoFTPConnect               (void *ctx);</pre><p>
+Tries to open a control connection</p><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>  an FTP context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>-1 in case of error, 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoFTPClose"></a>xmlNanoFTPClose ()</h3><pre class="programlisting">int         xmlNanoFTPClose                 (void *ctx);</pre><p>
+Close the connection and both control and transport</p><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> an FTP context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>-1 incase of error, 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoFTPQuit"></a>xmlNanoFTPQuit ()</h3><pre class="programlisting">int         xmlNanoFTPQuit                  (void *ctx);</pre><p>
+Send a QUIT command to the server</p><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>  an FTP context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>-1 in case of error, 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoFTPScanProxy"></a>xmlNanoFTPScanProxy ()</h3><pre class="programlisting">void        xmlNanoFTPScanProxy             (const char *URL);</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 informations.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  The proxy URL used to initialize the proxy context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoFTPProxy"></a>xmlNanoFTPProxy ()</h3><pre class="programlisting">void        xmlNanoFTPProxy                 (const char *host,
+                                             int port,
+                                             const char *user,
+                                             const char *passwd,
+                                             int type);</pre><p>
+Setup the FTP proxy informations.
+This can also be done by using ftp_proxy ftp_proxy_user and
+ftp_proxy_password environment variables.</p><p>
+
+</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<i><tt>b</tt></i>
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoFTPUpdateURL"></a>xmlNanoFTPUpdateURL ()</h3><pre class="programlisting">int         xmlNanoFTPUpdateURL             (void *ctx,
+                                             const char *URL);</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><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>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 if Ok, -1 in case of error (other host).
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoFTPGetResponse"></a>xmlNanoFTPGetResponse ()</h3><pre class="programlisting">int         xmlNanoFTPGetResponse           (void *ctx);</pre><p>
+Get the response from the FTP server after a command.</p><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>  an FTP context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the code number
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoFTPCheckResponse"></a>xmlNanoFTPCheckResponse ()</h3><pre class="programlisting">int         xmlNanoFTPCheckResponse         (void *ctx);</pre><p>
+Check if there is a response from the FTP server after a command.</p><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>  an FTP context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the code number, or 0
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoFTPCwd"></a>xmlNanoFTPCwd ()</h3><pre class="programlisting">int         xmlNanoFTPCwd                   (void *ctx,
+                                             char *directory);</pre><p>
+Tries to change the remote directory</p><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>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>-1 incase of error, 1 if CWD worked, 0 if it failed
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoFTPDele"></a>xmlNanoFTPDele ()</h3><pre class="programlisting">int         xmlNanoFTPDele                  (void *ctx,
+                                             char *file);</pre><p>
+Tries to delete an item (file or directory) from server</p><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>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>-1 incase of error, 1 if DELE worked, 0 if it failed
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoFTPGetConnection"></a>xmlNanoFTPGetConnection ()</h3><pre class="programlisting">int         xmlNanoFTPGetConnection         (void *ctx);</pre><p>
+Try to open a data connection to the server. Currently only
+passive mode is supported.</p><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>  an FTP context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>-1 incase of error, 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoFTPCloseConnection"></a>xmlNanoFTPCloseConnection ()</h3><pre class="programlisting">int         xmlNanoFTPCloseConnection       (void *ctx);</pre><p>
+Close the data connection from the server</p><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>  an FTP context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>-1 incase of error, 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoFTPList"></a>xmlNanoFTPList ()</h3><pre class="programlisting">int         xmlNanoFTPList                  (void *ctx,
+                                             <a href="libxml-nanoftp.html#ftpListCallback">ftpListCallback</a> callback,
+                                             void *userData,
+                                             char *filename);</pre><p>
+Do a listing on the server. All files info are passed back
+in the callbacks.</p><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>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>-1 incase of error, 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoFTPGetSocket"></a>xmlNanoFTPGetSocket ()</h3><pre class="programlisting">int         xmlNanoFTPGetSocket             (void *ctx,
+                                             const char *filename);</pre><p>
+Initiate fetch of the given file from the server.</p><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>  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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlNanoFTPGet"></a>xmlNanoFTPGet ()</h3><pre class="programlisting">int         xmlNanoFTPGet                   (void *ctx,
+                                             <a href="libxml-nanoftp.html#ftpDataCallback">ftpDataCallback</a> callback,
+                                             void *userData,
+                                             const char *filename);</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><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>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>-1 incase of error, 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoFTPRead"></a>xmlNanoFTPRead ()</h3><pre class="programlisting">int         xmlNanoFTPRead                  (void *ctx,
+                                             void *dest,
+                                             int len);</pre><p>
+This function tries to read <i><tt>len</tt></i> bytes from the existing FTP connection
+and saves them in <i><tt>dest</tt></i>. This is a blocking call.</p><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>  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"><span class="emphasis"><i>Returns</i></span> :</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></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-SAX2.html"><b>&lt;&lt; SAX2</b></a></td><td align="right"><a accesskey="n" href="libxml-schemasInternals.html"><b>schemasInternals &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-nanohttp.html b/doc/html/libxml-nanohttp.html
index dfdf145..f4f7a6d 100644
--- a/doc/html/libxml-nanohttp.html
+++ b/doc/html/libxml-nanohttp.html
@@ -1,4 +1,4 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>nanohttp</title><meta name="generator" content="DocBook XSL Stylesheets V1.58.1"><style xmlns="http://www.w3.org/TR/xhtml1/transitional" type="text/css">
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>nanohttp</title><meta name="generator" content="DocBook XSL Stylesheets V1.48"><meta name="generator" content="GTK-Doc V1.1 (XML mode)"><style type="text/css">
         .synopsis, .classsynopsis {
             background: #eeeeee;
             border: solid 1px #aaaaaa;
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="libxml-lib.html" title="Libxml Library Reference"><link rel="previous" href="libxml-xinclude.html" title="xinclude"><link rel="next" href="libxml-nanoftp.html" title="nanoftp"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xinclude.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></img></a></td><td><a accesskey="u" href="libxml-lib.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></img></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></img></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-nanoftp.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></img></a></td></tr></table><div class="refentry" lang="en"><a name="libxml-nanohttp"></a><div class="titlepage"></div><div class="refnamediv"><h2>nanohttp</h2><p>nanohttp &#8212; </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-hash.html" title="hash"><link rel="next" href="libxml-relaxng.html" title="relaxng"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-hash.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-relaxng.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-nanohttp"></a><div class="titlepage"></div><div class="refnamediv"><h2>nanohttp</h2><p>nanohttp &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2777439"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -58,41 +58,44 @@
                                              char **redir);
 int         <a href="libxml-nanohttp.html#xmlNanoHTTPReturnCode">xmlNanoHTTPReturnCode</a>           (void *ctx);
 const char* <a href="libxml-nanohttp.html#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a>           (void *ctx);
+const char* <a href="libxml-nanohttp.html#xmlNanoHTTPRedir">xmlNanoHTTPRedir</a>                (void *ctx);
+const char* <a href="libxml-nanohttp.html#xmlNanoHTTPEncoding">xmlNanoHTTPEncoding</a>             (void *ctx);
+const char* <a href="libxml-nanohttp.html#xmlNanoHTTPMimeType">xmlNanoHTTPMimeType</a>             (void *ctx);
 int         <a href="libxml-nanohttp.html#xmlNanoHTTPRead">xmlNanoHTTPRead</a>                 (void *ctx,
                                              void *dest,
                                              int len);
 int         <a href="libxml-nanohttp.html#xmlNanoHTTPSave">xmlNanoHTTPSave</a>                 (void *ctxt,
                                              const char *filename);
 void        <a href="libxml-nanohttp.html#xmlNanoHTTPClose">xmlNanoHTTPClose</a>                (void *ctx);
-</pre></div><div class="refsect1" lang="en"><h2>Description</h2><p>
+</pre></div><div class="refsect1"><h2>Description</h2><p>
 
-</p></div><div class="refsect1" lang="en"><h2>Details</h2><div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPInit"></a>xmlNanoHTTPInit ()</h3><pre class="programlisting">void        xmlNanoHTTPInit                 (void);</pre><p>
+</p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlNanoHTTPInit"></a>xmlNanoHTTPInit ()</h3><pre class="programlisting">void        xmlNanoHTTPInit                 (void);</pre><p>
 Initialize the HTTP protocol layer.
 Currently it just checks for proxy informations</p><p>
 
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPCleanup"></a>xmlNanoHTTPCleanup ()</h3><pre class="programlisting">void        xmlNanoHTTPCleanup              (void);</pre><p>
+</p></div><hr><div class="refsect2"><h3><a name="xmlNanoHTTPCleanup"></a>xmlNanoHTTPCleanup ()</h3><pre class="programlisting">void        xmlNanoHTTPCleanup              (void);</pre><p>
 Cleanup the HTTP protocol layer.</p><p>
 
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPScanProxy"></a>xmlNanoHTTPScanProxy ()</h3><pre class="programlisting">void        xmlNanoHTTPScanProxy            (const char *URL);</pre><p>
+</p></div><hr><div class="refsect2"><h3><a name="xmlNanoHTTPScanProxy"></a>xmlNanoHTTPScanProxy ()</h3><pre class="programlisting">void        xmlNanoHTTPScanProxy            (const char *URL);</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 informations.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPFetch"></a>xmlNanoHTTPFetch ()</h3><pre class="programlisting">int         xmlNanoHTTPFetch                (const char *URL,
+</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"><h3><a name="xmlNanoHTTPFetch"></a>xmlNanoHTTPFetch ()</h3><pre class="programlisting">int         xmlNanoHTTPFetch                (const char *URL,
                                              const char *filename,
                                              char **contentType);</pre><p>
 This function try to fetch the indicated resource via HTTP GET
 and save it's content in the file.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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
+</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"><span class="emphasis"><em>Returns</em></span> :</span></td><td>-1 in case of failure, 0 incase of success. The contentType,
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>-1 in case of failure, 0 incase of success. The contentType,
     if provided must be freed by the caller
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPMethod"></a>xmlNanoHTTPMethod ()</h3><pre class="programlisting">void*       xmlNanoHTTPMethod               (const char *URL,
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoHTTPMethod"></a>xmlNanoHTTPMethod ()</h3><pre class="programlisting">void*       xmlNanoHTTPMethod               (const char *URL,
                                              const char *method,
                                              const char *input,
                                              char **contentType,
@@ -102,13 +105,13 @@
 via HTTP using the given <i><tt>method</tt></i>, adding the given extra headers
 and the input buffer for the request content.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPMethodRedir"></a>xmlNanoHTTPMethodRedir ()</h3><pre class="programlisting">void*       xmlNanoHTTPMethodRedir          (const char *URL,
+</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></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoHTTPMethodRedir"></a>xmlNanoHTTPMethodRedir ()</h3><pre class="programlisting">void*       xmlNanoHTTPMethodRedir          (const char *URL,
                                              const char *method,
                                              const char *input,
                                              char **contentType,
@@ -119,64 +122,91 @@
 via HTTP using the given <i><tt>method</tt></i>, adding the given extra headers
 and the input buffer for the request content.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPOpen"></a>xmlNanoHTTPOpen ()</h3><pre class="programlisting">void*       xmlNanoHTTPOpen                 (const char *URL,
+</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></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoHTTPOpen"></a>xmlNanoHTTPOpen ()</h3><pre class="programlisting">void*       xmlNanoHTTPOpen                 (const char *URL,
                                              char **contentType);</pre><p>
 This function try to open a connection to the indicated resource
 via HTTP GET.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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
+</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></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPOpenRedir"></a>xmlNanoHTTPOpenRedir ()</h3><pre class="programlisting">void*       xmlNanoHTTPOpenRedir            (const char *URL,
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoHTTPOpenRedir"></a>xmlNanoHTTPOpenRedir ()</h3><pre class="programlisting">void*       xmlNanoHTTPOpenRedir            (const char *URL,
                                              char **contentType,
                                              char **redir);</pre><p>
 This function try to open a connection to the indicated resource
 via HTTP GET.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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
+</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></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPReturnCode"></a>xmlNanoHTTPReturnCode ()</h3><pre class="programlisting">int         xmlNanoHTTPReturnCode           (void *ctx);</pre><p>
+</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></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoHTTPReturnCode"></a>xmlNanoHTTPReturnCode ()</h3><pre class="programlisting">int         xmlNanoHTTPReturnCode           (void *ctx);</pre><p>
 Get the latest HTTP return code received</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>  the HTTP context
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the HTTP return code for the request.
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPAuthHeader"></a>xmlNanoHTTPAuthHeader ()</h3><pre class="programlisting">const char* xmlNanoHTTPAuthHeader           (void *ctx);</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>  the HTTP context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the HTTP return code for the request.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoHTTPAuthHeader"></a>xmlNanoHTTPAuthHeader ()</h3><pre class="programlisting">const char* xmlNanoHTTPAuthHeader           (void *ctx);</pre><p>
 Get the authentication header of an HTTP context</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>  the HTTP context
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the stashed value of the WWW-Authenticate or Proxy-Authenticate
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the stashed value of the WWW-Authenticate or Proxy-Authenticate
 header.
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPRead"></a>xmlNanoHTTPRead ()</h3><pre class="programlisting">int         xmlNanoHTTPRead                 (void *ctx,
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoHTTPRedir"></a>xmlNanoHTTPRedir ()</h3><pre class="programlisting">const char* xmlNanoHTTPRedir                (void *ctx);</pre><p>
+Provides the specified redirection URL if available from the HTTP header.
+</p><p>
+Return the specified redirection URL or NULL if not redirected.</p><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>  the HTTP context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoHTTPEncoding"></a>xmlNanoHTTPEncoding ()</h3><pre class="programlisting">const char* xmlNanoHTTPEncoding             (void *ctx);</pre><p>
+Provides the specified encoding if specified in the HTTP headers.
+</p><p>
+Return the specified encoding or NULL if not available</p><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>  the HTTP context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoHTTPMimeType"></a>xmlNanoHTTPMimeType ()</h3><pre class="programlisting">const char* xmlNanoHTTPMimeType             (void *ctx);</pre><p>
+Provides the specified Mime-Type if specified in the HTTP headers.
+</p><p>
+Return the specified Mime-Type or NULL if not available</p><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>  the HTTP context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoHTTPRead"></a>xmlNanoHTTPRead ()</h3><pre class="programlisting">int         xmlNanoHTTPRead                 (void *ctx,
                                              void *dest,
                                              int len);</pre><p>
 This function tries to read <i><tt>len</tt></i> bytes from the existing HTTP connection
 and saves them in <i><tt>dest</tt></i>. This is a blocking call.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of byte read. 0 is an indication of an end of 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>  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"><span class="emphasis"><i>Returns</i></span> :</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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPSave"></a>xmlNanoHTTPSave ()</h3><pre class="programlisting">int         xmlNanoHTTPSave                 (void *ctxt,
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoHTTPSave"></a>xmlNanoHTTPSave ()</h3><pre class="programlisting">int         xmlNanoHTTPSave                 (void *ctxt,
                                              const char *filename);</pre><p>
 This function saves the output of the HTTP transaction to a file
 It closes and free the context at the end</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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"><span class="emphasis"><em>Returns</em></span> :</span></td><td>-1 in case of failure, 0 incase of success.
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPClose"></a>xmlNanoHTTPClose ()</h3><pre class="programlisting">void        xmlNanoHTTPClose                (void *ctx);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>-1 in case of failure, 0 incase of success.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNanoHTTPClose"></a>xmlNanoHTTPClose ()</h3><pre class="programlisting">void        xmlNanoHTTPClose                (void *ctx);</pre><p>
 This function closes an HTTP context, it ends up the connection and
 free all data related to it.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>ctx</tt></i> :</span></td><td>  the HTTP context
-</td></tr></tbody></table></div></div></div></div><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xinclude.html"><b>&lt;&lt; xinclude</b></a></td><td align="right"><a accesskey="n" href="libxml-nanoftp.html"><b>nanoftp &gt;&gt;</b></a></td></tr></table></body></html>
+</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></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-hash.html"><b>&lt;&lt; hash</b></a></td><td align="right"><a accesskey="n" href="libxml-relaxng.html"><b>relaxng &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-parser.html b/doc/html/libxml-parser.html
index 7cf2652..2354b85 100644
--- a/doc/html/libxml-parser.html
+++ b/doc/html/libxml-parser.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-threads.html" title="threads"><link rel="next" href="libxml-c14n.html" title="c14n"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-threads.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-c14n.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-parser"></a><div class="titlepage"></div><div class="refnamediv"><h2>parser</h2><p>parser &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2595846"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-threads.html" title="threads"><link rel="next" href="libxml-c14n.html" title="c14n"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-threads.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-c14n.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-parser"></a><div class="titlepage"></div><div class="refnamediv"><h2>parser</h2><p>parser &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2642197"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -147,7 +147,238 @@
                                             (const char *URL,
                                              const char *ID,
                                              <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> context);
+void        <a href="libxml-parser.html#xmlInitParser">xmlInitParser</a>                   (void);
+void        <a href="libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a>                (void);
+int         <a href="libxml-parser.html#xmlParserInputRead">xmlParserInputRead</a>              (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in,
+                                             int len);
+int         <a href="libxml-parser.html#xmlParserInputGrow">xmlParserInputGrow</a>              (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in,
+                                             int len);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parser.html#xmlStrdup">xmlStrdup</a>                       (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parser.html#xmlStrndup">xmlStrndup</a>                      (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             int len);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parser.html#xmlCharStrndup">xmlCharStrndup</a>                  (const char *cur,
+                                             int len);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parser.html#xmlCharStrdup">xmlCharStrdup</a>                   (const char *cur);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parser.html#xmlStrsub">xmlStrsub</a>                       (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             int start,
+                                             int len);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parser.html#xmlStrchr">xmlStrchr</a>                    (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> val);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parser.html#xmlStrstr">xmlStrstr</a>                    (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parser.html#xmlStrcasestr">xmlStrcasestr</a>                (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);
+int         <a href="libxml-parser.html#xmlStrcmp">xmlStrcmp</a>                       (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2);
+int         <a href="libxml-parser.html#xmlStrncmp">xmlStrncmp</a>                      (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2,
+                                             int len);
+int         <a href="libxml-parser.html#xmlStrcasecmp">xmlStrcasecmp</a>                   (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2);
+int         <a href="libxml-parser.html#xmlStrncasecmp">xmlStrncasecmp</a>                  (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2,
+                                             int len);
+int         <a href="libxml-parser.html#xmlStrEqual">xmlStrEqual</a>                     (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2);
+int         <a href="libxml-parser.html#xmlStrQEqual">xmlStrQEqual</a>                    (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pref,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);
+int         <a href="libxml-parser.html#xmlStrlen">xmlStrlen</a>                       (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parser.html#xmlStrcat">xmlStrcat</a>                       (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *add);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parser.html#xmlStrncat">xmlStrncat</a>                      (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *add,
+                                             int len);
+int         <a href="libxml-parser.html#xmlStrPrintf">xmlStrPrintf</a>                    (<a href="libxml-tree.html#xmlChar">xmlChar</a> *buf,
+                                             int len,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *msg,
+                                             ...);
+int         <a href="libxml-parser.html#xmlStrVPrintf">xmlStrVPrintf</a>                   (<a href="libxml-tree.html#xmlChar">xmlChar</a> *buf,
+                                             int len,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *msg,
+                                             va_list ap);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-parser.html#xmlParseDoc">xmlParseDoc</a>                     (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-parser.html#xmlParseMemory">xmlParseMemory</a>                  (const char *buffer,
+                                             int size);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-parser.html#xmlParseFile">xmlParseFile</a>                    (const char *filename);
+int         <a href="libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a>    (int val);
+int         <a href="libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a>            (int val);
+void        <a href="libxml-parser.html#xmlStopParser">xmlStopParser</a>                   (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int         <a href="libxml-parser.html#xmlPedanticParserDefault">xmlPedanticParserDefault</a>        (int val);
+int         <a href="libxml-parser.html#xmlLineNumbersDefault">xmlLineNumbersDefault</a>           (int val);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-parser.html#xmlRecoverDoc">xmlRecoverDoc</a>                   (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-parser.html#xmlRecoverMemory">xmlRecoverMemory</a>                (const char *buffer,
+                                             int size);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-parser.html#xmlRecoverFile">xmlRecoverFile</a>                  (const char *filename);
+int         <a href="libxml-parser.html#xmlParseDocument">xmlParseDocument</a>                (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int         <a href="libxml-parser.html#xmlParseExtParsedEnt">xmlParseExtParsedEnt</a>            (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-parser.html#xmlSAXParseDoc">xmlSAXParseDoc</a>                  (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             int recovery);
+int         <a href="libxml-parser.html#xmlSAXUserParseFile">xmlSAXUserParseFile</a>             (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             void *user_data,
+                                             const char *filename);
+int         <a href="libxml-parser.html#xmlSAXUserParseMemory">xmlSAXUserParseMemory</a>           (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             void *user_data,
+                                             const char *buffer,
+                                             int size);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-parser.html#xmlSAXParseMemory">xmlSAXParseMemory</a>               (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             const char *buffer,
+                                             int size,
+                                             int recovery);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-parser.html#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a>       (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             const char *buffer,
+                                             int size,
+                                             int recovery,
+                                             void *data);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-parser.html#xmlSAXParseFile">xmlSAXParseFile</a>                 (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             const char *filename,
+                                             int recovery);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-parser.html#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a>         (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             const char *filename,
+                                             int recovery,
+                                             void *data);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-parser.html#xmlSAXParseEntity">xmlSAXParseEntity</a>               (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             const char *filename);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-parser.html#xmlParseEntity">xmlParseEntity</a>                  (const char *filename);
+<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>   <a href="libxml-parser.html#xmlParseDTD">xmlParseDTD</a>                     (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);
+<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>   <a href="libxml-parser.html#xmlSAXParseDTD">xmlSAXParseDTD</a>                  (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);
+<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>   <a href="libxml-parser.html#xmlIOParseDTD">xmlIOParseDTD</a>                   (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+int         <a href="libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a>     (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             void *user_data,
+                                             int depth,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst);
+int         <a href="libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a>
+                                            (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             void *user_data,
+                                             int depth,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst,
+                                             int recover);
+int         <a href="libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a>          (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             void *user_data,
+                                             int depth,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URL,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst);
+int         <a href="libxml-parser.html#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a>      (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URL,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst);
+<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="libxml-parser.html#xmlNewParserCtxt">xmlNewParserCtxt</a>           (void);
+int         <a href="libxml-parser.html#xmlInitParserCtxt">xmlInitParserCtxt</a>               (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void        <a href="libxml-parser.html#xmlClearParserCtxt">xmlClearParserCtxt</a>              (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void        <a href="libxml-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a>               (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void        <a href="libxml-parser.html#xmlSetupParserForBuffer">xmlSetupParserForBuffer</a>         (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *buffer,
+                                             const char *filename);
+<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="libxml-parser.html#xmlCreateDocParserCtxt">xmlCreateDocParserCtxt</a>     (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur);
+int         <a href="libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a>              (int *len,
+                                             const char **result);
+int         <a href="libxml-parser.html#xmlGetFeature">xmlGetFeature</a>                   (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const char *name,
+                                             void *result);
+int         <a href="libxml-parser.html#xmlSetFeature">xmlSetFeature</a>                   (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const char *name,
+                                             void *value);
+<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a>    (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             void *user_data,
+                                             const char *chunk,
+                                             int size,
+                                             const char *filename);
+int         <a href="libxml-parser.html#xmlParseChunk">xmlParseChunk</a>                   (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const char *chunk,
+                                             int size,
+                                             int terminate);
+<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="libxml-parser.html#xmlCreateIOParserCtxt">xmlCreateIOParserCtxt</a>      (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             void *user_data,
+                                             <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
+                                             <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
+                                             void *ioctx,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="libxml-parser.html#xmlNewIOInputStream">xmlNewIOInputStream</a>       (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+const <a href="libxml-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a>* <a href="libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a>
+                                            (const <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+void        <a href="libxml-parser.html#xmlInitNodeInfoSeq">xmlInitNodeInfoSeq</a>              (<a href="libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq);
+void        <a href="libxml-parser.html#xmlClearNodeInfoSeq">xmlClearNodeInfoSeq</a>             (<a href="libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq);
+void        <a href="libxml-parser.html#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a>            (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info);
+void        <a href="libxml-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a>      (<a href="libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> f);
+<a href="libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> <a href="libxml-parser.html#xmlGetExternalEntityLoader">xmlGetExternalEntityLoader</a>
+                                            (void);
+<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="libxml-parser.html#xmlLoadExternalEntity">xmlLoadExternalEntity</a>     (const char *URL,
+                                             const char *ID,
+                                             <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 enum        <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a>;
+void        <a href="libxml-parser.html#xmlCtxtReset">xmlCtxtReset</a>                    (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int         <a href="libxml-parser.html#xmlCtxtResetPush">xmlCtxtResetPush</a>                (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const char *chunk,
+                                             int size,
+                                             const char *filename,
+                                             const char *encoding);
+int         <a href="libxml-parser.html#xmlCtxtUseOptions">xmlCtxtUseOptions</a>               (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             int options);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-parser.html#xmlReadDoc">xmlReadDoc</a>                      (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-parser.html#xmlReadFile">xmlReadFile</a>                     (const char *URL,
+                                             const char *encoding,
+                                             int options);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-parser.html#xmlReadMemory">xmlReadMemory</a>                   (const char *buffer,
+                                             int size,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-parser.html#xmlReadFd">xmlReadFd</a>                       (int fd,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-parser.html#xmlReadIO">xmlReadIO</a>                       (<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
+                                             <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
+                                             void *ioctx,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-parser.html#xmlCtxtReadDoc">xmlCtxtReadDoc</a>                  (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a>                 (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const char *filename,
+                                             const char *encoding,
+                                             int options);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-parser.html#xmlCtxtReadMemory">xmlCtxtReadMemory</a>               (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const char *buffer,
+                                             int size,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-parser.html#xmlCtxtReadFd">xmlCtxtReadFd</a>                   (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             int fd,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-parser.html#xmlCtxtReadIO">xmlCtxtReadIO</a>                   (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
+                                             <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
+                                             void *ioctx,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="XML-DEFAULT-VERSION-CAPS"></a>XML_DEFAULT_VERSION</h3><pre class="programlisting">#define XML_DEFAULT_VERSION	"1.0"
@@ -402,8 +633,8 @@
 Callback:
 The entity loader, to control the loading of external entities,
 the application can either:
-   - override this <GTKDOCLINK HREF="resolveEntity">resolveEntity</GTKDOCLINK>() callback in the SAX block
-   - or better use the <GTKDOCLINK HREF="xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</GTKDOCLINK>() function to
+   - override this <a href="libxml-SAX.html#resolveEntity">resolveEntity</a>() callback in the SAX block
+   - or better use the <a href="libxml-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a>() function to
      set up it's own entity resolution routine</p><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>  the user data (XML parser context)
@@ -757,6 +988,686 @@
 </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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the entity input parser.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlInitParser"></a>xmlInitParser ()</h3><pre class="programlisting">void        xmlInitParser                   (void);</pre><p>
+Initialization function for the XML parser.
+This is not reentrant. Call once before processing in case of
+use in multithreaded programs.</p><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlCleanupParser"></a>xmlCleanupParser ()</h3><pre class="programlisting">void        xmlCleanupParser                (void);</pre><p>
+Cleanup function for the XML library. It tries to reclaim all
+parsing related global memory allocated for the library processing.
+It doesn't deallocate any document related memory. Calling this
+function should not prevent reusing the library but one should
+call <a href="libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a>() only when the process has
+finished using the library or XML document built with it.</p><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlParserInputRead"></a>xmlParserInputRead ()</h3><pre class="programlisting">int         xmlParserInputRead              (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in,
+                                             int len);</pre><p>
+This function refresh the input for the parser. It doesn't try to
+preserve pointers to the input buffer, and discard already read data</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of xmlChars read, or -1 in case of error, 0 indicate the
+end of this entity
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParserInputGrow"></a>xmlParserInputGrow ()</h3><pre class="programlisting">int         xmlParserInputGrow              (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in,
+                                             int len);</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><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of xmlChars read, or -1 in case of error, 0 indicate the
+end of this entity
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlStrdup"></a>xmlStrdup ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlStrdup                       (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the input xmlChar *
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a new xmlChar * or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlStrndup"></a>xmlStrndup ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlStrndup                      (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             int len);</pre><p>
+a strndup for array of xmlChar's</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the input xmlChar *
+</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>  the len of <i><tt>cur</tt></i>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a new xmlChar * or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCharStrndup"></a>xmlCharStrndup ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlCharStrndup                  (const char *cur,
+                                             int len);</pre><p>
+a strndup for char's to xmlChar's</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the input char *
+</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>  the len of <i><tt>cur</tt></i>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a new xmlChar * or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCharStrdup"></a>xmlCharStrdup ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlCharStrdup                   (const char *cur);</pre><p>
+a strdup for char's to xmlChar's</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the input char *
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a new xmlChar * or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlStrsub"></a>xmlStrsub ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlStrsub                       (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             int start,
+                                             int len);</pre><p>
+Extract a substring of a given string</p><p>
+
+</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 xmlChar * 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlChar * for the first occurrence or NULL.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlStrchr"></a>xmlStrchr ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlStrchr                    (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> val);</pre><p>
+a strchr for xmlChar's</p><p>
+
+</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 xmlChar * array
+</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  the xmlChar to search
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlChar * for the first occurrence or NULL.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlStrstr"></a>xmlStrstr ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlStrstr                    (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);</pre><p>
+a strstr for xmlChar's</p><p>
+
+</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 xmlChar * array (haystack)
+</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  the xmlChar to search (needle)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlChar * for the first occurrence or NULL.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlStrcasestr"></a>xmlStrcasestr ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlStrcasestr                (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);</pre><p>
+a case-ignoring strstr for xmlChar's</p><p>
+
+</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 xmlChar * array (haystack)
+</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  the xmlChar to search (needle)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlChar * for the first occurrence or NULL.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlStrcmp"></a>xmlStrcmp ()</h3><pre class="programlisting">int         xmlStrcmp                       (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2);</pre><p>
+a strcmp for xmlChar's</p><p>
+
+</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 xmlChar *
+</td></tr><tr><td><span class="term"><i><tt>str2</tt></i>:</span></td><td>  the second xmlChar *
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the integer result of the comparison
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlStrncmp"></a>xmlStrncmp ()</h3><pre class="programlisting">int         xmlStrncmp                      (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2,
+                                             int len);</pre><p>
+a strncmp for xmlChar's</p><p>
+
+</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 xmlChar *
+</td></tr><tr><td><span class="term"><i><tt>str2</tt></i>:</span></td><td>  the second xmlChar *
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the integer result of the comparison
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlStrcasecmp"></a>xmlStrcasecmp ()</h3><pre class="programlisting">int         xmlStrcasecmp                   (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2);</pre><p>
+a strcasecmp for xmlChar's</p><p>
+
+</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 xmlChar *
+</td></tr><tr><td><span class="term"><i><tt>str2</tt></i>:</span></td><td>  the second xmlChar *
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the integer result of the comparison
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlStrncasecmp"></a>xmlStrncasecmp ()</h3><pre class="programlisting">int         xmlStrncasecmp                  (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2,
+                                             int len);</pre><p>
+a strncasecmp for xmlChar's</p><p>
+
+</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 xmlChar *
+</td></tr><tr><td><span class="term"><i><tt>str2</tt></i>:</span></td><td>  the second xmlChar *
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the integer result of the comparison
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlStrEqual"></a>xmlStrEqual ()</h3><pre class="programlisting">int         xmlStrEqual                     (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str1,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str2);</pre><p>
+Check if both string are equal of have same content
+Should be a bit more readable and faster than <a href="libxml-parser.html#xmlStrEqual">xmlStrEqual</a>()</p><p>
+
+</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 xmlChar *
+</td></tr><tr><td><span class="term"><i><tt>str2</tt></i>:</span></td><td>  the second xmlChar *
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if they are equal, 0 if they are different
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlStrQEqual"></a>xmlStrQEqual ()</h3><pre class="programlisting">int         xmlStrQEqual                    (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pref,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);</pre><p>
+Check if a QName is Equal to a given string</p><p>
+
+</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 xmlChar *
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if they are equal, 0 if they are different
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlStrlen"></a>xmlStrlen ()</h3><pre class="programlisting">int         xmlStrlen                       (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);</pre><p>
+length of a xmlChar's string</p><p>
+
+</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 xmlChar * array
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of xmlChar contained in the ARRAY.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlStrcat"></a>xmlStrcat ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlStrcat                       (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *add);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the original xmlChar * array
+</td></tr><tr><td><span class="term"><i><tt>add</tt></i>:</span></td><td>  the xmlChar * array added
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a new xmlChar * containing the concatenated string.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlStrncat"></a>xmlStrncat ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlStrncat                      (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *add,
+                                             int len);</pre><p>
+a strncat for array of xmlChar's, it will extend <i><tt>cur</tt></i> with the len
+first bytes of <i><tt>add</tt></i>.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the original xmlChar * array
+</td></tr><tr><td><span class="term"><i><tt>add</tt></i>:</span></td><td>  the xmlChar * array added
+</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>  the length of <i><tt>add</tt></i>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a new xmlChar *, the original <i><tt>cur</tt></i> is reallocated if needed
+and should not be freed
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlStrPrintf"></a>xmlStrPrintf ()</h3><pre class="programlisting">int         xmlStrPrintf                    (<a href="libxml-tree.html#xmlChar">xmlChar</a> *buf,
+                                             int len,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *msg,
+                                             ...);</pre><p>
+Formats <i><tt>msg</tt></i> and places result into <i><tt>buf</tt></i>.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of characters written to <i><tt>buf</tt></i> or -1 if an error occurs.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlStrVPrintf"></a>xmlStrVPrintf ()</h3><pre class="programlisting">int         xmlStrVPrintf                   (<a href="libxml-tree.html#xmlChar">xmlChar</a> *buf,
+                                             int len,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *msg,
+                                             va_list ap);</pre><p>
+Formats <i><tt>msg</tt></i> and places result into <i><tt>buf</tt></i>.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of characters written to <i><tt>buf</tt></i> or -1 if an error occurs.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseDoc"></a>xmlParseDoc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlParseDoc                     (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur);</pre><p>
+parse an XML in-memory document and build a tree.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  a pointer to an array of xmlChar
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseMemory"></a>xmlParseMemory ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlParseMemory                  (const char *buffer,
+                                             int size);</pre><p>
+parse an XML in-memory block and build a tree.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseFile"></a>xmlParseFile ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlParseFile                    (const char *filename);</pre><p>
+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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the filename
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree if the file was wellformed,
+NULL otherwise.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSubstituteEntitiesDefault"></a>xmlSubstituteEntitiesDefault ()</h3><pre class="programlisting">int         xmlSubstituteEntitiesDefault    (int val);</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::<GTKDOCLINK HREF="substituteEntities">substituteEntities</GTKDOCLINK>() has to be used for changing that on a file by
+file basis.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  int 0 or 1 
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the last value for 0 for no substitution, 1 for substitution.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlKeepBlanksDefault"></a>xmlKeepBlanksDefault ()</h3><pre class="programlisting">int         xmlKeepBlanksDefault            (int val);</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
+<a href="libxml-SAX2.html#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a>() callbacks instead of <a href="libxml-SAX.html#characters">characters</a>() 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
+<a href="libxml-SAX.html#ignorableWhitespace">ignorableWhitespace</a>() 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 <a href="libxml-tree.html#xmlIsBlankNode">xmlIsBlankNode</a>() 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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  int 0 or 1 
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the last value for 0 for no substitution, 1 for substitution.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlStopParser"></a>xmlStopParser ()</h3><pre class="programlisting">void        xmlStopParser                   (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+Blocks further parser processing</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlPedanticParserDefault"></a>xmlPedanticParserDefault ()</h3><pre class="programlisting">int         xmlPedanticParserDefault        (int val);</pre><p>
+Set and return the previous value for enabling pedantic warnings.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  int 0 or 1 
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the last value for 0 for no substitution, 1 for substitution.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlLineNumbersDefault"></a>xmlLineNumbersDefault ()</h3><pre class="programlisting">int         xmlLineNumbersDefault           (int val);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  int 0 or 1 
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the last value for 0 for no substitution, 1 for substitution.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRecoverDoc"></a>xmlRecoverDoc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlRecoverDoc                   (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur);</pre><p>
+parse an XML in-memory document and build a tree.
+In the case the document is not Well Formed, a tree is built anyway</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  a pointer to an array of xmlChar
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRecoverMemory"></a>xmlRecoverMemory ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlRecoverMemory                (const char *buffer,
+                                             int size);</pre><p>
+parse an XML in-memory block and build a tree.
+In the case the document is not Well Formed, a tree is built anyway</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRecoverFile"></a>xmlRecoverFile ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlRecoverFile                  (const char *filename);</pre><p>
+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, a tree is built anyway</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the filename
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseDocument"></a>xmlParseDocument ()</h3><pre class="programlisting">int         xmlParseDocument                (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse an XML document (and build a tree if using the standard SAX
+interface).
+</p><p>
+[1] document ::= prolog element Misc*
+</p><p>
+[22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0, -1 in case of error. the parser context is augmented
+               as a result of the parsing.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseExtParsedEnt"></a>xmlParseExtParsedEnt ()</h3><pre class="programlisting">int         xmlParseExtParsedEnt            (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse a general parsed entity
+An external general parsed entity is well-formed if it matches the
+production labeled extParsedEnt.
+</p><p>
+[78] extParsedEnt ::= TextDecl? content</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0, -1 in case of error. the parser context is augmented
+               as a result of the parsing.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSAXParseDoc"></a>xmlSAXParseDoc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlSAXParseDoc                  (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             int recovery);</pre><p>
+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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>  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 xmlChar
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSAXUserParseFile"></a>xmlSAXUserParseFile ()</h3><pre class="programlisting">int         xmlSAXUserParseFile             (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             void *user_data,
+                                             const char *filename);</pre><p>
+parse an XML file and call the given SAX handler routines.
+Automatic support for ZLIB/Compress compressed document is provided</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>  a SAX handler
+</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>  The user data returned on SAX callbacks
+</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  a file name
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success or a error number otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSAXUserParseMemory"></a>xmlSAXUserParseMemory ()</h3><pre class="programlisting">int         xmlSAXUserParseMemory           (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             void *user_data,
+                                             const char *buffer,
+                                             int size);</pre><p>
+A better SAX parsing routine.
+parse an XML in-memory buffer and call the given SAX handler routines.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>  a SAX handler
+</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>  The user data returned on SAX callbacks
+</td></tr><tr><td><span class="term"><i><tt>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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success or a error number otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSAXParseMemory"></a>xmlSAXParseMemory ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlSAXParseMemory               (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             const char *buffer,
+                                             int size,
+                                             int recovery);</pre><p>
+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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSAXParseMemoryWithData"></a>xmlSAXParseMemoryWithData ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlSAXParseMemoryWithData       (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             const char *buffer,
+                                             int size,
+                                             int recovery,
+                                             void *data);</pre><p>
+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><p>
+User data (void *) is stored within the parser context in the
+context's _private member, so it is available nearly everywhere in libxml</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSAXParseFile"></a>xmlSAXParseFile ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlSAXParseFile                 (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             const char *filename,
+                                             int recovery);</pre><p>
+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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSAXParseFileWithData"></a>xmlSAXParseFileWithData ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlSAXParseFileWithData         (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             const char *filename,
+                                             int recovery,
+                                             void *data);</pre><p>
+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><p>
+User data (void *) is stored within the parser context in the
+context's _private member, so it is available nearly everywhere in libxml</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSAXParseEntity"></a>xmlSAXParseEntity ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlSAXParseEntity               (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             const char *filename);</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.
+</p><p>
+[78] extParsedEnt ::= TextDecl? content
+</p><p>
+This correspond to a "Well Balanced" chunk</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseEntity"></a>xmlParseEntity ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlParseEntity                  (const char *filename);</pre><p>
+parse an XML external entity out of context and build a tree.
+</p><p>
+[78] extParsedEnt ::= TextDecl? content
+</p><p>
+This correspond to a "Well Balanced" chunk</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the filename
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseDTD"></a>xmlParseDTD ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>   xmlParseDTD                     (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p>
+Load and parse an external subset.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting xmlDtdPtr or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSAXParseDTD"></a>xmlSAXParseDTD ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>   xmlSAXParseDTD                  (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p>
+Load and parse an external subset.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting xmlDtdPtr or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIOParseDTD"></a>xmlIOParseDTD ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>   xmlIOParseDTD                   (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
+Load and parse a DTD</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting xmlDtdPtr or NULL in case of error.
+<i><tt>input</tt></i> will be freed at parsing end.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseBalancedChunkMemory"></a>xmlParseBalancedChunkMemory ()</h3><pre class="programlisting">int         xmlParseBalancedChunkMemory     (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             void *user_data,
+                                             int depth,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst);</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:
+</p><p>
+[43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the document the chunk pertains to
+</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>  the SAX handler bloc (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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlParseBalancedChunkMemoryRecover"></a>xmlParseBalancedChunkMemoryRecover ()</h3><pre class="programlisting">int         xmlParseBalancedChunkMemoryRecover
+                                            (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             void *user_data,
+                                             int depth,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst,
+                                             int recover);</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:
+</p><p>
+[43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the document the chunk pertains to
+</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>  the SAX handler bloc (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"><span class="emphasis"><i>Returns</i></span> :</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. 
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseExternalEntity"></a>xmlParseExternalEntity ()</h3><pre class="programlisting">int         xmlParseExternalEntity          (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             void *user_data,
+                                             int depth,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URL,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst);</pre><p>
+Parse an external general entity
+An external general parsed entity is well-formed if it matches the
+production labeled extParsedEnt.
+</p><p>
+[78] extParsedEnt ::= TextDecl? content</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the document the chunk pertains to
+</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>  the SAX handler bloc (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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlParseCtxtExternalEntity"></a>xmlParseCtxtExternalEntity ()</h3><pre class="programlisting">int         xmlParseCtxtExternalEntity      (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URL,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> *lst);</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.
+</p><p>
+[78] extParsedEnt ::= TextDecl? content</p><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>  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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlNewParserCtxt"></a>xmlNewParserCtxt ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> xmlNewParserCtxt           (void);</pre><p>
+Allocate and initialize a new parser context.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlParserCtxtPtr or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlInitParserCtxt"></a>xmlInitParserCtxt ()</h3><pre class="programlisting">int         xmlInitParserCtxt               (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+Initialize a parser context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an HTML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success and -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlClearParserCtxt"></a>xmlClearParserCtxt ()</h3><pre class="programlisting">void        xmlClearParserCtxt              (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+Clear (release owned resources) and reinitialize a parser context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFreeParserCtxt"></a>xmlFreeParserCtxt ()</h3><pre class="programlisting">void        xmlFreeParserCtxt               (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+Free all the memory used by a parser context. However the parsed
+document in ctxt-&gt;myDoc is not freed.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSetupParserForBuffer"></a>xmlSetupParserForBuffer ()</h3><pre class="programlisting">void        xmlSetupParserForBuffer         (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *buffer,
+                                             const char *filename);</pre><p>
+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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>  a xmlChar * 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"><h3><a name="xmlCreateDocParserCtxt"></a>xmlCreateDocParserCtxt ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> xmlCreateDocParserCtxt     (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur);</pre><p>
+Creates a parser context for an XML in-memory document.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  a pointer to an array of xmlChar
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser context or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGetFeaturesList"></a>xmlGetFeaturesList ()</h3><pre class="programlisting">int         xmlGetFeaturesList              (int *len,
+                                             const char **result);</pre><p>
+Copy at most *<i><tt>len</tt></i> feature names into the <i><tt>result</tt></i> array</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlGetFeature"></a>xmlGetFeature ()</h3><pre class="programlisting">int         xmlGetFeature                   (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const char *name,
+                                             void *result);</pre><p>
+Read the current value of one feature of this parser instance</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>-1 in case or error, 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSetFeature"></a>xmlSetFeature ()</h3><pre class="programlisting">int         xmlSetFeature                   (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const char *name,
+                                             void *value);</pre><p>
+Change the current value of one feature of this parser instance</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>-1 in case or error, 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCreatePushParserCtxt"></a>xmlCreatePushParserCtxt ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> xmlCreatePushParserCtxt    (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             void *user_data,
+                                             const char *chunk,
+                                             int size,
+                                             const char *filename);</pre><p>
+Create a parser context for using the XML parser in push mode.
+If <i><tt>buffer</tt></i> and <i><tt>size</tt></i> are non-NULL, the data is used to detect
+the encoding.  The remaining characters will be parsed so they
+don't need to be fed in again through xmlParseChunk.
+To allow content encoding detection, <i><tt>size</tt></i> should be &gt;= 4
+The value of <i><tt>filename</tt></i> is used for fetching external entities
+and error/warning reports.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>  a SAX handler
+</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>  The user data returned on SAX callbacks
+</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>  a pointer to an array of chars
+</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>  number of chars in the array
+</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  an optional file name or URI
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser context or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseChunk"></a>xmlParseChunk ()</h3><pre class="programlisting">int         xmlParseChunk                   (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const char *chunk,
+                                             int size,
+                                             int terminate);</pre><p>
+Parse a Chunk of memory</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>zero if no error, the xmlParserErrors otherwise.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCreateIOParserCtxt"></a>xmlCreateIOParserCtxt ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> xmlCreateIOParserCtxt      (<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             void *user_data,
+                                             <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
+                                             <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
+                                             void *ioctx,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
+Create a parser context for using the XML parser with an existing
+I/O stream</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>  a SAX handler
+</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>  The user data returned on SAX callbacks
+</td></tr><tr><td><span class="term"><i><tt>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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser context or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewIOInputStream"></a>xmlNewIOInputStream ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> xmlNewIOInputStream       (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
+Create a new input stream structure encapsulating the <i><tt>input</tt></i> into
+a stream suitable for the parser.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new input stream or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParserFindNodeInfo"></a>xmlParserFindNodeInfo ()</h3><pre class="programlisting">const <a href="libxml-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a>* xmlParserFindNodeInfo
+                                            (const <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
+Find the parser node info struct for a given node</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>an xmlParserNodeInfo block pointer or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlInitNodeInfoSeq"></a>xmlInitNodeInfoSeq ()</h3><pre class="programlisting">void        xmlInitNodeInfoSeq              (<a href="libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq);</pre><p>
+-- Initialize (set to initial state) node info sequence</p><p>
+
+</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"><h3><a name="xmlClearNodeInfoSeq"></a>xmlClearNodeInfoSeq ()</h3><pre class="programlisting">void        xmlClearNodeInfoSeq             (<a href="libxml-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq);</pre><p>
+-- Clear (release memory and reinitialize) node
+  info sequence</p><p>
+
+</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"><h3><a name="xmlParserAddNodeInfo"></a>xmlParserAddNodeInfo ()</h3><pre class="programlisting">void        xmlParserAddNodeInfo            (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info);</pre><p>
+Insert node info record into the sorted sequence</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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"><h3><a name="xmlSetExternalEntityLoader"></a>xmlSetExternalEntityLoader ()</h3><pre class="programlisting">void        xmlSetExternalEntityLoader      (<a href="libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> f);</pre><p>
+Changes the defaultexternal entity resolver function for the application</p><p>
+
+</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"><h3><a name="xmlGetExternalEntityLoader"></a>xmlGetExternalEntityLoader ()</h3><pre class="programlisting"><a href="libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> xmlGetExternalEntityLoader
+                                            (void);</pre><p>
+Get the default external entity resolver function for the application</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlExternalEntityLoader function pointer
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlLoadExternalEntity"></a>xmlLoadExternalEntity ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> xmlLoadExternalEntity     (const char *URL,
+                                             const char *ID,
+                                             <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+Load an external entity, note that the use of this function for
+unparsed entities may generate problems
+TODO: a more generic External entity API must be designed</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlParserInputPtr or NULL
 </td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParserOption"></a>enum xmlParserOption</h3><pre class="programlisting">typedef enum {
     XML_PARSE_RECOVER	= 1&lt;&lt;0,	/* recover on errors */
     XML_PARSE_NOENT	= 1&lt;&lt;1,	/* substitute entities */
@@ -776,6 +1687,164 @@
 } xmlParserOption;
 </pre><p>
 This is the set of XML parser options that can be passed down
-to the <GTKDOCLINK HREF="xmlReadDoc">xmlReadDoc</GTKDOCLINK>() and similar calls.</p><p>
+to the <a href="libxml-parser.html#xmlReadDoc">xmlReadDoc</a>() and similar calls.</p><p>
 
-</p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-threads.html"><b>&lt;&lt; threads</b></a></td><td align="right"><a accesskey="n" href="libxml-c14n.html"><b>c14n &gt;&gt;</b></a></td></tr></table></body></html>
+</p></div><hr><div class="refsect2"><h3><a name="xmlCtxtReset"></a>xmlCtxtReset ()</h3><pre class="programlisting">void        xmlCtxtReset                    (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+Reset a parser context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCtxtResetPush"></a>xmlCtxtResetPush ()</h3><pre class="programlisting">int         xmlCtxtResetPush                (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const char *chunk,
+                                             int size,
+                                             const char *filename,
+                                             const char *encoding);</pre><p>
+Reset a push parser context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success and 1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCtxtUseOptions"></a>xmlCtxtUseOptions ()</h3><pre class="programlisting">int         xmlCtxtUseOptions               (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             int options);</pre><p>
+Applies the options to the parser context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
+</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of xmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success, the set of unknown or unimplemented options
+        in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlReadDoc"></a>xmlReadDoc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlReadDoc                      (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+parse an XML in-memory document and build a tree.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  a pointer to a zero terminated string
+</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the base URL to use for the document
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
+</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of xmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlReadFile"></a>xmlReadFile ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlReadFile                     (const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+parse an XML file from the filesystem or the network.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
+</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of xmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlReadMemory"></a>xmlReadMemory ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlReadMemory                   (const char *buffer,
+                                             int size,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+parse an XML in-memory document and build a tree.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>  a pointer to a char array
+</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>  the size of the array
+</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the base URL to use for the document
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
+</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of xmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlReadFd"></a>xmlReadFd ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlReadFd                       (int fd,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+parse an XML from a file descriptor and build a tree.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>fd</tt></i>:</span></td><td>  an open file descriptor
+</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the base URL to use for the document
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
+</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of xmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlReadIO"></a>xmlReadIO ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlReadIO                       (<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
+                                             <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
+                                             void *ioctx,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+parse an XML document from I/O functions and source and build a tree.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>  an I/O read function
+</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>  an I/O close function
+</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>  an I/O handler
+</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the base URL to use for the document
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
+</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of xmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCtxtReadDoc"></a>xmlCtxtReadDoc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlCtxtReadDoc                  (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+parse an XML in-memory document and build a tree.
+This reuses the existing <i><tt>ctxt</tt></i> parser context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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 xmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCtxtReadFile"></a>xmlCtxtReadFile ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlCtxtReadFile                 (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const char *filename,
+                                             const char *encoding,
+                                             int options);</pre><p>
+parse an XML file from the filesystem or the network.
+This reuses the existing <i><tt>ctxt</tt></i> parser context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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 xmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCtxtReadMemory"></a>xmlCtxtReadMemory ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlCtxtReadMemory               (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const char *buffer,
+                                             int size,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+parse an XML in-memory document and build a tree.
+This reuses the existing <i><tt>ctxt</tt></i> parser context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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 xmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCtxtReadFd"></a>xmlCtxtReadFd ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlCtxtReadFd                   (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             int fd,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+parse an XML from a file descriptor and build a tree.
+This reuses the existing <i><tt>ctxt</tt></i> parser context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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 xmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCtxtReadIO"></a>xmlCtxtReadIO ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlCtxtReadIO                   (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
+                                             <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
+                                             void *ioctx,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+parse an XML document from I/O functions and source and build a tree.
+This reuses the existing <i><tt>ctxt</tt></i> parser context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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 xmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
+</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-threads.html"><b>&lt;&lt; threads</b></a></td><td align="right"><a accesskey="n" href="libxml-c14n.html"><b>c14n &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-parserInternals.html b/doc/html/libxml-parserInternals.html
index 6ba857b..7882e8d 100644
--- a/doc/html/libxml-parserInternals.html
+++ b/doc/html/libxml-parserInternals.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-HTMLtree.html" title="HTMLtree"><link rel="next" href="libxml-entities.html" title="entities"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-HTMLtree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-entities.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-parserInternals"></a><div class="titlepage"></div><div class="refnamediv"><h2>parserInternals</h2><p>parserInternals &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2597309"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-HTMLtree.html" title="HTMLtree"><link rel="next" href="libxml-entities.html" title="entities"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-HTMLtree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-entities.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-parserInternals"></a><div class="titlepage"></div><div class="refnamediv"><h2>parserInternals</h2><p>parserInternals &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2709603"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -55,13 +55,156 @@
 #define     <a href="libxml-parserInternals.html#SKIP-EOL-CAPS">SKIP_EOL</a>                        (p)
 #define     <a href="libxml-parserInternals.html#MOVETO-ENDTAG-CAPS">MOVETO_ENDTAG</a>                   (p)
 #define     <a href="libxml-parserInternals.html#MOVETO-STARTTAG-CAPS">MOVETO_STARTTAG</a>                 (p)
+int         <a href="libxml-parserInternals.html#xmlIsLetter">xmlIsLetter</a>                     (int c);
+<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="libxml-parserInternals.html#xmlCreateFileParserCtxt">xmlCreateFileParserCtxt</a>    (const char *filename);
+<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="libxml-parserInternals.html#xmlCreateURLParserCtxt">xmlCreateURLParserCtxt</a>     (const char *filename,
+                                             int options);
+<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="libxml-parserInternals.html#xmlCreateMemoryParserCtxt">xmlCreateMemoryParserCtxt</a>  (const char *buffer,
+                                             int size);
+<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="libxml-parserInternals.html#xmlCreateEntityParserCtxt">xmlCreateEntityParserCtxt</a>  (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URL,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *base);
+int         <a href="libxml-parserInternals.html#xmlSwitchEncoding">xmlSwitchEncoding</a>               (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+int         <a href="libxml-parserInternals.html#xmlSwitchToEncoding">xmlSwitchToEncoding</a>             (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);
+int         <a href="libxml-parserInternals.html#xmlSwitchInputEncoding">xmlSwitchInputEncoding</a>          (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input,
+                                             <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);
+void        <a href="libxml-parserInternals.html#xmlHandleEntity">xmlHandleEntity</a>                 (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity);
+<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="libxml-parserInternals.html#xmlNewStringInputStream">xmlNewStringInputStream</a>   (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *buffer);
+<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="libxml-parserInternals.html#xmlNewEntityInputStream">xmlNewEntityInputStream</a>   (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity);
+void        <a href="libxml-parserInternals.html#xmlPushInput">xmlPushInput</a>                    (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>     <a href="libxml-parserInternals.html#xmlPopInput">xmlPopInput</a>                     (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void        <a href="libxml-parserInternals.html#xmlFreeInputStream">xmlFreeInputStream</a>              (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
+<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="libxml-parserInternals.html#xmlNewInputFromFile">xmlNewInputFromFile</a>       (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const char *filename);
+<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="libxml-parserInternals.html#xmlNewInputStream">xmlNewInputStream</a>         (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parserInternals.html#xmlSplitQName">xmlSplitQName</a>                   (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **prefix);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parserInternals.html#xmlNamespaceParseNCName">xmlNamespaceParseNCName</a>         (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parserInternals.html#xmlNamespaceParseQName">xmlNamespaceParseQName</a>          (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **prefix);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parserInternals.html#xmlNamespaceParseNSDef">xmlNamespaceParseNSDef</a>          (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parserInternals.html#xmlParseQuotedString">xmlParseQuotedString</a>            (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void        <a href="libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a>               (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parserInternals.html#xmlScanName">xmlScanName</a>                     (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlParseName">xmlParseName</a>                 (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parserInternals.html#xmlParseNmtoken">xmlParseNmtoken</a>                 (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parserInternals.html#xmlParseEntityValue">xmlParseEntityValue</a>             (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **orig);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a>                (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parserInternals.html#xmlParseSystemLiteral">xmlParseSystemLiteral</a>           (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parserInternals.html#xmlParsePubidLiteral">xmlParsePubidLiteral</a>            (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void        <a href="libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a>                (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             int cdata);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a>              (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **publicID,
+                                             int strict);
+void        <a href="libxml-parserInternals.html#xmlParseComment">xmlParseComment</a>                 (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlParsePITarget">xmlParsePITarget</a>             (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void        <a href="libxml-parserInternals.html#xmlParsePI">xmlParsePI</a>                      (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void        <a href="libxml-parserInternals.html#xmlParseNotationDecl">xmlParseNotationDecl</a>            (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void        <a href="libxml-parserInternals.html#xmlParseEntityDecl">xmlParseEntityDecl</a>              (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int         <a href="libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a>             (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **value);
+<a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> <a href="libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</a>      (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> <a href="libxml-parserInternals.html#xmlParseEnumerationType">xmlParseEnumerationType</a>   (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int         <a href="libxml-parserInternals.html#xmlParseEnumeratedType">xmlParseEnumeratedType</a>          (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> *tree);
+int         <a href="libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a>           (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> *tree);
+void        <a href="libxml-parserInternals.html#xmlParseAttributeListDecl">xmlParseAttributeListDecl</a>       (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int         <a href="libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a>      (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> *result);
+int         <a href="libxml-parserInternals.html#xmlParseElementDecl">xmlParseElementDecl</a>             (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void        <a href="libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a>              (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int         <a href="libxml-parserInternals.html#xmlParseCharRef">xmlParseCharRef</a>                 (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a href="libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a>              (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void        <a href="libxml-parserInternals.html#xmlParseReference">xmlParseReference</a>               (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void        <a href="libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a>             (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void        <a href="libxml-parserInternals.html#xmlParseDocTypeDecl">xmlParseDocTypeDecl</a>             (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a>            (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **value);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a>             (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void        <a href="libxml-parserInternals.html#xmlParseEndTag">xmlParseEndTag</a>                  (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void        <a href="libxml-parserInternals.html#xmlParseCDSect">xmlParseCDSect</a>                  (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void        <a href="libxml-parserInternals.html#xmlParseContent">xmlParseContent</a>                 (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void        <a href="libxml-parserInternals.html#xmlParseElement">xmlParseElement</a>                 (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parserInternals.html#xmlParseVersionNum">xmlParseVersionNum</a>              (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parserInternals.html#xmlParseVersionInfo">xmlParseVersionInfo</a>             (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parserInternals.html#xmlParseEncName">xmlParseEncName</a>                 (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#xmlParseEncodingDecl">xmlParseEncodingDecl</a>         (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int         <a href="libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a>                  (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void        <a href="libxml-parserInternals.html#xmlParseXMLDecl">xmlParseXMLDecl</a>                 (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void        <a href="libxml-parserInternals.html#xmlParseTextDecl">xmlParseTextDecl</a>                (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void        <a href="libxml-parserInternals.html#xmlParseMisc">xmlParseMisc</a>                    (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void        <a href="libxml-parserInternals.html#xmlParseExternalSubset">xmlParseExternalSubset</a>          (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);
 #define     <a href="libxml-parserInternals.html#XML-SUBSTITUTE-NONE-CAPS">XML_SUBSTITUTE_NONE</a>
 #define     <a href="libxml-parserInternals.html#XML-SUBSTITUTE-REF-CAPS">XML_SUBSTITUTE_REF</a>
 #define     <a href="libxml-parserInternals.html#XML-SUBSTITUTE-PEREF-CAPS">XML_SUBSTITUTE_PEREF</a>
 #define     <a href="libxml-parserInternals.html#XML-SUBSTITUTE-BOTH-CAPS">XML_SUBSTITUTE_BOTH</a>
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a>               (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             int len,
+                                             int what,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> end,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> end2,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> end3);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a>         (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             int what,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> end,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> end2,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> end3);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a>      (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             int len,
+                                             int what,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> end,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> end2,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> end3);
+int         <a href="libxml-parserInternals.html#nodePush">nodePush</a>                        (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> value);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-parserInternals.html#nodePop">nodePop</a>                         (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int         <a href="libxml-parserInternals.html#inputPush">inputPush</a>                       (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> value);
+<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="libxml-parserInternals.html#inputPop">inputPop</a>                  (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-parserInternals.html#namePop">namePop</a>                      (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int         <a href="libxml-parserInternals.html#namePush">namePush</a>                        (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
+int         <a href="libxml-parserInternals.html#xmlSkipBlankChars">xmlSkipBlankChars</a>               (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int         <a href="libxml-parserInternals.html#xmlStringCurrentChar">xmlStringCurrentChar</a>            (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             int *len);
+void        <a href="libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a>      (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void        <a href="libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a>        (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int         <a href="libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a>              (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *lang);
+int         <a href="libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a>                  (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             int *len);
+int         <a href="libxml-parserInternals.html#xmlCopyCharMultiByte">xmlCopyCharMultiByte</a>            (<a href="libxml-tree.html#xmlChar">xmlChar</a> *out,
+                                             int val);
+int         <a href="libxml-parserInternals.html#xmlCopyChar">xmlCopyChar</a>                     (int len,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> *out,
+                                             int val);
+void        <a href="libxml-parserInternals.html#xmlNextChar">xmlNextChar</a>                     (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void        <a href="libxml-parserInternals.html#xmlParserInputShrink">xmlParserInputShrink</a>            (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in);
+void        <a href="libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a>               (void);
+<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> <a href="libxml-parserInternals.html#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a>  (const char *filename,
+                                             const char *encoding);
 void        (<a href="libxml-parserInternals.html#xmlEntityReferenceFunc">*xmlEntityReferenceFunc</a>)       (<a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent,
                                              <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> firstNode,
                                              <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> lastNode);
+void        <a href="libxml-parserInternals.html#xmlSetEntityReferenceFunc">xmlSetEntityReferenceFunc</a>       (<a href="libxml-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a> func);
+void        <a href="libxml-parserInternals.html#xmlErrMemory">xmlErrMemory</a>                    (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const char *extra);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlParserMaxDepth"></a>xmlParserMaxDepth</h3><pre class="programlisting">extern unsigned int xmlParserMaxDepth;
@@ -202,6 +345,796 @@
 Skips to the next '&lt;' char.</p><p>
 
 </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"><h3><a name="xmlIsLetter"></a>xmlIsLetter ()</h3><pre class="programlisting">int         xmlIsLetter                     (int c);</pre><p>
+Check whether the character is allowed by the production
+[84] Letter ::= BaseChar | Ideographic</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 if not, non-zero otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCreateFileParserCtxt"></a>xmlCreateFileParserCtxt ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> xmlCreateFileParserCtxt    (const char *filename);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the filename
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser context or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCreateURLParserCtxt"></a>xmlCreateURLParserCtxt ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> xmlCreateURLParserCtxt     (const char *filename,
+                                             int options);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the filename or URL
+</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of xmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser context or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCreateMemoryParserCtxt"></a>xmlCreateMemoryParserCtxt ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> xmlCreateMemoryParserCtxt  (const char *buffer,
+                                             int size);</pre><p>
+Create a parser context for an XML in-memory document.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>  a pointer to a char array
+</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>  the size of the array
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser context or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCreateEntityParserCtxt"></a>xmlCreateEntityParserCtxt ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> xmlCreateEntityParserCtxt  (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URL,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *base);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser context or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSwitchEncoding"></a>xmlSwitchEncoding ()</h3><pre class="programlisting">int         xmlSwitchEncoding               (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
+change the input functions when discovering the character encoding
+of a given entity.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success, -1 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSwitchToEncoding"></a>xmlSwitchToEncoding ()</h3><pre class="programlisting">int         xmlSwitchToEncoding             (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);</pre><p>
+change the input functions when discovering the character encoding
+of a given entity.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success, -1 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSwitchInputEncoding"></a>xmlSwitchInputEncoding ()</h3><pre class="programlisting">int         xmlSwitchInputEncoding          (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input,
+                                             <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);</pre><p>
+change the input functions when discovering the character encoding
+of a given entity.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success, -1 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlHandleEntity"></a>xmlHandleEntity ()</h3><pre class="programlisting">void        xmlHandleEntity                 (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity);</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 ?
+</p><p>
+OBSOLETE: to be removed at some point.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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"><h3><a name="xmlNewStringInputStream"></a>xmlNewStringInputStream ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> xmlNewStringInputStream   (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *buffer);</pre><p>
+Create a new input stream based on a memory buffer.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new input stream
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewEntityInputStream"></a>xmlNewEntityInputStream ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> xmlNewEntityInputStream   (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity);</pre><p>
+Create a new input stream based on an xmlEntityPtr</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new input stream or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlPushInput"></a>xmlPushInput ()</h3><pre class="programlisting">void        xmlPushInput                    (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);</pre><p>
+xmlPushInput: switch to a new input stream which is stacked on top
+              of the previous one(s).</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlPopInput"></a>xmlPopInput ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>     xmlPopInput                     (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+xmlPopInput: the current input pointed by ctxt-&gt;input came to an end
+         pop it and return the next char.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the current xmlChar in the parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFreeInputStream"></a>xmlFreeInputStream ()</h3><pre class="programlisting">void        xmlFreeInputStream              (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);</pre><p>
+Free up an input stream.</p><p>
+
+</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 xmlParserInputPtr
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewInputFromFile"></a>xmlNewInputFromFile ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> xmlNewInputFromFile       (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const char *filename);</pre><p>
+Create a new input stream based on a file or an URL.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new input stream or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewInputStream"></a>xmlNewInputStream ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> xmlNewInputStream         (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+Create a new input stream structure</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new input stream or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSplitQName"></a>xmlSplitQName ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlSplitQName                   (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **prefix);</pre><p>
+parse an UTF8 encoded XML qualified name string
+</p><p>
+[NS 5] QName ::= (Prefix ':')? LocalPart
+</p><p>
+[NS 6] Prefix ::= NCName
+</p><p>
+[NS 7] LocalPart ::= NCName</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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 xmlChar ** 
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlNamespaceParseNCName"></a>xmlNamespaceParseNCName ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlNamespaceParseNCName         (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse an XML namespace name.
+</p><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.
+</p><p>
+[NS 3] NCName ::= (Letter | '_') (NCNameChar)*
+</p><p>
+[NS 4] NCNameChar ::= Letter | Digit | '.' | '-' | '_' |
+                      CombiningChar | Extender</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the namespace name or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNamespaceParseQName"></a>xmlNamespaceParseQName ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlNamespaceParseQName          (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **prefix);</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.
+</p><p>
+parse an XML qualified name
+</p><p>
+[NS 5] QName ::= (Prefix ':')? LocalPart
+</p><p>
+[NS 6] Prefix ::= NCName
+</p><p>
+[NS 7] LocalPart ::= NCName</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>  a xmlChar ** 
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlNamespaceParseNSDef"></a>xmlNamespaceParseNSDef ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlNamespaceParseNSDef          (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse a namespace prefix declaration
+</p><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.
+</p><p>
+[NS 1] NSDef ::= PrefixDef Eq SystemLiteral
+</p><p>
+[NS 2] PrefixDef ::= 'xmlns' (':' NCName)?</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the namespace name
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseQuotedString"></a>xmlParseQuotedString ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlParseQuotedString            (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+Parse and return a string between quotes or doublequotes
+</p><p>
+TODO: Deprecated, to  be removed at next drop of binary compatibility</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the string parser or NULL.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseNamespace"></a>xmlParseNamespace ()</h3><pre class="programlisting">void        xmlParseNamespace               (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+xmlParseNamespace: parse specific PI '&lt;?namespace ...' constructs.
+</p><p>
+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:-(
+</p><p>
+TODO: remove from library
+</p><p>
+To be removed at next drop of binary compatibility</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlScanName"></a>xmlScanName ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlScanName                     (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+Trickery: parse an XML name but without consuming the input flow
+Needed for rollback cases. Used only when parsing entities references.
+</p><p>
+TODO: seems deprecated now, only used in the default part of
+      xmlParserHandleReference
+</p><p>
+[4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' |
+                 CombiningChar | Extender
+</p><p>
+[5] Name ::= (Letter | '_' | ':') (NameChar)*
+</p><p>
+[6] Names ::= Name (S Name)*</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the Name parsed or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseName"></a>xmlParseName ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlParseName                 (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse an XML name.
+</p><p>
+[4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' |
+                 CombiningChar | Extender
+</p><p>
+[5] Name ::= (Letter | '_' | ':') (NameChar)*
+</p><p>
+[6] Names ::= Name (S Name)*</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the Name parsed or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseNmtoken"></a>xmlParseNmtoken ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlParseNmtoken                 (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse an XML Nmtoken.
+</p><p>
+[7] Nmtoken ::= (NameChar)+
+</p><p>
+[8] Nmtokens ::= Nmtoken (S Nmtoken)*</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the Nmtoken parsed or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseEntityValue"></a>xmlParseEntityValue ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlParseEntityValue             (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **orig);</pre><p>
+parse a value for ENTITY declarations
+</p><p>
+[9] EntityValue ::= '"' ([^%&amp;"] | PEReference | Reference)* '"' |
+               "'" ([^%&amp;'] | PEReference | Reference)* "'"</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the EntityValue parsed with reference substituted or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseAttValue"></a>xmlParseAttValue ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlParseAttValue                (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse a value for an attribute
+Note: the parser won't do substitution of entities here, this
+will be handled later in xmlStringGetNodeList
+</p><p>
+[10] AttValue ::= '"' ([^&lt;&amp;"] | Reference)* '"' |
+                  "'" ([^&lt;&amp;'] | Reference)* "'"
+</p><p>
+3.3.3 Attribute-Value Normalization:
+Before the value of an attribute is passed to the application or
+checked for validity, the XML processor must normalize it as follows: 
+- a character reference is processed by appending the referenced
+  character to the attribute value
+- an entity reference is processed by recursively processing the
+  replacement text of the entity 
+- a whitespace character (<GTKDOCLINK HREF="x20">x20</GTKDOCLINK>, <GTKDOCLINK HREF="xD">xD</GTKDOCLINK>, <GTKDOCLINK HREF="xA">xA</GTKDOCLINK>, <GTKDOCLINK HREF="x9">x9</GTKDOCLINK>) is processed by
+  appending <GTKDOCLINK HREF="x20">x20</GTKDOCLINK> to the normalized value, except that only a single
+  <GTKDOCLINK HREF="x20">x20</GTKDOCLINK> is appended for a "<GTKDOCLINK HREF="xD">xD</GTKDOCLINK><GTKDOCLINK HREF="xA">xA</GTKDOCLINK>" sequence that is part of an external
+  parsed entity or the literal entity value of an internal parsed entity 
+- other characters are processed by appending them to the normalized value 
+If the declared value is not CDATA, then the XML processor must further
+process the normalized attribute value by discarding any leading and
+trailing space (<GTKDOCLINK HREF="x20">x20</GTKDOCLINK>) characters, and by replacing sequences of space
+(<GTKDOCLINK HREF="x20">x20</GTKDOCLINK>) characters by a single space (<GTKDOCLINK HREF="x20">x20</GTKDOCLINK>) character.  
+All attributes for which no declaration has been read should be treated
+by a non-validating parser as if declared CDATA.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlParseSystemLiteral"></a>xmlParseSystemLiteral ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlParseSystemLiteral           (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse an XML Literal
+</p><p>
+[11] SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'")</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the SystemLiteral parsed or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParsePubidLiteral"></a>xmlParsePubidLiteral ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlParsePubidLiteral            (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse an XML public literal
+</p><p>
+[12] PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* "'"</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the PubidLiteral parsed or NULL.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseCharData"></a>xmlParseCharData ()</h3><pre class="programlisting">void        xmlParseCharData                (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             int cdata);</pre><p>
+parse a CharData section.
+if we are within a CDATA section ']]&gt;' marks an end of section.
+</p><p>
+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
+reference when it appears in the string "]]&gt;" in content, when that
+string is not marking the end of a CDATA section. 
+</p><p>
+[14] CharData ::= [^&lt;&amp;]* - ([^&lt;&amp;]* ']]&gt;' [^&lt;&amp;]*)</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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"><h3><a name="xmlParseExternalID"></a>xmlParseExternalID ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlParseExternalID              (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **publicID,
+                                             int strict);</pre><p>
+Parse an External ID or a Public ID
+</p><p>
+NOTE: Productions [75] and [83] interact badly since [75] can generate
+      'PUBLIC' S PubidLiteral S SystemLiteral
+</p><p>
+[75] ExternalID ::= 'SYSTEM' S SystemLiteral
+                  | 'PUBLIC' S PubidLiteral S SystemLiteral
+</p><p>
+[83] PublicID ::= 'PUBLIC' S PubidLiteral</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlParseComment"></a>xmlParseComment ()</h3><pre class="programlisting">void        xmlParseComment                 (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+Skip an XML (SGML) comment &lt;!-- .... --&gt;
+ The spec says that "For compatibility, the string "--" (double-hyphen)
+ must not occur within comments. "
+</p><p>
+[15] Comment ::= '&lt;!--' ((Char - '-') | ('-' (Char - '-')))* '--&gt;'</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParsePITarget"></a>xmlParsePITarget ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlParsePITarget             (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse the name of a PI
+</p><p>
+[17] PITarget ::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the PITarget name or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParsePI"></a>xmlParsePI ()</h3><pre class="programlisting">void        xmlParsePI                      (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse an XML Processing Instruction.
+</p><p>
+[16] PI ::= '&lt;?' PITarget (S (Char* - (Char* '?&gt;' Char*)))? '?&gt;'
+</p><p>
+The processing is transfered to SAX once parsed.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseNotationDecl"></a>xmlParseNotationDecl ()</h3><pre class="programlisting">void        xmlParseNotationDecl            (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse a notation declaration
+</p><p>
+[82] NotationDecl ::= '&lt;!NOTATION' S Name S (ExternalID |  PublicID) S? '&gt;'
+</p><p>
+Hence there is actually 3 choices:
+    'PUBLIC' S PubidLiteral
+    'PUBLIC' S PubidLiteral S SystemLiteral
+and 'SYSTEM' S SystemLiteral
+</p><p>
+See the NOTE on <a href="libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a>().</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseEntityDecl"></a>xmlParseEntityDecl ()</h3><pre class="programlisting">void        xmlParseEntityDecl              (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse &lt;!ENTITY declarations
+</p><p>
+[70] EntityDecl ::= GEDecl | PEDecl
+</p><p>
+[71] GEDecl ::= '&lt;!ENTITY' S Name S EntityDef S? '&gt;'
+</p><p>
+[72] PEDecl ::= '&lt;!ENTITY' S '%' S Name S PEDef S? '&gt;'
+</p><p>
+[73] EntityDef ::= EntityValue | (ExternalID NDataDecl?)
+</p><p>
+[74] PEDef ::= EntityValue | ExternalID
+</p><p>
+[76] NDataDecl ::= S 'NDATA' S Name
+</p><p>
+[ VC: Notation Declared ]
+The Name must match the declared name of a notation.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseDefaultDecl"></a>xmlParseDefaultDecl ()</h3><pre class="programlisting">int         xmlParseDefaultDecl             (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **value);</pre><p>
+Parse an attribute default declaration
+</p><p>
+[60] DefaultDecl ::= '<GTKDOCLINK HREF="REQUIRED-CAPS">REQUIRED</GTKDOCLINK>' | '<GTKDOCLINK HREF="IMPLIED-CAPS">IMPLIED</GTKDOCLINK>' | (('<GTKDOCLINK HREF="FIXED-CAPS">FIXED</GTKDOCLINK>' S)? AttValue)
+</p><p>
+[ VC: Required Attribute ]
+if the default declaration is the keyword <GTKDOCLINK HREF="REQUIRED-CAPS">REQUIRED</GTKDOCLINK>, then the
+attribute must be specified for all elements of the type in the
+attribute-list declaration.
+</p><p>
+[ VC: Attribute Default Legal ]
+The declared default value must meet the lexical constraints of
+the declared attribute type c.f. <a href="libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a>()
+</p><p>
+[ VC: Fixed Attribute Default ]
+if an attribute has a default value declared with the <GTKDOCLINK HREF="FIXED-CAPS">FIXED</GTKDOCLINK>
+keyword, instances of that attribute must match the default value. 
+</p><p>
+[ WFC: No &lt; in Attribute Values ]
+handled in <a href="libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a>()</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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 attribute
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td> XML_ATTRIBUTE_NONE, XML_ATTRIBUTE_REQUIRED, XML_ATTRIBUTE_IMPLIED
+         or XML_ATTRIBUTE_FIXED. 
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseNotationType"></a>xmlParseNotationType ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> xmlParseNotationType      (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse an Notation attribute type.
+</p><p>
+Note: the leading 'NOTATION' S part has already being parsed...
+</p><p>
+[58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')'
+</p><p>
+[ VC: Notation Attributes ]
+Values of this type must match one of the notation names included
+in the declaration; all notation names in the declaration must be declared.</p><p>
+
+</p><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"><span class="emphasis"><i>Returns</i></span> :</span></td><td> the notation attribute tree built while parsing
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseEnumerationType"></a>xmlParseEnumerationType ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> xmlParseEnumerationType   (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse an Enumeration attribute type.
+</p><p>
+[59] Enumeration ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')'
+</p><p>
+[ VC: Enumeration ]
+Values of this type must match one of the Nmtoken tokens in
+the declaration</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td> the enumeration attribute tree built while parsing
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseEnumeratedType"></a>xmlParseEnumeratedType ()</h3><pre class="programlisting">int         xmlParseEnumeratedType          (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> *tree);</pre><p>
+parse an Enumerated attribute type.
+</p><p>
+[57] EnumeratedType ::= NotationType | Enumeration
+</p><p>
+[58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')'</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td> XML_ATTRIBUTE_ENUMERATION or XML_ATTRIBUTE_NOTATION
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseAttributeType"></a>xmlParseAttributeType ()</h3><pre class="programlisting">int         xmlParseAttributeType           (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> *tree);</pre><p>
+parse the Attribute list def for an element
+</p><p>
+[54] AttType ::= StringType | TokenizedType | EnumeratedType
+</p><p>
+[55] StringType ::= 'CDATA'
+</p><p>
+[56] TokenizedType ::= 'ID' | 'IDREF' | 'IDREFS' | 'ENTITY' |
+                       'ENTITIES' | 'NMTOKEN' | 'NMTOKENS'
+</p><p>
+Validity constraints for attribute values syntax are checked in
+<a href="libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a>()
+</p><p>
+[ 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.
+</p><p>
+[ VC: One ID per Element Type ]
+No element type may have more than one ID attribute specified.
+</p><p>
+[ VC: ID Attribute Default ]
+An ID attribute must have a declared default of <GTKDOCLINK HREF="IMPLIED-CAPS">IMPLIED</GTKDOCLINK> or <GTKDOCLINK HREF="REQUIRED-CAPS">REQUIRED</GTKDOCLINK>.
+</p><p>
+[ VC: IDREF ]
+Values of type IDREF must match the Name production, and values
+of type IDREFS must match Names; each IDREF Name must match the value
+of an ID attribute on some element in the XML document; i.e. IDREF
+values must match the value of some ID attribute.
+</p><p>
+[ 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.  
+</p><p>
+[ VC: Name Token ]
+Values of type NMTOKEN must match the Nmtoken production; values
+of type NMTOKENS must match Nmtokens.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the attribute type
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseAttributeListDecl"></a>xmlParseAttributeListDecl ()</h3><pre class="programlisting">void        xmlParseAttributeListDecl       (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+: parse the Attribute list def for an element
+</p><p>
+[52] AttlistDecl ::= '&lt;!ATTLIST' S Name AttDef* S? '&gt;'
+</p><p>
+[53] AttDef ::= S Name S AttType S DefaultDecl</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseElementContentDecl"></a>xmlParseElementContentDecl ()</h3><pre class="programlisting">int         xmlParseElementContentDecl      (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> *result);</pre><p>
+parse the declaration for an Element content either Mixed or Children,
+the cases EMPTY and ANY are handled directly in xmlParseElementDecl
+</p><p>
+[46] contentspec ::= 'EMPTY' | 'ANY' | Mixed | children</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td> the type of element content XML_ELEMENT_TYPE_xxx
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseElementDecl"></a>xmlParseElementDecl ()</h3><pre class="programlisting">int         xmlParseElementDecl             (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse an Element declaration.
+</p><p>
+[45] elementdecl ::= '&lt;!ELEMENT' S Name S contentspec S? '&gt;'
+</p><p>
+[ VC: Unique Element Type Declaration ]
+No element type may be declared more than once</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the type of the element, or -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseMarkupDecl"></a>xmlParseMarkupDecl ()</h3><pre class="programlisting">void        xmlParseMarkupDecl              (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse Markup declarations
+</p><p>
+[29] markupdecl ::= elementdecl | AttlistDecl | EntityDecl |
+                    NotationDecl | PI | Comment
+</p><p>
+[ 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.
+</p><p>
+[ 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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseCharRef"></a>xmlParseCharRef ()</h3><pre class="programlisting">int         xmlParseCharRef                 (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse Reference declarations
+</p><p>
+[66] CharRef ::= '&amp;#' [0-9]+ ';' |
+                 '&amp;<GTKDOCLINK HREF="x">x</GTKDOCLINK>' [0-9a-fA-F]+ ';'
+</p><p>
+[ WFC: Legal Character ]
+Characters referred to using character references must match the
+production for Char.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the value parsed (as an int), 0 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseEntityRef"></a>xmlParseEntityRef ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> xmlParseEntityRef              (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse ENTITY references declarations
+</p><p>
+[68] EntityRef ::= '&amp;' Name ';'
+</p><p>
+[ 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 reference
+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 reference to it.  Similarly, the declaration of a general entity
+must precede any reference 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'.
+</p><p>
+[ WFC: Parsed Entity ]
+An entity reference must not contain the name of an unparsed entity</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlEntityPtr if found, or NULL otherwise.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseReference"></a>xmlParseReference ()</h3><pre class="programlisting">void        xmlParseReference               (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse and handle entity references in content, depending on the SAX
+interface, this may end-up in a call to <GTKDOCLINK HREF="character">character</GTKDOCLINK>() if this is a
+CharRef, a predefined entity, if there is no <a href="libxml-SAX.html#reference">reference</a>() callback.
+or if the parser was asked to switch to that mode.
+</p><p>
+[67] Reference ::= EntityRef | CharRef</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParsePEReference"></a>xmlParsePEReference ()</h3><pre class="programlisting">void        xmlParsePEReference             (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse PEReference declarations
+The entity content is handled directly by pushing it's content as
+a new input stream.
+</p><p>
+[69] PEReference ::= '%' Name ';'
+</p><p>
+[ WFC: No Recursion ]
+A parsed entity must not contain a recursive
+reference to itself, either directly or indirectly. 
+</p><p>
+[ WFC: Entity Declared ]
+In a document without any DTD, a document with only an internal DTD
+subset which contains no parameter entity references, or a document
+with "standalone='yes'", ...  ... The declaration of a parameter
+entity must precede any reference to it...
+</p><p>
+[ VC: Entity Declared ]
+In a document with an external subset or external parameter entities
+with "standalone='no'", ...  ... The declaration of a parameter entity
+must precede any reference to it...
+</p><p>
+[ WFC: In DTD ]
+Parameter-entity references may only appear in the DTD.
+NOTE: misleading but this is handled.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseDocTypeDecl"></a>xmlParseDocTypeDecl ()</h3><pre class="programlisting">void        xmlParseDocTypeDecl             (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse a DOCTYPE declaration
+</p><p>
+[28] doctypedecl ::= '&lt;!DOCTYPE' S Name (S ExternalID)? S? 
+                     ('[' (markupdecl | PEReference | S)* ']' S?)? '&gt;'
+</p><p>
+[ VC: Root Element Type ]
+The Name in the document type declaration must match the element
+type of the root element.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseAttribute"></a>xmlParseAttribute ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlParseAttribute            (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **value);</pre><p>
+parse an attribute
+</p><p>
+[41] Attribute ::= Name Eq AttValue
+</p><p>
+[ WFC: No External Entity References ]
+Attribute values cannot contain direct or indirect entity references
+to external entities.
+</p><p>
+[ WFC: No &lt; in Attribute Values ]
+The replacement text of any entity referred to directly or indirectly in
+an attribute value (other than "&amp;lt;") must not contain a &lt;. 
+</p><p>
+[ VC: Attribute Value Type ]
+The attribute must have been declared; the value must be of the type
+declared for it.
+</p><p>
+[25] Eq ::= S? '=' S?
+</p><p>
+With namespace:
+</p><p>
+[NS 11] Attribute ::= QName Eq AttValue
+</p><p>
+Also the case QName == xmlns:??? is handled independently as a namespace
+definition.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>  a xmlChar ** used to store the value of the attribute
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the attribute name, and the value in *value.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseStartTag"></a>xmlParseStartTag ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlParseStartTag             (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse a start of tag either for rule element or
+EmptyElement. In both case we don't parse the tag closing chars.
+</p><p>
+[40] STag ::= '&lt;' Name (S Attribute)* S? '&gt;'
+</p><p>
+[ WFC: Unique Att Spec ]
+No attribute name may appear more than once in the same start-tag or
+empty-element tag. 
+</p><p>
+[44] EmptyElemTag ::= '&lt;' Name (S Attribute)* S? '/&gt;'
+</p><p>
+[ WFC: Unique Att Spec ]
+No attribute name may appear more than once in the same start-tag or
+empty-element tag. 
+</p><p>
+With namespace:
+</p><p>
+[NS 8] STag ::= '&lt;' QName (S Attribute)* S? '&gt;'
+</p><p>
+[NS 10] EmptyElement ::= '&lt;' QName (S Attribute)* S? '/&gt;'</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the element name parsed
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseEndTag"></a>xmlParseEndTag ()</h3><pre class="programlisting">void        xmlParseEndTag                  (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse an end of tag
+</p><p>
+[42] ETag ::= '&lt;/' Name S? '&gt;'
+</p><p>
+With namespace
+</p><p>
+[NS 9] ETag ::= '&lt;/' QName S? '&gt;'</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseCDSect"></a>xmlParseCDSect ()</h3><pre class="programlisting">void        xmlParseCDSect                  (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+Parse escaped pure raw content.
+</p><p>
+[18] CDSect ::= CDStart CData CDEnd
+</p><p>
+[19] CDStart ::= '&lt;![CDATA['
+</p><p>
+[20] Data ::= (Char* - (Char* ']]&gt;' Char*))
+</p><p>
+[21] CDEnd ::= ']]&gt;'</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseContent"></a>xmlParseContent ()</h3><pre class="programlisting">void        xmlParseContent                 (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+Parse a content:
+</p><p>
+[43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseElement"></a>xmlParseElement ()</h3><pre class="programlisting">void        xmlParseElement                 (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse an XML element, this is highly recursive
+</p><p>
+[39] element ::= EmptyElemTag | STag content ETag
+</p><p>
+[ WFC: Element Type Match ]
+The Name in an element's end-tag must match the element type in the
+start-tag.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseVersionNum"></a>xmlParseVersionNum ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlParseVersionNum              (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse the XML version value.
+</p><p>
+[26] VersionNum ::= ([a-zA-Z0-9_.:] | '-')+</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the string giving the XML version number, or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseVersionInfo"></a>xmlParseVersionInfo ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlParseVersionInfo             (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse the XML version.
+</p><p>
+[24] VersionInfo ::= S 'version' Eq (' VersionNum ' | " VersionNum ")
+</p><p>
+[25] Eq ::= S? '=' S?</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the version string, e.g. "1.0"
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseEncName"></a>xmlParseEncName ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlParseEncName                 (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse the XML encoding name
+</p><p>
+[81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the encoding name value or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseEncodingDecl"></a>xmlParseEncodingDecl ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlParseEncodingDecl         (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse the XML encoding declaration
+</p><p>
+[80] EncodingDecl ::= S 'encoding' Eq ('"' EncName '"' |  "'" EncName "'")
+</p><p>
+this setups the conversion filters.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the encoding value or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseSDDecl"></a>xmlParseSDDecl ()</h3><pre class="programlisting">int         xmlParseSDDecl                  (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse the XML standalone declaration
+</p><p>
+[32] SDDecl ::= S 'standalone' Eq
+                (("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no')'"')) 
+</p><p>
+[ VC: Standalone Document Declaration ]
+TODO The standalone document declaration must have the value "no"
+if any external markup declarations contain declarations of:
+ - attributes with default values, if elements to which these
+   attributes apply appear in the document without specifications
+   of values for these attributes, or
+ - entities (other than amp, lt, gt, apos, quot), if references
+   to those entities appear in the document, or
+ - attributes with values subject to normalization, where the
+   attribute appears in the document with a value which will change
+   as a result of normalization, or
+ - element types with element content, if white space occurs directly
+   within any instance of those types.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if standalone, 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseXMLDecl"></a>xmlParseXMLDecl ()</h3><pre class="programlisting">void        xmlParseXMLDecl                 (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse an XML declaration header
+</p><p>
+[23] XMLDecl ::= '&lt;?xml' VersionInfo EncodingDecl? SDDecl? S? '?&gt;'</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseTextDecl"></a>xmlParseTextDecl ()</h3><pre class="programlisting">void        xmlParseTextDecl                (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse an XML declaration header for external entities
+</p><p>
+[77] TextDecl ::= '&lt;?xml' VersionInfo? EncodingDecl S? '?&gt;'
+</p><p>
+Question: Seems that EncodingDecl is mandatory ? Is that a typo ?</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseMisc"></a>xmlParseMisc ()</h3><pre class="programlisting">void        xmlParseMisc                    (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+parse an XML Misc* optional field.
+</p><p>
+[27] Misc ::= Comment | PI |  S</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseExternalSubset"></a>xmlParseExternalSubset ()</h3><pre class="programlisting">void        xmlParseExternalSubset          (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p>
+parse Markup declarations from an external subset
+</p><p>
+[30] extSubset ::= textDecl? extSubsetDecl
+</p><p>
+[31] extSubsetDecl ::= (markupdecl | conditionalSect | PEReference | S) *</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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"><h3><a name="XML-SUBSTITUTE-NONE-CAPS"></a>XML_SUBSTITUTE_NONE</h3><pre class="programlisting">#define XML_SUBSTITUTE_NONE	0
 </pre><p>
 If no entities need to be substituted.</p><p>
@@ -218,7 +1151,247 @@
 </pre><p>
 Both general and parameter entities need to be substituted.</p><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="xmlEntityReferenceFunc"></a>xmlEntityReferenceFunc ()</h3><pre class="programlisting">void        (*xmlEntityReferenceFunc)       (<a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent,
+</p></div><hr><div class="refsect2"><h3><a name="xmlDecodeEntities"></a>xmlDecodeEntities ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlDecodeEntities               (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             int len,
+                                             int what,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> end,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> end2,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> end3);</pre><p>
+This function is deprecated, we now always process entities content
+through xmlStringDecodeEntities
+</p><p>
+TODO: remove it in next major release.
+</p><p>
+[67] Reference ::= EntityRef | CharRef
+</p><p>
+[69] PEReference ::= '%' Name ';'</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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 XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlStringDecodeEntities"></a>xmlStringDecodeEntities ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlStringDecodeEntities         (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             int what,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> end,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> end2,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> end3);</pre><p>
+Takes a entity string content and process to do the adequate substitutions.
+</p><p>
+[67] Reference ::= EntityRef | CharRef
+</p><p>
+[69] PEReference ::= '%' Name ';'</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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 XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlStringLenDecodeEntities"></a>xmlStringLenDecodeEntities ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlStringLenDecodeEntities      (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             int len,
+                                             int what,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> end,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> end2,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> end3);</pre><p>
+Takes a entity string content and process to do the adequate substitutions.
+</p><p>
+[67] Reference ::= EntityRef | CharRef
+</p><p>
+[69] PEReference ::= '%' Name ';'</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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 XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="nodePush"></a>nodePush ()</h3><pre class="programlisting">int         nodePush                        (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> value);</pre><p>
+Pushes a new element node on top of the node stack</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of error, the index in the stack otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="nodePop"></a>nodePop ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  nodePop                         (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+Pops the top element node from the node stack</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the node just removed
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="inputPush"></a>inputPush ()</h3><pre class="programlisting">int         inputPush                       (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> value);</pre><p>
+Pushes a new parser input on top of the input stack</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of error, the index in the stack otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="inputPop"></a>inputPop ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> inputPop                  (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+Pops the top parser input from the input stack</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the input just removed
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="namePop"></a>namePop ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* namePop                      (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+Pops the top element name from the name stack</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the name just removed
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="namePush"></a>namePush ()</h3><pre class="programlisting">int         namePush                        (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
+Pushes a new element name on top of the name stack</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>-1 in case of error, the index in the stack otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSkipBlankChars"></a>xmlSkipBlankChars ()</h3><pre class="programlisting">int         xmlSkipBlankChars               (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of space chars skipped
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlStringCurrentChar"></a>xmlStringCurrentChar ()</h3><pre class="programlisting">int         xmlStringCurrentChar            (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             int *len);</pre><p>
+The current char value, if using UTF-8 this may actually span multiple
+bytes in the input buffer.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the current char value and its length
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParserHandlePEReference"></a>xmlParserHandlePEReference ()</h3><pre class="programlisting">void        xmlParserHandlePEReference      (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+[69] PEReference ::= '%' Name ';'
+</p><p>
+[ WFC: No Recursion ]
+A parsed entity must not contain a recursive
+reference to itself, either directly or indirectly. 
+</p><p>
+[ WFC: Entity Declared ]
+In a document without any DTD, a document with only an internal DTD
+subset which contains no parameter entity references, or a document
+with "standalone='yes'", ...  ... The declaration of a parameter
+entity must precede any reference to it...
+</p><p>
+[ VC: Entity Declared ]
+In a document with an external subset or external parameter entities
+with "standalone='no'", ...  ... The declaration of a parameter entity
+must precede any reference to it...
+</p><p>
+[ WFC: In DTD ]
+Parameter-entity references may only appear in the DTD.
+NOTE: misleading but this is handled.
+</p><p>
+A PEReference may have been detected in the current input stream
+the handling is done accordingly to 
+     http://www.w3.org/TR/REC-xml<GTKDOCLINK HREF="entproc">entproc</GTKDOCLINK>
+i.e. 
+  - Included in literal in entity values
+  - Included as Parameter Entity reference within DTDs</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParserHandleReference"></a>xmlParserHandleReference ()</h3><pre class="programlisting">void        xmlParserHandleReference        (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+TODO: Remove, now deprecated ... the test is done directly in the
+      content parsing
+routines.
+</p><p>
+[67] Reference ::= EntityRef | CharRef
+</p><p>
+[68] EntityRef ::= '&amp;' Name ';'
+</p><p>
+[ WFC: Entity Declared ]
+the Name given in the entity reference 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. 
+</p><p>
+[ WFC: Parsed Entity ]
+An entity reference must not contain the name of an unparsed entity
+</p><p>
+[66] CharRef ::= '&amp;#' [0-9]+ ';' |
+                 '&amp;<GTKDOCLINK HREF="x">x</GTKDOCLINK>' [0-9a-fA-F]+ ';'
+</p><p>
+A PEReference may have been detected in the current input stream
+the handling is done accordingly to 
+     http://www.w3.org/TR/REC-xml<GTKDOCLINK HREF="entproc">entproc</GTKDOCLINK></p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCheckLanguageID"></a>xmlCheckLanguageID ()</h3><pre class="programlisting">int         xmlCheckLanguageID              (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *lang);</pre><p>
+Checks that the value conforms to the LanguageID production:
+</p><p>
+NOTE: this is somewhat deprecated, those productions were removed from
+      the XML Second edition.
+</p><p>
+[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])+</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if correct 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCurrentChar"></a>xmlCurrentChar ()</h3><pre class="programlisting">int         xmlCurrentChar                  (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             int *len);</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 "<GTKDOCLINK HREF="xD">xD</GTKDOCLINK><GTKDOCLINK HREF="xA">xA</GTKDOCLINK>" or a standalone literal <GTKDOCLINK HREF="xD">xD</GTKDOCLINK>, an XML processor
+must pass to the application the single character <GTKDOCLINK HREF="xA">xA</GTKDOCLINK>.
+This behavior can conveniently be produced by normalizing all
+line breaks to <GTKDOCLINK HREF="xA">xA</GTKDOCLINK> on input, before parsing.)</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the current char value and its length
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCopyCharMultiByte"></a>xmlCopyCharMultiByte ()</h3><pre class="programlisting">int         xmlCopyCharMultiByte            (<a href="libxml-tree.html#xmlChar">xmlChar</a> *out,
+                                             int val);</pre><p>
+append the char value in the array</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>  pointer to an array of xmlChar
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of xmlChar written
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCopyChar"></a>xmlCopyChar ()</h3><pre class="programlisting">int         xmlCopyChar                     (int len,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> *out,
+                                             int val);</pre><p>
+append the char value in the array</p><p>
+
+</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 xmlChar
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of xmlChar written
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNextChar"></a>xmlNextChar ()</h3><pre class="programlisting">void        xmlNextChar                     (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+Skip to the next char input char.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the XML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParserInputShrink"></a>xmlParserInputShrink ()</h3><pre class="programlisting">void        xmlParserInputShrink            (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in);</pre><p>
+This function removes used input for the parser.</p><p>
+
+</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"><h3><a name="htmlInitAutoClose"></a>htmlInitAutoClose ()</h3><pre class="programlisting">void        htmlInitAutoClose               (void);</pre><p>
+Initialize the htmlStartCloseIndex for fast lookup of closing tags names.
+This is not reentrant. Call <a href="libxml-parser.html#xmlInitParser">xmlInitParser</a>() once before processing in
+case of use in multithreaded programs.</p><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="htmlCreateFileParserCtxt"></a>htmlCreateFileParserCtxt ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> htmlCreateFileParserCtxt  (const char *filename,
+                                             const char *encoding);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the filename
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  a free form C string describing the HTML document encoding, or NULL
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser context or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlEntityReferenceFunc"></a>xmlEntityReferenceFunc ()</h3><pre class="programlisting">void        (*xmlEntityReferenceFunc)       (<a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent,
                                              <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> firstNode,
                                              <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> lastNode);</pre><p>
 Callback function used when one needs to be able to track back the
@@ -227,4 +1400,14 @@
 </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"><h3><a name="xmlSetEntityReferenceFunc"></a>xmlSetEntityReferenceFunc ()</h3><pre class="programlisting">void        xmlSetEntityReferenceFunc       (<a href="libxml-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a> func);</pre><p>
+Set the function to call call back when a xml reference has been made</p><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> A valid function
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlErrMemory"></a>xmlErrMemory ()</h3><pre class="programlisting">void        xmlErrMemory                    (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             const char *extra);</pre><p>
+Handle a redefinition of attribute error</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an HTML parser context
+</td></tr><tr><td><span class="term"><i><tt>extra</tt></i>:</span></td><td>  extra informations
 </td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-HTMLtree.html"><b>&lt;&lt; HTMLtree</b></a></td><td align="right"><a accesskey="n" href="libxml-entities.html"><b>entities &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-relaxng.html b/doc/html/libxml-relaxng.html
index bf30710..e6a7f25 100644
--- a/doc/html/libxml-relaxng.html
+++ b/doc/html/libxml-relaxng.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-hash.html" title="hash"><link rel="next" href="libxml-xpathInternals.html" title="xpathInternals"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-hash.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-xpathInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-relaxng"></a><div class="titlepage"></div><div class="refnamediv"><h2>relaxng</h2><p>relaxng &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2633488"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-nanohttp.html" title="nanohttp"><link rel="next" href="libxml-xpathInternals.html" title="xpathInternals"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-nanohttp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-xpathInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-relaxng"></a><div class="titlepage"></div><div class="refnamediv"><h2>relaxng</h2><p>relaxng &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2670900"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -46,6 +46,54 @@
 struct      <a href="libxml-relaxng.html#xmlRelaxNGValidCtxt">xmlRelaxNGValidCtxt</a>;
 typedef     <a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a>;
 enum        <a href="libxml-relaxng.html#xmlRelaxNGValidErr">xmlRelaxNGValidErr</a>;
+<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> <a href="libxml-relaxng.html#xmlRelaxNGNewParserCtxt">xmlRelaxNGNewParserCtxt</a>
+                                            (const char *URL);
+<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> <a href="libxml-relaxng.html#xmlRelaxNGNewMemParserCtxt">xmlRelaxNGNewMemParserCtxt</a>
+                                            (const char *buffer,
+                                             int size);
+<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> <a href="libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a>
+                                            (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+void        <a href="libxml-relaxng.html#xmlRelaxNGFreeParserCtxt">xmlRelaxNGFreeParserCtxt</a>        (<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt);
+void        <a href="libxml-relaxng.html#xmlRelaxNGSetParserErrors">xmlRelaxNGSetParserErrors</a>       (<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err,
+                                             <a href="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn,
+                                             void *ctx);
+int         <a href="libxml-relaxng.html#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a>       (<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> *err,
+                                             <a href="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> *warn,
+                                             void **ctx);
+<a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> <a href="libxml-relaxng.html#xmlRelaxNGParse">xmlRelaxNGParse</a>               (<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt);
+void        <a href="libxml-relaxng.html#xmlRelaxNGFree">xmlRelaxNGFree</a>                  (<a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
+void        <a href="libxml-relaxng.html#xmlRelaxNGDump">xmlRelaxNGDump</a>                  (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
+void        <a href="libxml-relaxng.html#xmlRelaxNGDumpTree">xmlRelaxNGDumpTree</a>              (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
+void        <a href="libxml-relaxng.html#xmlRelaxNGSetValidErrors">xmlRelaxNGSetValidErrors</a>        (<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err,
+                                             <a href="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn,
+                                             void *ctx);
+int         <a href="libxml-relaxng.html#xmlRelaxNGGetValidErrors">xmlRelaxNGGetValidErrors</a>        (<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> *err,
+                                             <a href="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> *warn,
+                                             void **ctx);
+<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> <a href="libxml-relaxng.html#xmlRelaxNGNewValidCtxt">xmlRelaxNGNewValidCtxt</a>
+                                            (<a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
+void        <a href="libxml-relaxng.html#xmlRelaxNGFreeValidCtxt">xmlRelaxNGFreeValidCtxt</a>         (<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt);
+int         <a href="libxml-relaxng.html#xmlRelaxNGValidateDoc">xmlRelaxNGValidateDoc</a>           (<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+void        <a href="libxml-relaxng.html#xmlRelaxNGCleanupTypes">xmlRelaxNGCleanupTypes</a>          (void);
+int         <a href="libxml-relaxng.html#xmlRelaxNGValidatePushElement">xmlRelaxNGValidatePushElement</a>   (<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
+int         <a href="libxml-relaxng.html#xmlRelaxNGValidatePushCData">xmlRelaxNGValidatePushCData</a>     (<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *data,
+                                             int len);
+int         <a href="libxml-relaxng.html#xmlRelaxNGValidatePopElement">xmlRelaxNGValidatePopElement</a>    (<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
+int         <a href="libxml-relaxng.html#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a>   (<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlRelaxNG"></a>struct xmlRelaxNG</h3><pre class="programlisting">struct xmlRelaxNG;</pre><p>
@@ -127,4 +175,157 @@
 } xmlRelaxNGValidErr;
 </pre><p>
 
-</p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-hash.html"><b>&lt;&lt; hash</b></a></td><td align="right"><a accesskey="n" href="libxml-xpathInternals.html"><b>xpathInternals &gt;&gt;</b></a></td></tr></table></body></html>
+</p></div><hr><div class="refsect2"><h3><a name="xmlRelaxNGNewParserCtxt"></a>xmlRelaxNGNewParserCtxt ()</h3><pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> xmlRelaxNGNewParserCtxt
+                                            (const char *URL);</pre><p>
+Create an XML RelaxNGs parse context for that file/resource expected
+to contain an XML RelaxNGs file.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the location of the schema
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the parser context or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRelaxNGNewMemParserCtxt"></a>xmlRelaxNGNewMemParserCtxt ()</h3><pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> xmlRelaxNGNewMemParserCtxt
+                                            (const char *buffer,
+                                             int size);</pre><p>
+Create an XML RelaxNGs parse context for that memory buffer expected
+to contain an XML RelaxNGs file.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>  a pointer to a char array 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the parser context or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRelaxNGNewDocParserCtxt"></a>xmlRelaxNGNewDocParserCtxt ()</h3><pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> xmlRelaxNGNewDocParserCtxt
+                                            (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
+Create an XML RelaxNGs parser context for that document.
+Note: since the process of compiling a RelaxNG schemas modifies the
+      document, the <i><tt>doc</tt></i> parameter is duplicated internally.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  a preparsed document tree
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the parser context or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRelaxNGFreeParserCtxt"></a>xmlRelaxNGFreeParserCtxt ()</h3><pre class="programlisting">void        xmlRelaxNGFreeParserCtxt        (<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt);</pre><p>
+Free the resources associated to the schema parser context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the schema parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRelaxNGSetParserErrors"></a>xmlRelaxNGSetParserErrors ()</h3><pre class="programlisting">void        xmlRelaxNGSetParserErrors       (<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err,
+                                             <a href="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn,
+                                             void *ctx);</pre><p>
+Set the callback functions used to handle errors for a validation context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlRelaxNGGetParserErrors"></a>xmlRelaxNGGetParserErrors ()</h3><pre class="programlisting">int         xmlRelaxNGGetParserErrors       (<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> *err,
+                                             <a href="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> *warn,
+                                             void **ctx);</pre><p>
+Get the callback information used to handle errors for a validation context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>-1 in case of failure, 0 otherwise.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRelaxNGParse"></a>xmlRelaxNGParse ()</h3><pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> xmlRelaxNGParse               (<a href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt);</pre><p>
+parse a schema definition resource and build an internal
+XML Shema struture which can be used to validate instances.
+*WARNING* this interface is highly subject to change</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  a Relax-NG parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlRelaxNGFree"></a>xmlRelaxNGFree ()</h3><pre class="programlisting">void        xmlRelaxNGFree                  (<a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);</pre><p>
+Deallocate a RelaxNG structure.</p><p>
+
+</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"><h3><a name="xmlRelaxNGDump"></a>xmlRelaxNGDump ()</h3><pre class="programlisting">void        xmlRelaxNGDump                  (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);</pre><p>
+Dump a RelaxNG structure back</p><p>
+
+</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"><h3><a name="xmlRelaxNGDumpTree"></a>xmlRelaxNGDumpTree ()</h3><pre class="programlisting">void        xmlRelaxNGDumpTree              (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);</pre><p>
+Dump the transformed RelaxNG tree.</p><p>
+
+</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"><h3><a name="xmlRelaxNGSetValidErrors"></a>xmlRelaxNGSetValidErrors ()</h3><pre class="programlisting">void        xmlRelaxNGSetValidErrors        (<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err,
+                                             <a href="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn,
+                                             void *ctx);</pre><p>
+Set the error and warning callback informations</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlRelaxNGGetValidErrors"></a>xmlRelaxNGGetValidErrors ()</h3><pre class="programlisting">int         xmlRelaxNGGetValidErrors        (<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> *err,
+                                             <a href="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> *warn,
+                                             void **ctx);</pre><p>
+Get the error and warning callback informations</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>-1 in case of error and 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRelaxNGNewValidCtxt"></a>xmlRelaxNGNewValidCtxt ()</h3><pre class="programlisting"><a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> xmlRelaxNGNewValidCtxt
+                                            (<a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);</pre><p>
+Create an XML RelaxNGs validation context based on the given schema</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the validation context or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRelaxNGFreeValidCtxt"></a>xmlRelaxNGFreeValidCtxt ()</h3><pre class="programlisting">void        xmlRelaxNGFreeValidCtxt         (<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt);</pre><p>
+Free the resources associated to the schema validation context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the schema validation context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRelaxNGValidateDoc"></a>xmlRelaxNGValidateDoc ()</h3><pre class="programlisting">int         xmlRelaxNGValidateDoc           (<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
+Validate a document tree in memory.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlRelaxNGCleanupTypes"></a>xmlRelaxNGCleanupTypes ()</h3><pre class="programlisting">void        xmlRelaxNGCleanupTypes          (void);</pre><p>
+Cleanup the default Schemas type library associated to RelaxNG</p><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlRelaxNGValidatePushElement"></a>xmlRelaxNGValidatePushElement ()</h3><pre class="programlisting">int         xmlRelaxNGValidatePushElement   (<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);</pre><p>
+Push a new element start on the RelaxNG validation stack.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlRelaxNGValidatePushCData"></a>xmlRelaxNGValidatePushCData ()</h3><pre class="programlisting">int         xmlRelaxNGValidatePushCData     (<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *data,
+                                             int len);</pre><p>
+check the CData parsed for validation in the current stack</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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 lenght of the data
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if no validation problem was found or -1 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRelaxNGValidatePopElement"></a>xmlRelaxNGValidatePopElement ()</h3><pre class="programlisting">int         xmlRelaxNGValidatePopElement    (<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);</pre><p>
+Pop the element end from the RelaxNG validation stack.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if no validation problem was found or 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRelaxNGValidateFullElement"></a>xmlRelaxNGValidateFullElement ()</h3><pre class="programlisting">int         xmlRelaxNGValidateFullElement   (<a href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);</pre><p>
+Validate a full subtree when <a href="libxml-relaxng.html#xmlRelaxNGValidatePushElement">xmlRelaxNGValidatePushElement</a>() returned
+0 and the content of the node has been expanded.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if no validation problem was found or -1 in case of error.
+</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-nanohttp.html"><b>&lt;&lt; nanohttp</b></a></td><td align="right"><a accesskey="n" href="libxml-xpathInternals.html"><b>xpathInternals &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-schemasInternals.html b/doc/html/libxml-schemasInternals.html
index 4f7f1c5..6306c91 100644
--- a/doc/html/libxml-schemasInternals.html
+++ b/doc/html/libxml-schemasInternals.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-nanoftp.html" title="nanoftp"><link rel="next" href="libxml-threads.html" title="threads"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-nanoftp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-threads.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-schemasInternals"></a><div class="titlepage"></div><div class="refnamediv"><h2>schemasInternals</h2><p>schemasInternals &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2655300"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-nanoftp.html" title="nanoftp"><link rel="next" href="libxml-threads.html" title="threads"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-nanoftp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-threads.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-schemasInternals"></a><div class="titlepage"></div><div class="refnamediv"><h2>schemasInternals</h2><p>schemasInternals &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2624369"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -68,6 +68,7 @@
 #define     <a href="libxml-schemasInternals.html#XML-SCHEMAS-QUALIF-ELEM-CAPS">XML_SCHEMAS_QUALIF_ELEM</a>
 #define     <a href="libxml-schemasInternals.html#XML-SCHEMAS-QUALIF-ATTR-CAPS">XML_SCHEMAS_QUALIF_ATTR</a>
 struct      <a href="libxml-schemasInternals.html#xmlSchema">xmlSchema</a>;
+void        <a href="libxml-schemasInternals.html#xmlSchemaFreeType">xmlSchemaFreeType</a>               (<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlSchemaTypeType"></a>enum xmlSchemaTypeType</h3><pre class="programlisting">typedef enum {
@@ -288,8 +289,6 @@
     xmlSchemaContentType contentType;
 };
 </pre><p>
-xmlSchemaType, xmlSchemaFacet and xmlSchemaElement start of
-structures must be kept similar</p><p>
 
 </p></div><hr><div class="refsect2"><h3><a name="xmlSchemaElementPtr"></a>xmlSchemaElementPtr</h3><pre class="programlisting">typedef xmlSchemaElement *xmlSchemaElementPtr;
 </pre><p>
@@ -349,4 +348,8 @@
 };
 </pre><p>
 
-</p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-nanoftp.html"><b>&lt;&lt; nanoftp</b></a></td><td align="right"><a accesskey="n" href="libxml-threads.html"><b>threads &gt;&gt;</b></a></td></tr></table></body></html>
+</p></div><hr><div class="refsect2"><h3><a name="xmlSchemaFreeType"></a>xmlSchemaFreeType ()</h3><pre class="programlisting">void        xmlSchemaFreeType               (<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type);</pre><p>
+Deallocate a Schema Type structure.</p><p>
+
+</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></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-nanoftp.html"><b>&lt;&lt; nanoftp</b></a></td><td align="right"><a accesskey="n" href="libxml-threads.html"><b>threads &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-testOOMlib.html b/doc/html/libxml-testOOMlib.html
index d006a98..c001772 100644
--- a/doc/html/libxml-testOOMlib.html
+++ b/doc/html/libxml-testOOMlib.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="ch01.html" title="Libxml Programming Notes"><link rel="next" href="libxml-wincecompat.html" title="wincecompat"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="ch01.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-wincecompat.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-testOOMlib"></a><div class="titlepage"></div><div class="refnamediv"><h2>testOOMlib</h2><p>testOOMlib &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2625421"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="ch01.html" title="Libxml Programming Notes"><link rel="next" href="libxml-wincecompat.html" title="wincecompat"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="ch01.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-wincecompat.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-testOOMlib"></a><div class="titlepage"></div><div class="refnamediv"><h2>testOOMlib</h2><p>testOOMlib &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2625490"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -75,16 +75,19 @@
 
 </td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="test-oom-handling"></a>test_oom_handling ()</h3><pre class="programlisting">int         test_oom_handling               (<a href="libxml-testOOMlib.html#TestMemoryFunction">TestMemoryFunction</a> func,
                                              void *data);</pre><p>
+Tests how well the given function responds to out-of-memory
+situations. Calls the function repeatedly, failing a different
+call to <GTKDOCLINK HREF="malloc">malloc</GTKDOCLINK>() each time. If the function ever returns <GTKDOCLINK HREF="FALSE-CAPS">FALSE</GTKDOCLINK>,
+the test fails. The function should return <GTKDOCLINK HREF="TRUE-CAPS">TRUE</GTKDOCLINK> whenever something
+valid (such as returning an error, or succeeding) occurs, and <GTKDOCLINK HREF="FALSE-CAPS">FALSE</GTKDOCLINK>
+if it gets confused in some way.</p><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>data</tt></i>:</span></td><td>
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
-
-
+</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 to call
+</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td> data to pass to function
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td><GTKDOCLINK HREF="TRUE-CAPS">TRUE</GTKDOCLINK> if the function never returns FALSE
 </td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="test-get-malloc-blocks-outstanding"></a>test_get_malloc_blocks_outstanding ()</h3><pre class="programlisting">int         test_get_malloc_blocks_outstanding
                                             (void);</pre><p>
+Get the number of outstanding <GTKDOCLINK HREF="malloc">malloc</GTKDOCLINK>()'d blocks.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
-
-
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>number of blocks
 </td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="ch01.html"><b>&lt;&lt; Libxml Programming Notes</b></a></td><td align="right"><a accesskey="n" href="libxml-wincecompat.html"><b>wincecompat &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-threads.html b/doc/html/libxml-threads.html
index 8b3b2cd..08dbe8d 100644
--- a/doc/html/libxml-threads.html
+++ b/doc/html/libxml-threads.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-schemasInternals.html" title="schemasInternals"><link rel="next" href="libxml-parser.html" title="parser"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-schemasInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-parser.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-threads"></a><div class="titlepage"></div><div class="refnamediv"><h2>threads</h2><p>threads &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2682889"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-schemasInternals.html" title="schemasInternals"><link rel="next" href="libxml-parser.html" title="parser"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-schemasInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-parser.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-threads"></a><div class="titlepage"></div><div class="refnamediv"><h2>threads</h2><p>threads &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2658377"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -36,6 +36,21 @@
 typedef     <a href="libxml-threads.html#xmlMutexPtr">xmlMutexPtr</a>;
 struct      <a href="libxml-threads.html#xmlRMutex">xmlRMutex</a>;
 typedef     <a href="libxml-threads.html#xmlRMutexPtr">xmlRMutexPtr</a>;
+<a href="libxml-threads.html#xmlMutexPtr">xmlMutexPtr</a> <a href="libxml-threads.html#xmlNewMutex">xmlNewMutex</a>                     (void);
+void        <a href="libxml-threads.html#xmlMutexLock">xmlMutexLock</a>                    (<a href="libxml-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok);
+void        <a href="libxml-threads.html#xmlMutexUnlock">xmlMutexUnlock</a>                  (<a href="libxml-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok);
+void        <a href="libxml-threads.html#xmlFreeMutex">xmlFreeMutex</a>                    (<a href="libxml-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok);
+<a href="libxml-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> <a href="libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a>                   (void);
+void        <a href="libxml-threads.html#xmlRMutexLock">xmlRMutexLock</a>                   (<a href="libxml-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok);
+void        <a href="libxml-threads.html#xmlRMutexUnlock">xmlRMutexUnlock</a>                 (<a href="libxml-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok);
+void        <a href="libxml-threads.html#xmlFreeRMutex">xmlFreeRMutex</a>                   (<a href="libxml-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok);
+void        <a href="libxml-threads.html#xmlInitThreads">xmlInitThreads</a>                  (void);
+void        <a href="libxml-threads.html#xmlLockLibrary">xmlLockLibrary</a>                  (void);
+void        <a href="libxml-threads.html#xmlUnlockLibrary">xmlUnlockLibrary</a>                (void);
+int         <a href="libxml-threads.html#xmlGetThreadId">xmlGetThreadId</a>                  (void);
+int         <a href="libxml-threads.html#xmlIsMainThread">xmlIsMainThread</a>                 (void);
+void        <a href="libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a>               (void);
+<a href="libxml-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> <a href="libxml-threads.html#xmlGetGlobalState">xmlGetGlobalState</a>         (void);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlMutex"></a>struct xmlMutex</h3><pre class="programlisting">struct xmlMutex;</pre><p>
@@ -48,4 +63,70 @@
 </p></div><hr><div class="refsect2"><h3><a name="xmlRMutexPtr"></a>xmlRMutexPtr</h3><pre class="programlisting">typedef xmlRMutex *xmlRMutexPtr;
 </pre><p>
 
-</p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-schemasInternals.html"><b>&lt;&lt; schemasInternals</b></a></td><td align="right"><a accesskey="n" href="libxml-parser.html"><b>parser &gt;&gt;</b></a></td></tr></table></body></html>
+</p></div><hr><div class="refsect2"><h3><a name="xmlNewMutex"></a>xmlNewMutex ()</h3><pre class="programlisting"><a href="libxml-threads.html#xmlMutexPtr">xmlMutexPtr</a> xmlNewMutex                     (void);</pre><p>
+<a href="libxml-threads.html#xmlNewMutex">xmlNewMutex</a>() is used to allocate a libxml2 token struct for use in
+synchronizing access to data.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a new simple mutex pointer or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlMutexLock"></a>xmlMutexLock ()</h3><pre class="programlisting">void        xmlMutexLock                    (<a href="libxml-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok);</pre><p>
+<a href="libxml-threads.html#xmlMutexLock">xmlMutexLock</a>() is used to lock a libxml2 token.</p><p>
+
+</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"><h3><a name="xmlMutexUnlock"></a>xmlMutexUnlock ()</h3><pre class="programlisting">void        xmlMutexUnlock                  (<a href="libxml-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok);</pre><p>
+<a href="libxml-threads.html#xmlMutexUnlock">xmlMutexUnlock</a>() is used to unlock a libxml2 token.</p><p>
+
+</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"><h3><a name="xmlFreeMutex"></a>xmlFreeMutex ()</h3><pre class="programlisting">void        xmlFreeMutex                    (<a href="libxml-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok);</pre><p>
+<a href="libxml-threads.html#xmlFreeMutex">xmlFreeMutex</a>() is used to reclaim resources associated with a libxml2 token
+struct.</p><p>
+
+</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"><h3><a name="xmlNewRMutex"></a>xmlNewRMutex ()</h3><pre class="programlisting"><a href="libxml-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> xmlNewRMutex                   (void);</pre><p>
+<GTKDOCLINK HREF="xmlRNewMutex">xmlRNewMutex</GTKDOCLINK>() 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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new reentrant mutex pointer or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRMutexLock"></a>xmlRMutexLock ()</h3><pre class="programlisting">void        xmlRMutexLock                   (<a href="libxml-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok);</pre><p>
+<a href="libxml-threads.html#xmlRMutexLock">xmlRMutexLock</a>() is used to lock a libxml2 token_r.</p><p>
+
+</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"><h3><a name="xmlRMutexUnlock"></a>xmlRMutexUnlock ()</h3><pre class="programlisting">void        xmlRMutexUnlock                 (<a href="libxml-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok);</pre><p>
+<a href="libxml-threads.html#xmlRMutexUnlock">xmlRMutexUnlock</a>() is used to unlock a libxml2 token_r.</p><p>
+
+</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"><h3><a name="xmlFreeRMutex"></a>xmlFreeRMutex ()</h3><pre class="programlisting">void        xmlFreeRMutex                   (<a href="libxml-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok);</pre><p>
+<GTKDOCLINK HREF="xmlRFreeMutex">xmlRFreeMutex</GTKDOCLINK>() is used to reclaim resources associated with a
+reentrant mutex.</p><p>
+
+</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"><h3><a name="xmlInitThreads"></a>xmlInitThreads ()</h3><pre class="programlisting">void        xmlInitThreads                  (void);</pre><p>
+<a href="libxml-threads.html#xmlInitThreads">xmlInitThreads</a>() is used to to initialize all the thread related
+data of the libxml2 library.</p><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlLockLibrary"></a>xmlLockLibrary ()</h3><pre class="programlisting">void        xmlLockLibrary                  (void);</pre><p>
+<a href="libxml-threads.html#xmlLockLibrary">xmlLockLibrary</a>() is used to take out a re-entrant lock on the libxml2
+library.</p><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlUnlockLibrary"></a>xmlUnlockLibrary ()</h3><pre class="programlisting">void        xmlUnlockLibrary                (void);</pre><p>
+<a href="libxml-threads.html#xmlUnlockLibrary">xmlUnlockLibrary</a>() is used to release a re-entrant lock on the libxml2
+library.</p><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlGetThreadId"></a>xmlGetThreadId ()</h3><pre class="programlisting">int         xmlGetThreadId                  (void);</pre><p>
+<a href="libxml-threads.html#xmlGetThreadId">xmlGetThreadId</a>() find the current thread ID number</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the current thread ID number
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIsMainThread"></a>xmlIsMainThread ()</h3><pre class="programlisting">int         xmlIsMainThread                 (void);</pre><p>
+<a href="libxml-threads.html#xmlIsMainThread">xmlIsMainThread</a>() check whether the current thread is the main thread.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if the current thread is the main thread, 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCleanupThreads"></a>xmlCleanupThreads ()</h3><pre class="programlisting">void        xmlCleanupThreads               (void);</pre><p>
+<a href="libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a>() is used to to cleanup all the thread related
+data of the libxml2 library once processing has ended.</p><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlGetGlobalState"></a>xmlGetGlobalState ()</h3><pre class="programlisting"><a href="libxml-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> xmlGetGlobalState         (void);</pre><p>
+<a href="libxml-threads.html#xmlGetGlobalState">xmlGetGlobalState</a>() is called to retrieve the global state for a thread.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the thread global state or NULL in case of error
+</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-schemasInternals.html"><b>&lt;&lt; schemasInternals</b></a></td><td align="right"><a accesskey="n" href="libxml-parser.html"><b>parser &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-tree.html b/doc/html/libxml-tree.html
index 87422fd..bc4db6e 100644
--- a/doc/html/libxml-tree.html
+++ b/doc/html/libxml-tree.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-catalog.html" title="catalog"><link rel="next" href="libxml-globals.html" title="globals"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-catalog.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-globals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-tree"></a><div class="titlepage"></div><div class="refnamediv"><h2>tree</h2><p>tree &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2661507"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-catalog.html" title="catalog"><link rel="next" href="libxml-globals.html" title="globals"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-catalog.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-globals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-tree"></a><div class="titlepage"></div><div class="refnamediv"><h2>tree</h2><p>tree &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2602298"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -89,6 +89,321 @@
 typedef     <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>;
 #define     <a href="libxml-tree.html#xmlChildrenNode">xmlChildrenNode</a>
 #define     <a href="libxml-tree.html#xmlRootNode">xmlRootNode</a>
+int         <a href="libxml-tree.html#xmlValidateNCName">xmlValidateNCName</a>               (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
+                                             int space);
+int         <a href="libxml-tree.html#xmlValidateQName">xmlValidateQName</a>                (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
+                                             int space);
+int         <a href="libxml-tree.html#xmlValidateName">xmlValidateName</a>                 (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
+                                             int space);
+int         <a href="libxml-tree.html#xmlValidateNMToken">xmlValidateNMToken</a>              (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
+                                             int space);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-tree.html#xmlBuildQName">xmlBuildQName</a>                   (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ncname,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> *memory,
+                                             int len);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-tree.html#xmlSplitQName2">xmlSplitQName2</a>                  (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **prefix);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-tree.html#xmlSplitQName3">xmlSplitQName3</a>               (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             int *len);
+void        <a href="libxml-tree.html#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a>    (<a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme);
+<a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> <a href="libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a>
+                                            (void);
+<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> <a href="libxml-tree.html#xmlBufferCreate">xmlBufferCreate</a>                (void);
+<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> <a href="libxml-tree.html#xmlBufferCreateSize">xmlBufferCreateSize</a>            (<GTKDOCLINK HREF="size-t">size_t</GTKDOCLINK> size);
+<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> <a href="libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</a>          (void *mem,
+                                             <GTKDOCLINK HREF="size-t">size_t</GTKDOCLINK> size);
+int         <a href="libxml-tree.html#xmlBufferResize">xmlBufferResize</a>                 (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             unsigned int size);
+void        <a href="libxml-tree.html#xmlBufferFree">xmlBufferFree</a>                   (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
+int         <a href="libxml-tree.html#xmlBufferDump">xmlBufferDump</a>                   (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *file,
+                                             <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
+void        <a href="libxml-tree.html#xmlBufferAdd">xmlBufferAdd</a>                    (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             int len);
+void        <a href="libxml-tree.html#xmlBufferAddHead">xmlBufferAddHead</a>                (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             int len);
+void        <a href="libxml-tree.html#xmlBufferCat">xmlBufferCat</a>                    (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);
+void        <a href="libxml-tree.html#xmlBufferCCat">xmlBufferCCat</a>                   (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             const char *str);
+int         <a href="libxml-tree.html#xmlBufferShrink">xmlBufferShrink</a>                 (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             unsigned int len);
+int         <a href="libxml-tree.html#xmlBufferGrow">xmlBufferGrow</a>                   (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             unsigned int len);
+void        <a href="libxml-tree.html#xmlBufferEmpty">xmlBufferEmpty</a>                  (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-tree.html#xmlBufferContent">xmlBufferContent</a>             (const <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
+void        <a href="libxml-tree.html#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a>    (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme);
+int         <a href="libxml-tree.html#xmlBufferLength">xmlBufferLength</a>                 (const <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
+<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>   <a href="libxml-tree.html#xmlCreateIntSubset">xmlCreateIntSubset</a>              (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);
+<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>   <a href="libxml-tree.html#xmlNewDtd">xmlNewDtd</a>                       (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);
+<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>   <a href="libxml-tree.html#xmlGetIntSubset">xmlGetIntSubset</a>                 (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+void        <a href="libxml-tree.html#xmlFreeDtd">xmlFreeDtd</a>                      (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> cur);
+<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>    <a href="libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a>                  (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *href,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);
+<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>    <a href="libxml-tree.html#xmlNewNs">xmlNewNs</a>                        (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *href,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);
+void        <a href="libxml-tree.html#xmlFreeNs">xmlFreeNs</a>                       (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur);
+void        <a href="libxml-tree.html#xmlFreeNsList">xmlFreeNsList</a>                   (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-tree.html#xmlNewDoc">xmlNewDoc</a>                       (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *version);
+void        <a href="libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a>                      (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
+<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a>                   (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
+<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="libxml-tree.html#xmlNewProp">xmlNewProp</a>                      (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
+<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="libxml-tree.html#xmlNewNsProp">xmlNewNsProp</a>                    (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
+<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="libxml-tree.html#xmlNewNsPropEatName">xmlNewNsPropEatName</a>             (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
+void        <a href="libxml-tree.html#xmlFreePropList">xmlFreePropList</a>                 (<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
+void        <a href="libxml-tree.html#xmlFreeProp">xmlFreeProp</a>                     (<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
+<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="libxml-tree.html#xmlCopyProp">xmlCopyProp</a>                     (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> target,
+                                             <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
+<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="libxml-tree.html#xmlCopyPropList">xmlCopyPropList</a>                 (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> target,
+                                             <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
+<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>   <a href="libxml-tree.html#xmlCopyDtd">xmlCopyDtd</a>                      (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-tree.html#xmlCopyDoc">xmlCopyDoc</a>                      (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             int recursive);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a>                   (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a>            (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlNewDocRawNode">xmlNewDocRawNode</a>                (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlNewNode">xmlNewNode</a>                      (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlNewNodeEatName">xmlNewNodeEatName</a>               (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlNewChild">xmlNewChild</a>                     (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent,
+                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a>                 (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent,
+                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlNewDocText">xmlNewDocText</a>                   (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlNewText">xmlNewText</a>                      (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlNewPI">xmlNewPI</a>                        (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlNewDocTextLen">xmlNewDocTextLen</a>                (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content,
+                                             int len);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlNewTextLen">xmlNewTextLen</a>                   (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content,
+                                             int len);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlNewDocComment">xmlNewDocComment</a>                (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlNewComment">xmlNewComment</a>                   (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlNewCDataBlock">xmlNewCDataBlock</a>                (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content,
+                                             int len);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlNewCharRef">xmlNewCharRef</a>                   (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlNewReference">xmlNewReference</a>                 (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlCopyNode">xmlCopyNode</a>                     (const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             int recursive);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlDocCopyNode">xmlDocCopyNode</a>                  (const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             int recursive);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlCopyNodeList">xmlCopyNodeList</a>                 (const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlNewDocFragment">xmlNewDocFragment</a>               (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+<GTKDOCLINK HREF="long">long</GTKDOCLINK>        <a href="libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a>                    (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-tree.html#xmlGetNodePath">xmlGetNodePath</a>                  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a>            (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlGetLastChild">xmlGetLastChild</a>                 (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent);
+int         <a href="libxml-tree.html#xmlNodeIsText">xmlNodeIsText</a>                   (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+int         <a href="libxml-tree.html#xmlIsBlankNode">xmlIsBlankNode</a>                  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a>            (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> root);
+void        <a href="libxml-tree.html#xmlNodeSetName">xmlNodeSetName</a>                  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlAddChild">xmlAddChild</a>                     (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlAddChildList">xmlAddChildList</a>                 (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlReplaceNode">xmlReplaceNode</a>                  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> old,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlAddPrevSibling">xmlAddPrevSibling</a>               (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlAddSibling">xmlAddSibling</a>                   (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlAddNextSibling">xmlAddNextSibling</a>               (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
+void        <a href="libxml-tree.html#xmlUnlinkNode">xmlUnlinkNode</a>                   (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlTextMerge">xmlTextMerge</a>                    (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> first,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> second);
+int         <a href="libxml-tree.html#xmlTextConcat">xmlTextConcat</a>                   (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content,
+                                             int len);
+void        <a href="libxml-tree.html#xmlFreeNodeList">xmlFreeNodeList</a>                 (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+void        <a href="libxml-tree.html#xmlFreeNode">xmlFreeNode</a>                     (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+void        <a href="libxml-tree.html#xmlSetTreeDoc">xmlSetTreeDoc</a>                   (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+void        <a href="libxml-tree.html#xmlSetListDoc">xmlSetListDoc</a>                   (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> list,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>    <a href="libxml-tree.html#xmlSearchNs">xmlSearchNs</a>                     (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *nameSpace);
+<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>    <a href="libxml-tree.html#xmlSearchNsByHref">xmlSearchNsByHref</a>               (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *href);
+<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>*   <a href="libxml-tree.html#xmlGetNsList">xmlGetNsList</a>                    (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+void        <a href="libxml-tree.html#xmlSetNs">xmlSetNs</a>                        (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns);
+<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>    <a href="libxml-tree.html#xmlCopyNamespace">xmlCopyNamespace</a>                (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur);
+<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>    <a href="libxml-tree.html#xmlCopyNamespaceList">xmlCopyNamespaceList</a>            (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur);
+<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="libxml-tree.html#xmlSetProp">xmlSetProp</a>                      (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a>                  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-tree.html#xmlGetProp">xmlGetProp</a>                      (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="libxml-tree.html#xmlHasProp">xmlHasProp</a>                      (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="libxml-tree.html#xmlHasNsProp">xmlHasNsProp</a>                    (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *nameSpace);
+<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="libxml-tree.html#xmlSetNsProp">xmlSetNsProp</a>                    (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-tree.html#xmlGetNsProp">xmlGetNsProp</a>                    (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *nameSpace);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlStringGetNodeList">xmlStringGetNodeList</a>            (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-tree.html#xmlStringLenGetNodeList">xmlStringLenGetNodeList</a>         (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
+                                             int len);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-tree.html#xmlNodeListGetString">xmlNodeListGetString</a>            (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> list,
+                                             int inLine);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a>         (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> list,
+                                             int inLine);
+void        <a href="libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a>               (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+void        <a href="libxml-tree.html#xmlNodeSetContentLen">xmlNodeSetContentLen</a>            (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content,
+                                             int len);
+void        <a href="libxml-tree.html#xmlNodeAddContent">xmlNodeAddContent</a>               (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+void        <a href="libxml-tree.html#xmlNodeAddContentLen">xmlNodeAddContentLen</a>            (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content,
+                                             int len);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-tree.html#xmlNodeGetContent">xmlNodeGetContent</a>               (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+int         <a href="libxml-tree.html#xmlNodeBufGetContent">xmlNodeBufGetContent</a>            (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-tree.html#xmlNodeGetLang">xmlNodeGetLang</a>                  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+int         <a href="libxml-tree.html#xmlNodeGetSpacePreserve">xmlNodeGetSpacePreserve</a>         (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+void        <a href="libxml-tree.html#xmlNodeSetLang">xmlNodeSetLang</a>                  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *lang);
+void        <a href="libxml-tree.html#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a>         (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             int val);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a>                  (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+void        <a href="libxml-tree.html#xmlNodeSetBase">xmlNodeSetBase</a>                  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *uri);
+int         <a href="libxml-tree.html#xmlRemoveProp">xmlRemoveProp</a>                   (<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
+int         <a href="libxml-tree.html#xmlUnsetProp">xmlUnsetProp</a>                    (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+int         <a href="libxml-tree.html#xmlUnsetNsProp">xmlUnsetNsProp</a>                  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+void        <a href="libxml-tree.html#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a>              (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string);
+void        <a href="libxml-tree.html#xmlBufferWriteChar">xmlBufferWriteChar</a>              (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             const char *string);
+void        <a href="libxml-tree.html#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a>      (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string);
+int         <a href="libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a>               (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree);
+void        <a href="libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a>          (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **mem,
+                                             int *size,
+                                             int format);
+void        <a href="libxml-tree.html#xmlDocDumpMemory">xmlDocDumpMemory</a>                (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **mem,
+                                             int *size);
+void        <a href="libxml-tree.html#xmlDocDumpMemoryEnc">xmlDocDumpMemoryEnc</a>             (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **doc_txt_ptr,
+                                             int *doc_txt_len,
+                                             const char *txt_encoding);
+void        <a href="libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a>       (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **doc_txt_ptr,
+                                             int *doc_txt_len,
+                                             const char *txt_encoding,
+                                             int format);
+int         <a href="libxml-tree.html#xmlDocFormatDump">xmlDocFormatDump</a>                (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *f,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             int format);
+int         <a href="libxml-tree.html#xmlDocDump">xmlDocDump</a>                      (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *f,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
+void        <a href="libxml-tree.html#xmlElemDump">xmlElemDump</a>                     (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *f,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+int         <a href="libxml-tree.html#xmlSaveFile">xmlSaveFile</a>                     (const char *filename,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
+int         <a href="libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a>               (const char *filename,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             int format);
+int         <a href="libxml-tree.html#xmlNodeDump">xmlNodeDump</a>                     (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             int level,
+                                             int format);
+int         <a href="libxml-tree.html#xmlSaveFileTo">xmlSaveFileTo</a>                   (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             const char *encoding);
+int         <a href="libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a>             (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             const char *encoding,
+                                             int format);
+void        <a href="libxml-tree.html#xmlNodeDumpOutput">xmlNodeDumpOutput</a>               (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             int level,
+                                             int format,
+                                             const char *encoding);
+int         <a href="libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a>            (const char *filename,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             const char *encoding,
+                                             int format);
+int         <a href="libxml-tree.html#xmlSaveFileEnc">xmlSaveFileEnc</a>                  (const char *filename,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             const char *encoding);
+int         <a href="libxml-tree.html#xmlIsXHTML">xmlIsXHTML</a>                      (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicID);
+int         <a href="libxml-tree.html#xmlGetDocCompressMode">xmlGetDocCompressMode</a>           (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+void        <a href="libxml-tree.html#xmlSetDocCompressMode">xmlSetDocCompressMode</a>           (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             int mode);
+int         <a href="libxml-tree.html#xmlGetCompressMode">xmlGetCompressMode</a>              (void);
+void        <a href="libxml-tree.html#xmlSetCompressMode">xmlSetCompressMode</a>              (int mode);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlParserInputBuffer"></a>struct xmlParserInputBuffer</h3><pre class="programlisting">struct xmlParserInputBuffer {
@@ -649,6 +964,7 @@
     xmlAttrPtr        attr;	/* The attribute holding it */
     const xmlChar    *name;	/* The attribute if attr is not available */
     int               lineno;	/* The line number if attr is not available */
+    struct _xmlDoc   *doc;	/* The document holding the ID */
 };
 </pre><p>
 An XML ID instance.</p><p>
@@ -775,4 +1091,1207 @@
 </pre><p>
 Macro for compatibility naming layer with libxml1.</p><p>
 
-</p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-catalog.html"><b>&lt;&lt; catalog</b></a></td><td align="right"><a accesskey="n" href="libxml-globals.html"><b>globals &gt;&gt;</b></a></td></tr></table></body></html>
+</p></div><hr><div class="refsect2"><h3><a name="xmlValidateNCName"></a>xmlValidateNCName ()</h3><pre class="programlisting">int         xmlValidateNCName               (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
+                                             int space);</pre><p>
+Check that a value conforms to the lexical space of NCName</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td> the 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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlValidateQName"></a>xmlValidateQName ()</h3><pre class="programlisting">int         xmlValidateQName                (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
+                                             int space);</pre><p>
+Check that a value conforms to the lexical space of QName</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td> the 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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlValidateName"></a>xmlValidateName ()</h3><pre class="programlisting">int         xmlValidateName                 (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
+                                             int space);</pre><p>
+Check that a value conforms to the lexical space of Name</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td> the 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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlValidateNMToken"></a>xmlValidateNMToken ()</h3><pre class="programlisting">int         xmlValidateNMToken              (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
+                                             int space);</pre><p>
+Check that a value conforms to the lexical space of NMToken</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td> the 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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlBuildQName"></a>xmlBuildQName ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlBuildQName                   (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ncname,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> *memory,
+                                             int len);</pre><p>
+Builds the QName <i><tt>prefix</tt></i>:<i><tt>ncname</tt></i> in <i><tt>memory</tt></i> 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><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new string which must be freed by the caller if different from
+        <i><tt>memory</tt></i> and <i><tt>ncname</tt></i> or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSplitQName2"></a>xmlSplitQName2 ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlSplitQName2                  (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **prefix);</pre><p>
+parse an XML qualified name string
+</p><p>
+[NS 5] QName ::= (Prefix ':')? LocalPart
+</p><p>
+[NS 6] Prefix ::= NCName
+</p><p>
+[NS 7] LocalPart ::= NCName</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>  the full QName
+</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>  a xmlChar ** 
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>NULL if not a QName, otherwise the local part, and prefix
+  is updated to get the Prefix if any.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSplitQName3"></a>xmlSplitQName3 ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlSplitQName3               (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             int *len);</pre><p>
+parse an XML qualified name string,i</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>NULL if it is not a Qualified Name, otherwise, update len
+        with the lenght in byte of the prefix and return a pointer
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSetBufferAllocationScheme"></a>xmlSetBufferAllocationScheme ()</h3><pre class="programlisting">void        xmlSetBufferAllocationScheme    (<a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme);</pre><p>
+Set the buffer allocation method.  Types are
+XML_BUFFER_ALLOC_EXACT - use exact sizes, keeps memory usage down
+XML_BUFFER_ALLOC_DOUBLEIT - double buffer when extra needed, 
+                            improves performance</p><p>
+
+</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"><h3><a name="xmlGetBufferAllocationScheme"></a>xmlGetBufferAllocationScheme ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> xmlGetBufferAllocationScheme
+                                            (void);</pre><p>
+Types are
+XML_BUFFER_ALLOC_EXACT - use exact sizes, keeps memory usage down
+XML_BUFFER_ALLOC_DOUBLEIT - double buffer when extra needed, 
+                            improves performance</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the current allocation scheme
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlBufferCreate"></a>xmlBufferCreate ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> xmlBufferCreate                (void);</pre><p>
+routine to create an XML buffer.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new structure.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlBufferCreateSize"></a>xmlBufferCreateSize ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> xmlBufferCreateSize            (<GTKDOCLINK HREF="size-t">size_t</GTKDOCLINK> size);</pre><p>
+routine to create an XML buffer.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new structure.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlBufferCreateStatic"></a>xmlBufferCreateStatic ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> xmlBufferCreateStatic          (void *mem,
+                                             <GTKDOCLINK HREF="size-t">size_t</GTKDOCLINK> size);</pre><p>
+routine to create an XML buffer from an immutable memory area,
+The are won't be modified nor copied, and is expected to be
+present until the end of the buffer lifetime.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new structure.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlBufferResize"></a>xmlBufferResize ()</h3><pre class="programlisting">int         xmlBufferResize                 (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             unsigned int size);</pre><p>
+Resize a buffer to accommodate minimum size of <i><tt>size</tt></i>.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of problems, 1 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlBufferFree"></a>xmlBufferFree ()</h3><pre class="programlisting">void        xmlBufferFree                   (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);</pre><p>
+Frees an XML buffer. It frees both the content and the structure which
+encapsulate it.</p><p>
+
+</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"><h3><a name="xmlBufferDump"></a>xmlBufferDump ()</h3><pre class="programlisting">int         xmlBufferDump                   (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *file,
+                                             <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);</pre><p>
+Dumps an XML buffer to  a FILE *.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of <a href="libxml-tree.html#xmlChar">xmlChar</a> written
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlBufferAdd"></a>xmlBufferAdd ()</h3><pre class="programlisting">void        xmlBufferAdd                    (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             int len);</pre><p>
+Add a string range to an XML buffer. if len == -1, the length of
+str is recomputed.</p><p>
+
+</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 <a href="libxml-tree.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="libxml-tree.html#xmlChar">xmlChar</a> to add
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlBufferAddHead"></a>xmlBufferAddHead ()</h3><pre class="programlisting">void        xmlBufferAddHead                (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             int len);</pre><p>
+Add a string range to the beginning of an XML buffer.
+if len == -1, the length of <i><tt>str</tt></i> is recomputed.</p><p>
+
+</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 <a href="libxml-tree.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="libxml-tree.html#xmlChar">xmlChar</a> to add
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlBufferCat"></a>xmlBufferCat ()</h3><pre class="programlisting">void        xmlBufferCat                    (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);</pre><p>
+Append a zero terminated string to an XML buffer.</p><p>
+
+</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 <a href="libxml-tree.html#xmlChar">xmlChar</a> string
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlBufferCCat"></a>xmlBufferCCat ()</h3><pre class="programlisting">void        xmlBufferCCat                   (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             const char *str);</pre><p>
+Append a zero terminated C string to an XML buffer.</p><p>
+
+</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></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlBufferShrink"></a>xmlBufferShrink ()</h3><pre class="programlisting">int         xmlBufferShrink                 (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             unsigned int len);</pre><p>
+Remove the beginning of an XML buffer.</p><p>
+
+</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 xmlChar to remove
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of <a href="libxml-tree.html#xmlChar">xmlChar</a> removed, or -1 in case of failure.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlBufferGrow"></a>xmlBufferGrow ()</h3><pre class="programlisting">int         xmlBufferGrow                   (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             unsigned int len);</pre><p>
+Grow the available space of an XML buffer.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new available space or -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlBufferEmpty"></a>xmlBufferEmpty ()</h3><pre class="programlisting">void        xmlBufferEmpty                  (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);</pre><p>
+empty a buffer.</p><p>
+
+</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"><h3><a name="xmlBufferContent"></a>xmlBufferContent ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlBufferContent             (const <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);</pre><p>
+Function to extract the content of a buffer</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the internal content
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlBufferSetAllocationScheme"></a>xmlBufferSetAllocationScheme ()</h3><pre class="programlisting">void        xmlBufferSetAllocationScheme    (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme);</pre><p>
+Sets the allocation scheme for this buffer</p><p>
+
+</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"><h3><a name="xmlBufferLength"></a>xmlBufferLength ()</h3><pre class="programlisting">int         xmlBufferLength                 (const <a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);</pre><p>
+Function to get the length of a buffer</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the length of data in the internal content
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCreateIntSubset"></a>xmlCreateIntSubset ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>   xmlCreateIntSubset              (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p>
+Create the internal subset of a document</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the new DTD structure
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewDtd"></a>xmlNewDtd ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>   xmlNewDtd                       (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ExternalID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p>
+Creation of a new DTD for the external subset. To create an
+internal subset, use <a href="libxml-tree.html#xmlCreateIntSubset">xmlCreateIntSubset</a>().</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the new DTD structure
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGetIntSubset"></a>xmlGetIntSubset ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>   xmlGetIntSubset                 (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
+Get the internal subset of a document</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the document pointer
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the DTD structure or NULL if not found
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFreeDtd"></a>xmlFreeDtd ()</h3><pre class="programlisting">void        xmlFreeDtd                      (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> cur);</pre><p>
+Free a DTD structure.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the DTD structure to free up
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewGlobalNs"></a>xmlNewGlobalNs ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>    xmlNewGlobalNs                  (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *href,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);</pre><p>
+Creation of a Namespace, the old way using PI and without scoping
+  DEPRECATED !!!
+It now create a namespace on the root element of the document if found.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>NULL this functionality had been removed
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewNs"></a>xmlNewNs ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>    xmlNewNs                        (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *href,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);</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.
+We use href==NULL in the case of an element creation where the namespace
+was not defined.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a new namespace pointer or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFreeNs"></a>xmlFreeNs ()</h3><pre class="programlisting">void        xmlFreeNs                       (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur);</pre><p>
+Free up the structures associated to a namespace</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the namespace pointer
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFreeNsList"></a>xmlFreeNsList ()</h3><pre class="programlisting">void        xmlFreeNsList                   (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur);</pre><p>
+Free up all the structures associated to the chained namespaces.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the first namespace pointer
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewDoc"></a>xmlNewDoc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlNewDoc                       (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *version);</pre><p>
+Creates a new XML document</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>version</tt></i>:</span></td><td>  xmlChar string giving the version of XML "1.0"
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a new document
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFreeDoc"></a>xmlFreeDoc ()</h3><pre class="programlisting">void        xmlFreeDoc                      (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur);</pre><p>
+Free up all the structures used by a document, tree included.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  pointer to the document
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewDocProp"></a>xmlNewDocProp ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>  xmlNewDocProp                   (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
+Create a new property carried by a document.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the document
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>  the name of the attribute
+</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>  the value of the attribute
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the attribute
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewProp"></a>xmlNewProp ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>  xmlNewProp                      (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
+Create a new property carried by a node.</p><p>
+
+</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 attribute
+</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>  the value of the attribute
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the attribute
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewNsProp"></a>xmlNewNsProp ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>  xmlNewNsProp                    (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
+Create a new property tagged with a namespace and carried by a node.</p><p>
+
+</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 attribute
+</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>  the value of the attribute
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the attribute
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewNsPropEatName"></a>xmlNewNsPropEatName ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>  xmlNewNsPropEatName             (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
+Create a new property tagged with a namespace and carried by a node.</p><p>
+
+</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 attribute
+</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>  the value of the attribute
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the attribute
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFreePropList"></a>xmlFreePropList ()</h3><pre class="programlisting">void        xmlFreePropList                 (<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);</pre><p>
+Free a property and all its siblings, all the children are freed too.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the first property in the list
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFreeProp"></a>xmlFreeProp ()</h3><pre class="programlisting">void        xmlFreeProp                     (<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);</pre><p>
+Free one attribute, all the content is freed too</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  an attribute
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCopyProp"></a>xmlCopyProp ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>  xmlCopyProp                     (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> target,
+                                             <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);</pre><p>
+Do a copy of the attribute.</p><p>
+
+</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 attribute will be grafted
+</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the attribute
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td> a new <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>, or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCopyPropList"></a>xmlCopyPropList ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>  xmlCopyPropList                 (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> target,
+                                             <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);</pre><p>
+Do a copy of an attribute list.</p><p>
+
+</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 attribute
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td> a new <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>, or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCopyDtd"></a>xmlCopyDtd ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>   xmlCopyDtd                      (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);</pre><p>
+Do a copy of the dtd.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td> a new <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a>, or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCopyDoc"></a>xmlCopyDoc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlCopyDoc                      (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             int recursive);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the document
+</td></tr><tr><td><span class="term"><i><tt>recursive</tt></i>:</span></td><td>  if 1 do a recursive copy.
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td> a new <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>, or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewDocNode"></a>xmlNewDocNode ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlNewDocNode                   (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+Creation of a new node element within a document. <i><tt>ns</tt></i> and <i><tt>content</tt></i>
+are optional (NULL).
+NOTE: <i><tt>content</tt></i> 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
+      <a href="libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a>(). Use <a href="libxml-tree.html#xmlNewDocRawNode">xmlNewDocRawNode</a>() if you don't
+      need entities support.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the new node object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewDocNodeEatName"></a>xmlNewDocNodeEatName ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlNewDocNodeEatName            (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+Creation of a new node element within a document. <i><tt>ns</tt></i> and <i><tt>content</tt></i>
+are optional (NULL).
+NOTE: <i><tt>content</tt></i> 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
+      <a href="libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a>(). Use <a href="libxml-tree.html#xmlNewDocRawNode">xmlNewDocRawNode</a>() if you don't
+      need entities support.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the new node object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewDocRawNode"></a>xmlNewDocRawNode ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlNewDocRawNode                (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+Creation of a new node element within a document. <i><tt>ns</tt></i> and <i><tt>content</tt></i>
+are optional (NULL).</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the new node object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewNode"></a>xmlNewNode ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlNewNode                      (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Creation of a new node element. <i><tt>ns</tt></i> is optional (NULL).</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the new node object. Uses <a href="libxml-parser.html#xmlStrdup">xmlStrdup</a>() to make
+copy of <i><tt>name</tt></i>.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewNodeEatName"></a>xmlNewNodeEatName ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlNewNodeEatName               (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Creation of a new node element. <i><tt>ns</tt></i> is optional (NULL).</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the new node object, with pointer <i><tt>name</tt></i> as
+new node's name. Use <a href="libxml-tree.html#xmlNewNode">xmlNewNode</a>() if a copy of <i><tt>name</tt></i> string is
+is needed as new node's name.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewChild"></a>xmlNewChild ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlNewChild                     (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent,
+                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+Creation of a new child element, added at the end of <i><tt>parent</tt></i> children list.
+<i><tt>ns</tt></i> and <i><tt>content</tt></i> parameters are optional (NULL). If <i><tt>content</tt></i> is non NULL,
+a child list containing the TEXTs and ENTITY_REFs node will be created.
+NOTE: <i><tt>content</tt></i> 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
+      <a href="libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a>(). Use <a href="libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a>() if entities
+      support is not needed.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the new node object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewTextChild"></a>xmlNewTextChild ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlNewTextChild                 (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent,
+                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+Creation of a new child element, added at the end of <i><tt>parent</tt></i> children list.
+<i><tt>ns</tt></i> and <i><tt>content</tt></i> parameters are optional (NULL). If <i><tt>content</tt></i> is non NULL,
+a child TEXT node will be created containing the string <i><tt>content</tt></i>.
+NOTE: Use <a href="libxml-tree.html#xmlNewChild">xmlNewChild</a>() if entity support for <i><tt>content</tt></i> is needed.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the new node object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewDocText"></a>xmlNewDocText ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlNewDocText                   (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+Creation of a new text node within a document.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td> the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the new node object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewText"></a>xmlNewText ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlNewText                      (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+Creation of a new text node.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the new node object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewPI"></a>xmlNewPI ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlNewPI                        (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+Creation of a processing instruction element.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the new node object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewDocTextLen"></a>xmlNewDocTextLen ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlNewDocTextLen                (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content,
+                                             int len);</pre><p>
+Creation of a new text node with an extra content length parameter. The
+text node pertain to a given document.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td> the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the new node object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewTextLen"></a>xmlNewTextLen ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlNewTextLen                   (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content,
+                                             int len);</pre><p>
+Creation of a new text node with an extra parameter for the content's length</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the new node object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewDocComment"></a>xmlNewDocComment ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlNewDocComment                (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+Creation of a new node containing a comment within a document.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the document
+</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>  the comment content
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the new node object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewComment"></a>xmlNewComment ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlNewComment                   (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+Creation of a new node containing a comment.</p><p>
+
+</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 comment content
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the new node object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewCDataBlock"></a>xmlNewCDataBlock ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlNewCDataBlock                (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content,
+                                             int len);</pre><p>
+Creation of a new node containing a CDATA block.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the new node object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewCharRef"></a>xmlNewCharRef ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlNewCharRef                   (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Creation of a new character reference node.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td> the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the new node object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewReference"></a>xmlNewReference ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlNewReference                 (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Creation of a new reference node.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td> the document
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>  the reference name, or the reference string with &amp; and ;
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the new node object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCopyNode"></a>xmlCopyNode ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlCopyNode                     (const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             int recursive);</pre><p>
+Do a copy of the node.</p><p>
+
+</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>recursive</tt></i>:</span></td><td>  if 1 do a recursive copy.
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td> a new <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>, or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlDocCopyNode"></a>xmlDocCopyNode ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlDocCopyNode                  (const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             int recursive);</pre><p>
+Do a copy of the node to a given document.</p><p>
+
+</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>recursive</tt></i>:</span></td><td>  if 1 do a recursive copy.
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td> a new <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>, or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCopyNodeList"></a>xmlCopyNodeList ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlCopyNodeList                 (const <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
+Do a recursive copy of the node list.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td> a new <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>, or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewDocFragment"></a>xmlNewDocFragment ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlNewDocFragment               (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
+Creation of a new Fragment node.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the document owning the fragment
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the new node object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGetLineNo"></a>xmlGetLineNo ()</h3><pre class="programlisting"><GTKDOCLINK HREF="long">long</GTKDOCLINK>        xmlGetLineNo                    (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
+Get line number of <i><tt>node</tt></i>. This requires activation of this option
+before invoking the parser by calling xmlLineNumbersDefault(1)</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the line number if successful, -1 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGetNodePath"></a>xmlGetNodePath ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlGetNodePath                  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
+Build a structure based Path for the given node</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlDocGetRootElement"></a>xmlDocGetRootElement ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlDocGetRootElement            (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
+Get the root element of the document (doc-&gt;children is a list
+containing possibly comments, PIs, etc ...).</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the document
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> for the root or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGetLastChild"></a>xmlGetLastChild ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlGetLastChild                 (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent);</pre><p>
+Search the last child of a node.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the last child or NULL if none.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNodeIsText"></a>xmlNodeIsText ()</h3><pre class="programlisting">int         xmlNodeIsText                   (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
+Is this node a Text node ?</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 yes, 0 no
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIsBlankNode"></a>xmlIsBlankNode ()</h3><pre class="programlisting">int         xmlIsBlankNode                  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
+Checks whether this node is an empty or whitespace only
+(and possibly ignorable) text-node.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 yes, 0 no
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlDocSetRootElement"></a>xmlDocSetRootElement ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlDocSetRootElement            (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> root);</pre><p>
+Set the root element of the document (doc-&gt;children is a list
+containing possibly comments, PIs, etc ...).</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the document
+</td></tr><tr><td><span class="term"><i><tt>root</tt></i>:</span></td><td>  the new document root element
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the old root element if any was found
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNodeSetName"></a>xmlNodeSetName ()</h3><pre class="programlisting">void        xmlNodeSetName                  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Set (or reset) the name of a node.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  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"><h3><a name="xmlAddChild"></a>xmlAddChild ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlAddChild                     (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
+Add a new node to <i><tt>parent</tt></i>, at the end of the child (or property) list
+merging adjacent TEXT nodes (in which case <i><tt>cur</tt></i> is freed)
+If the new node is ATTRIBUTE, it is added into properties instead of children.
+If there is an attribute with equal name, it is first destroyed.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the child or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlAddChildList"></a>xmlAddChildList ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlAddChildList                 (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> parent,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
+Add a list of node at the end of the child list of the parent
+merging adjacent TEXT nodes (<i><tt>cur</tt></i> may be freed)</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the last child or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlReplaceNode"></a>xmlReplaceNode ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlReplaceNode                  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> old,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
+Unlink the old node from its current context, prune the new one
+at the same place. If <i><tt>cur</tt></i> was already inserted in a document it is
+first unlinked from its existing context.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the <i><tt>old</tt></i> node
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlAddPrevSibling"></a>xmlAddPrevSibling ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlAddPrevSibling               (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);</pre><p>
+Add a new node <i><tt>elem</tt></i> as the previous sibling of <i><tt>cur</tt></i>
+merging adjacent TEXT nodes (<i><tt>elem</tt></i> 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 attribute with equal name, it is first destroyed.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new node or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlAddSibling"></a>xmlAddSibling ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlAddSibling                   (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);</pre><p>
+Add a new element <i><tt>elem</tt></i> to the list of siblings of <i><tt>cur</tt></i>
+merging adjacent TEXT nodes (<i><tt>elem</tt></i> may be freed)
+If the new element was already inserted in a document it is
+first unlinked from its existing context.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new element or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlAddNextSibling"></a>xmlAddNextSibling ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlAddNextSibling               (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);</pre><p>
+Add a new node <i><tt>elem</tt></i> as the next sibling of <i><tt>cur</tt></i>
+If the new node was already inserted in a document it is
+first unlinked from its existing context.
+As a result of text merging <i><tt>elem</tt></i> may be freed.
+If the new node is ATTRIBUTE, it is added into properties instead of children.
+If there is an attribute with equal name, it is first destroyed.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new node or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUnlinkNode"></a>xmlUnlinkNode ()</h3><pre class="programlisting">void        xmlUnlinkNode                   (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
+Unlink a node from it's current context, the node is not freed</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the node
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextMerge"></a>xmlTextMerge ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlTextMerge                    (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> first,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> second);</pre><p>
+Merge two text nodes into one</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the first text node augmented
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextConcat"></a>xmlTextConcat ()</h3><pre class="programlisting">int         xmlTextConcat                   (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content,
+                                             int len);</pre><p>
+Concat the given string at the end of the existing node content</p><p>
+
+</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>  <i><tt>content</tt></i> length
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>-1 in case of error, 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFreeNodeList"></a>xmlFreeNodeList ()</h3><pre class="programlisting">void        xmlFreeNodeList                 (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
+Free a node and all its siblings, this is a recursive behaviour, all
+the children are freed too.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the first node in the list
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFreeNode"></a>xmlFreeNode ()</h3><pre class="programlisting">void        xmlFreeNode                     (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</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 <a href="libxml-tree.html#xmlUnlinkNode">xmlUnlinkNode</a>() first.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the node
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSetTreeDoc"></a>xmlSetTreeDoc ()</h3><pre class="programlisting">void        xmlSetTreeDoc                   (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
+update all nodes under the tree to point to the right document</p><p>
+
+</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"><h3><a name="xmlSetListDoc"></a>xmlSetListDoc ()</h3><pre class="programlisting">void        xmlSetListDoc                   (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> list,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
+update all nodes in the list to point to the right document</p><p>
+
+</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"><h3><a name="xmlSearchNs"></a>xmlSearchNs ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>    xmlSearchNs                     (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *nameSpace);</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.
+<i><tt>nameSpace</tt></i> 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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the namespace pointer or NULL.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSearchNsByHref"></a>xmlSearchNsByHref ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>    xmlSearchNsByHref               (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *href);</pre><p>
+Search a Ns aliasing a given URI. Recurse on the parents until it finds
+the defined namespace or return NULL otherwise.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the namespace pointer or NULL.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGetNsList"></a>xmlGetNsList ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>*   xmlGetNsList                    (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
+Search all the namespace applying to a given element.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>an NULL terminated array of all the <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> 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"><h3><a name="xmlSetNs"></a>xmlSetNs ()</h3><pre class="programlisting">void        xmlSetNs                        (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns);</pre><p>
+Associate a namespace to a node, a posteriori.</p><p>
+
+</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"><h3><a name="xmlCopyNamespace"></a>xmlCopyNamespace ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>    xmlCopyNamespace                (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur);</pre><p>
+Do a copy of the namespace.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the namespace
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td> a new <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>, or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCopyNamespaceList"></a>xmlCopyNamespaceList ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>    xmlCopyNamespaceList            (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> cur);</pre><p>
+Do a copy of an namespace list.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the first namespace
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td> a new <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a>, or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSetProp"></a>xmlSetProp ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>  xmlSetProp                      (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
+Set (or reset) an attribute carried by a node.</p><p>
+
+</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 attribute name
+</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>  the attribute value
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the attribute pointer.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGetNoNsProp"></a>xmlGetNoNsProp ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlGetNoNsProp                  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Search and get the value of an attribute associated to a node
+This does the entity substitution.
+This function looks in DTD attribute declaration for <GTKDOCLINK HREF="FIXED-CAPS">FIXED</GTKDOCLINK> or
+default declaration values unless DTD use has been turned off.
+This function is similar to xmlGetProp except it will accept only
+an attribute in no namespace.</p><p>
+
+</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 attribute name
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the attribute value or NULL if not found.
+    It's up to the caller to free the memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>().
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGetProp"></a>xmlGetProp ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlGetProp                      (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Search and get the value of an attribute associated to a node
+This does the entity substitution.
+This function looks in DTD attribute declaration for <GTKDOCLINK HREF="FIXED-CAPS">FIXED</GTKDOCLINK> or
+default declaration values unless DTD use has been turned off.
+NOTE: this function acts independently of namespaces associated
+      to the attribute. Use <a href="libxml-tree.html#xmlGetNsProp">xmlGetNsProp</a>() or <a href="libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a>()
+      for namespace aware processing.</p><p>
+
+</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 attribute name
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the attribute value or NULL if not found.
+    It's up to the caller to free the memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>().
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlHasProp"></a>xmlHasProp ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>  xmlHasProp                      (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Search an attribute associated to a node
+This function also looks in DTD attribute declaration for <GTKDOCLINK HREF="FIXED-CAPS">FIXED</GTKDOCLINK> or
+default declaration values unless DTD use has been turned off.</p><p>
+
+</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 attribute name
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the attribute or the attribute declaration or NULL if 
+        neither was found.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlHasNsProp"></a>xmlHasNsProp ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>  xmlHasNsProp                    (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *nameSpace);</pre><p>
+Search for an attribute associated to a node
+This attribute has to be anchored in the namespace specified.
+This does the entity substitution.
+This function looks in DTD attribute declaration for <GTKDOCLINK HREF="FIXED-CAPS">FIXED</GTKDOCLINK> or
+default declaration values unless DTD use has been turned off.</p><p>
+
+</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 attribute 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the attribute or the attribute declaration or NULL
+    if neither was found.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSetNsProp"></a>xmlSetNsProp ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>  xmlSetNsProp                    (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
+Set (or reset) an attribute carried by a node.
+The ns structure must be in scope, this is not checked.</p><p>
+
+</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 attribute name
+</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>  the attribute value
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the attribute pointer.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGetNsProp"></a>xmlGetNsProp ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlGetNsProp                    (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *nameSpace);</pre><p>
+Search and get the value of an attribute associated to a node
+This attribute has to be anchored in the namespace specified.
+This does the entity substitution.
+This function looks in DTD attribute declaration for <GTKDOCLINK HREF="FIXED-CAPS">FIXED</GTKDOCLINK> or
+default declaration values unless DTD use has been turned off.</p><p>
+
+</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 attribute 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the attribute value or NULL if not found.
+    It's up to the caller to free the memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>().
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlStringGetNodeList"></a>xmlStringGetNodeList ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlStringGetNodeList            (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
+Parse the value string and build the node list associated. Should
+produce a flat tree with only TEXTs and ENTITY_REFs.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the document
+</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>  the value of the attribute
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the first child
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlStringLenGetNodeList"></a>xmlStringLenGetNodeList ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlStringLenGetNodeList         (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
+                                             int len);</pre><p>
+Parse the value string and build the node list associated. Should
+produce a flat tree with only TEXTs and ENTITY_REFs.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the first child
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNodeListGetString"></a>xmlNodeListGetString ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlNodeListGetString            (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> list,
+                                             int inLine);</pre><p>
+Build the string equivalent to the text contained in the Node list
+made of TEXTs and ENTITY_REFs</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the string copy, the caller must free it with <a href="libxml-globals.html#xmlFree">xmlFree</a>().
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNodeListGetRawString"></a>xmlNodeListGetRawString ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlNodeListGetRawString         (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> list,
+                                             int inLine);</pre><p>
+Builds the string equivalent to the text contained in the Node list
+made of TEXTs and ENTITY_REFs, contrary to <a href="libxml-tree.html#xmlNodeListGetString">xmlNodeListGetString</a>()
+this function doesn't do any character encoding handling.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a pointer to the string copy, the caller must free it with <a href="libxml-globals.html#xmlFree">xmlFree</a>().
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNodeSetContent"></a>xmlNodeSetContent ()</h3><pre class="programlisting">void        xmlNodeSetContent               (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+Replace the content of a node.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  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"><h3><a name="xmlNodeSetContentLen"></a>xmlNodeSetContentLen ()</h3><pre class="programlisting">void        xmlNodeSetContentLen            (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content,
+                                             int len);</pre><p>
+Replace the content of a node.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  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 <i><tt>content</tt></i>
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNodeAddContent"></a>xmlNodeAddContent ()</h3><pre class="programlisting">void        xmlNodeAddContent               (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+Append the extra substring to the node content.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  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"><h3><a name="xmlNodeAddContentLen"></a>xmlNodeAddContentLen ()</h3><pre class="programlisting">void        xmlNodeAddContentLen            (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content,
+                                             int len);</pre><p>
+Append the extra substring to the node content.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  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 <i><tt>content</tt></i>
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNodeGetContent"></a>xmlNodeGetContent ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlNodeGetContent               (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the node being read
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a new <a href="libxml-tree.html#xmlChar">xmlChar</a> * or NULL if no content is available.
+    It's up to the caller to free the memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>().
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNodeBufGetContent"></a>xmlNodeBufGetContent ()</h3><pre class="programlisting">int         xmlNodeBufGetContent            (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
+Read the value of a node <i><tt>cur</tt></i>, 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 <i><tt>buffer</tt></i> with this value</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>  a 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success and -1 in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNodeGetLang"></a>xmlNodeGetLang ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlNodeGetLang                  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
+Searches the language of a node, i.e. the values of the xml:lang
+attribute or the one carried by the nearest ancestor.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the node being checked
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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 <a href="libxml-globals.html#xmlFree">xmlFree</a>().
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNodeGetSpacePreserve"></a>xmlNodeGetSpacePreserve ()</h3><pre class="programlisting">int         xmlNodeGetSpacePreserve         (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
+Searches the space preserving behaviour of a node, i.e. the values
+of the xml:space attribute or the one carried by the nearest
+ancestor.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the node being checked
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlNodeSetLang"></a>xmlNodeSetLang ()</h3><pre class="programlisting">void        xmlNodeSetLang                  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *lang);</pre><p>
+Set the language of a node, i.e. the values of the xml:lang
+attribute.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  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"><h3><a name="xmlNodeSetSpacePreserve"></a>xmlNodeSetSpacePreserve ()</h3><pre class="programlisting">void        xmlNodeSetSpacePreserve         (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             int val);</pre><p>
+Set (or reset) the space preserving behaviour of a node, i.e. the
+value of the xml:space attribute.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  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"><h3><a name="xmlNodeGetBase"></a>xmlNodeGetBase ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlNodeGetBase                  (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</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
+<GTKDOCLINK HREF="xmlDocumentGetBase">xmlDocumentGetBase</GTKDOCLINK>() for this</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</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 <a href="libxml-globals.html#xmlFree">xmlFree</a>().
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNodeSetBase"></a>xmlNodeSetBase ()</h3><pre class="programlisting">void        xmlNodeSetBase                  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *uri);</pre><p>
+Set (or reset) the base URI of a node, i.e. the value of the
+xml:base attribute.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  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"><h3><a name="xmlRemoveProp"></a>xmlRemoveProp ()</h3><pre class="programlisting">int         xmlRemoveProp                   (<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);</pre><p>
+Unlink and free one attribute, all the content is freed too
+Note this doesn't work for namespace definition attributes</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  an attribute
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 if success and -1 in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUnsetProp"></a>xmlUnsetProp ()</h3><pre class="programlisting">int         xmlUnsetProp                    (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Remove an attribute carried by a node.</p><p>
+
+</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 attribute name
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 if successful, -1 if not found
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUnsetNsProp"></a>xmlUnsetNsProp ()</h3><pre class="programlisting">int         xmlUnsetNsProp                  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Remove an attribute carried by a node.</p><p>
+
+</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 attribute name
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 if successful, -1 if not found
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlBufferWriteCHAR"></a>xmlBufferWriteCHAR ()</h3><pre class="programlisting">void        xmlBufferWriteCHAR              (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string);</pre><p>
+routine which manages and grows an output buffer. This one adds
+xmlChars at the end of the buffer.</p><p>
+
+</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"><h3><a name="xmlBufferWriteChar"></a>xmlBufferWriteChar ()</h3><pre class="programlisting">void        xmlBufferWriteChar              (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             const char *string);</pre><p>
+routine which manage and grows an output buffer. This one add
+C chars at the end of the array.</p><p>
+
+</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"><h3><a name="xmlBufferWriteQuotedString"></a>xmlBufferWriteQuotedString ()</h3><pre class="programlisting">void        xmlBufferWriteQuotedString      (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *string);</pre><p>
+routine which manage and grows an output buffer. This one writes
+a quoted or double quoted <a href="libxml-tree.html#xmlChar">xmlChar</a> string, checking first if it holds
+quote or double-quotes internally</p><p>
+
+</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"><h3><a name="xmlReconciliateNs"></a>xmlReconciliateNs ()</h3><pre class="programlisting">int         xmlReconciliateNs               (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree);</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 <i><tt>tree</tt></i> at the top of the given subtree.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlDocDumpFormatMemory"></a>xmlDocDumpFormatMemory ()</h3><pre class="programlisting">void        xmlDocDumpFormatMemory          (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **mem,
+                                             int *size,
+                                             int format);</pre><p>
+Dump an XML document in memory and return the <a href="libxml-tree.html#xmlChar">xmlChar</a> * and it's size.
+It's up to the caller to free the memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>().
+Note that <i><tt>format</tt></i> = 1 provide node indenting only if xmlIndentTreeOutput = 1
+or xmlKeepBlanksDefault(0) was called</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  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"><h3><a name="xmlDocDumpMemory"></a>xmlDocDumpMemory ()</h3><pre class="programlisting">void        xmlDocDumpMemory                (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **mem,
+                                             int *size);</pre><p>
+Dump an XML document in memory and return the <a href="libxml-tree.html#xmlChar">xmlChar</a> * and it's size.
+It's up to the caller to free the memory with <a href="libxml-globals.html#xmlFree">xmlFree</a>().</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  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"><h3><a name="xmlDocDumpMemoryEnc"></a>xmlDocDumpMemoryEnc ()</h3><pre class="programlisting">void        xmlDocDumpMemoryEnc             (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **doc_txt_ptr,
+                                             int *doc_txt_len,
+                                             const char *txt_encoding);</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 <a href="libxml-globals.html#xmlFree">xmlFree</a>().</p><p>
+
+</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"><h3><a name="xmlDocDumpFormatMemoryEnc"></a>xmlDocDumpFormatMemoryEnc ()</h3><pre class="programlisting">void        xmlDocDumpFormatMemoryEnc       (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> **doc_txt_ptr,
+                                             int *doc_txt_len,
+                                             const char *txt_encoding,
+                                             int format);</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 <a href="libxml-globals.html#xmlFree">xmlFree</a>().
+Note that <i><tt>format</tt></i> = 1 provide node indenting only if xmlIndentTreeOutput = 1
+or xmlKeepBlanksDefault(0) was called</p><p>
+
+</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"><h3><a name="xmlDocFormatDump"></a>xmlDocFormatDump ()</h3><pre class="programlisting">int         xmlDocFormatDump                (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *f,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             int format);</pre><p>
+Dump an XML document to an open FILE.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td> the number of bytes written or -1 in case of failure.
+Note that <i><tt>format</tt></i> = 1 provide node indenting only if xmlIndentTreeOutput = 1
+or xmlKeepBlanksDefault(0) was called
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlDocDump"></a>xmlDocDump ()</h3><pre class="programlisting">int         xmlDocDump                      (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *f,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur);</pre><p>
+Dump an XML document to an open FILE.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td> the number of bytes written or -1 in case of failure.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlElemDump"></a>xmlElemDump ()</h3><pre class="programlisting">void        xmlElemDump                     (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *f,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
+Dump an XML/HTML node, recursive behaviour, children are printed too.</p><p>
+
+</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"><h3><a name="xmlSaveFile"></a>xmlSaveFile ()</h3><pre class="programlisting">int         xmlSaveFile                     (const char *filename,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur);</pre><p>
+Dump an XML document to a file. Will use compression if
+compiled in and enabled. If <i><tt>filename</tt></i> is "-" the stdout file is
+used.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the filename (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"><span class="emphasis"><i>Returns</i></span> :</span></td><td> the number of bytes written or -1 in case of failure.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSaveFormatFile"></a>xmlSaveFormatFile ()</h3><pre class="programlisting">int         xmlSaveFormatFile               (const char *filename,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             int format);</pre><p>
+Dump an XML document to a file. Will use compression if
+compiled in and enabled. If <i><tt>filename</tt></i> is "-" the stdout file is
+used. If <i><tt>format</tt></i> is set then the document will be indented on output.
+Note that <i><tt>format</tt></i> = 1 provide node indenting only if xmlIndentTreeOutput = 1
+or xmlKeepBlanksDefault(0) was called</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the filename (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"><span class="emphasis"><i>Returns</i></span> :</span></td><td> the number of bytes written or -1 in case of failure.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNodeDump"></a>xmlNodeDump ()</h3><pre class="programlisting">int         xmlNodeDump                     (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             int level,
+                                             int format);</pre><p>
+Dump an XML node, recursive behaviour,children are printed too.
+Note that <i><tt>format</tt></i> = 1 provide node indenting only if xmlIndentTreeOutput = 1
+or xmlKeepBlanksDefault(0) was called</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlSaveFileTo"></a>xmlSaveFileTo ()</h3><pre class="programlisting">int         xmlSaveFileTo                   (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             const char *encoding);</pre><p>
+Dump an XML document to an I/O buffer.</p><p>
+
+</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 trancoding
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td> the number of bytes written or -1 in case of failure.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSaveFormatFileTo"></a>xmlSaveFormatFileTo ()</h3><pre class="programlisting">int         xmlSaveFormatFileTo             (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             const char *encoding,
+                                             int format);</pre><p>
+Dump an XML document to an I/O buffer.</p><p>
+
+</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 trancoding
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td> the number of bytes written or -1 in case of failure.
+Note that <i><tt>format</tt></i> = 1 provide node indenting only if xmlIndentTreeOutput = 1
+or xmlKeepBlanksDefault(0) was called
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNodeDumpOutput"></a>xmlNodeDumpOutput ()</h3><pre class="programlisting">void        xmlNodeDumpOutput               (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur,
+                                             int level,
+                                             int format,
+                                             const char *encoding);</pre><p>
+Dump an XML node, recursive behaviour, children are printed too.
+Note that <i><tt>format</tt></i> = 1 provide node indenting only if xmlIndentTreeOutput = 1
+or xmlKeepBlanksDefault(0) was called</p><p>
+
+</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"><h3><a name="xmlSaveFormatFileEnc"></a>xmlSaveFormatFileEnc ()</h3><pre class="programlisting">int         xmlSaveFormatFileEnc            (const char *filename,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             const char *encoding,
+                                             int format);</pre><p>
+Dump an XML document to a file or an URL.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the filename 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of bytes written or -1 in case of error.
+Note that <i><tt>format</tt></i> = 1 provide node indenting only if xmlIndentTreeOutput = 1
+or xmlKeepBlanksDefault(0) was called
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSaveFileEnc"></a>xmlSaveFileEnc ()</h3><pre class="programlisting">int         xmlSaveFileEnc                  (const char *filename,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur,
+                                             const char *encoding);</pre><p>
+Dump an XML document, converting it to the given encoding</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the filename (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"><span class="emphasis"><i>Returns</i></span> :</span></td><td> the number of bytes written or -1 in case of failure.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIsXHTML"></a>xmlIsXHTML ()</h3><pre class="programlisting">int         xmlIsXHTML                      (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *systemID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *publicID);</pre><p>
+Try to find if the document correspond to an XHTML DTD</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlGetDocCompressMode"></a>xmlGetDocCompressMode ()</h3><pre class="programlisting">int         xmlGetDocCompressMode           (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
+get the compression ratio for a document, ZLIB based</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the document
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 (uncompressed) to 9 (max compression)
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSetDocCompressMode"></a>xmlSetDocCompressMode ()</h3><pre class="programlisting">void        xmlSetDocCompressMode           (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             int mode);</pre><p>
+set the compression ratio for a document, ZLIB based
+Correct values: 0 (uncompressed) to 9 (max compression)</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><h3><a name="xmlGetCompressMode"></a>xmlGetCompressMode ()</h3><pre class="programlisting">int         xmlGetCompressMode              (void);</pre><p>
+get the default compression mode used, ZLIB based.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 (uncompressed) to 9 (max compression)
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSetCompressMode"></a>xmlSetCompressMode ()</h3><pre class="programlisting">void        xmlSetCompressMode              (int mode);</pre><p>
+set the default compression mode used, ZLIB based
+Correct values: 0 (uncompressed) to 9 (max compression)</p><p>
+
+</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></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-catalog.html"><b>&lt;&lt; catalog</b></a></td><td align="right"><a accesskey="n" href="libxml-globals.html"><b>globals &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-uri.html b/doc/html/libxml-uri.html
index 5c59936..503a567 100644
--- a/doc/html/libxml-uri.html
+++ b/doc/html/libxml-uri.html
@@ -28,12 +28,30 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-chvalid.html" title="chvalid"><link rel="next" href="libxml-nanoftp.html" title="nanoftp"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-chvalid.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-nanoftp.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-uri"></a><div class="titlepage"></div><div class="refnamediv"><h2>uri</h2><p>uri &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2683919"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-chvalid.html" title="chvalid"><link rel="next" href="libxml-SAX2.html" title="SAX2"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-chvalid.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-SAX2.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-uri"></a><div class="titlepage"></div><div class="refnamediv"><h2>uri</h2><p>uri &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2607872"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
 struct      <a href="libxml-uri.html#xmlURI">xmlURI</a>;
 typedef     <a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a>;
+<a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a>   <a href="libxml-uri.html#xmlCreateURI">xmlCreateURI</a>                    (void);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-uri.html#xmlBuildURI">xmlBuildURI</a>                     (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URI,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *base);
+<a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a>   <a href="libxml-uri.html#xmlParseURI">xmlParseURI</a>                     (const char *str);
+int         <a href="libxml-uri.html#xmlParseURIReference">xmlParseURIReference</a>            (<a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> uri,
+                                             const char *str);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-uri.html#xmlSaveUri">xmlSaveUri</a>                      (<a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> uri);
+void        <a href="libxml-uri.html#xmlPrintURI">xmlPrintURI</a>                     (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *stream,
+                                             <a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> uri);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a>                 (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *list);
+char*       <a href="libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a>            (const char *str,
+                                             int len,
+                                             char *target);
+int         <a href="libxml-uri.html#xmlNormalizeURIPath">xmlNormalizeURIPath</a>             (char *path);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-uri.html#xmlURIEscape">xmlURIEscape</a>                    (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);
+void        <a href="libxml-uri.html#xmlFreeURI">xmlFreeURI</a>                      (<a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> uri);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a>                  (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *path);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlURI"></a>struct xmlURI</h3><pre class="programlisting">struct xmlURI {
@@ -56,4 +74,99 @@
 </p></div><hr><div class="refsect2"><h3><a name="xmlURIPtr"></a>xmlURIPtr</h3><pre class="programlisting">typedef xmlURI *xmlURIPtr;
 </pre><p>
 
-</p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-chvalid.html"><b>&lt;&lt; chvalid</b></a></td><td align="right"><a accesskey="n" href="libxml-nanoftp.html"><b>nanoftp &gt;&gt;</b></a></td></tr></table></body></html>
+</p></div><hr><div class="refsect2"><h3><a name="xmlCreateURI"></a>xmlCreateURI ()</h3><pre class="programlisting"><a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a>   xmlCreateURI                    (void);</pre><p>
+Simply creates an empty xmlURI</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new structure or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlBuildURI"></a>xmlBuildURI ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlBuildURI                     (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *URI,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *base);</pre><p>
+Computes he final URI of the reference done by checking that
+the given URI is valid, and building the final URI using the
+base URI. This is processed according to section 5.2 of the 
+RFC 2396
+</p><p>
+5.2. Resolving Relative References to Absolute Form</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlParseURI"></a>xmlParseURI ()</h3><pre class="programlisting"><a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a>   xmlParseURI                     (const char *str);</pre><p>
+Parse an URI 
+</p><p>
+URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a newly build xmlURIPtr or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParseURIReference"></a>xmlParseURIReference ()</h3><pre class="programlisting">int         xmlParseURIReference            (<a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> uri,
+                                             const char *str);</pre><p>
+Parse an URI reference string and fills in the appropriate fields
+of the <i><tt>uri</tt></i> structure
+</p><p>
+URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 or the error code
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSaveUri"></a>xmlSaveUri ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlSaveUri                      (<a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> uri);</pre><p>
+Save the URI as an escaped string</p><p>
+
+</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 xmlURI
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a new string (to be deallocated by caller)
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlPrintURI"></a>xmlPrintURI ()</h3><pre class="programlisting">void        xmlPrintURI                     (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *stream,
+                                             <a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> uri);</pre><p>
+Prints the URI in the stream <i><tt>steam</tt></i>.</p><p>
+
+</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 xmlURI
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlURIEscapeStr"></a>xmlURIEscapeStr ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlURIEscapeStr                 (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *list);</pre><p>
+This routine escapes a string to hex, ignoring reserved characters (a-z)
+and the characters in the exception list.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a new escaped string or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlURIUnescapeString"></a>xmlURIUnescapeString ()</h3><pre class="programlisting">char*       xmlURIUnescapeString            (const char *str,
+                                             int len,
+                                             char *target);</pre><p>
+Unescaping routine, does not do validity checks !
+Output is direct unsigned char translation of <tt>XX</tt> values (no encoding)</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>an copy of the string, but unescaped
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNormalizeURIPath"></a>xmlNormalizeURIPath ()</h3><pre class="programlisting">int         xmlNormalizeURIPath             (char *path);</pre><p>
+Applies the 5 normalization steps to a path string--that is, RFC 2396
+Section 5.2, steps 6.c through 6.g.
+</p><p>
+Normalization occurs directly on the string, no new allocation is done</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 or an error code
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlURIEscape"></a>xmlURIEscape ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlURIEscape                    (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);</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><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>an copy of the string, but escaped
+
+25 May 2001
+Uses xmlParseURI and xmlURIEscapeStr to try to escape correctly
+according to RFC2396.
+  - Carl Douglas
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFreeURI"></a>xmlFreeURI ()</h3><pre class="programlisting">void        xmlFreeURI                      (<a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> uri);</pre><p>
+Free up the xmlURI struct</p><p>
+
+</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 xmlURI
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCanonicPath"></a>xmlCanonicPath ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlCanonicPath                  (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *path);</pre><p>
+Constructs a canonic path from the specified path.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-chvalid.html"><b>&lt;&lt; chvalid</b></a></td><td align="right"><a accesskey="n" href="libxml-SAX2.html"><b>SAX2 &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-valid.html b/doc/html/libxml-valid.html
index 6052627..81eada8 100644
--- a/doc/html/libxml-valid.html
+++ b/doc/html/libxml-valid.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-HTMLparser.html" title="HTMLparser"><link rel="next" href="libxml-catalog.html" title="catalog"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-HTMLparser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-catalog.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-valid"></a><div class="titlepage"></div><div class="refnamediv"><h2>valid</h2><p>valid &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2639435"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-HTMLparser.html" title="HTMLparser"><link rel="next" href="libxml-catalog.html" title="catalog"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-HTMLparser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-catalog.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-valid"></a><div class="titlepage"></div><div class="refnamediv"><h2>valid</h2><p>valid &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2818128"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -47,6 +47,176 @@
 typedef     <a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a>;
 typedef     <a href="libxml-valid.html#xmlIDTablePtr">xmlIDTablePtr</a>;
 typedef     <a href="libxml-valid.html#xmlRefTablePtr">xmlRefTablePtr</a>;
+<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> <a href="libxml-valid.html#xmlNewValidCtxt">xmlNewValidCtxt</a>             (void);
+void        <a href="libxml-valid.html#xmlFreeValidCtxt">xmlFreeValidCtxt</a>                (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a>);
+<a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> <a href="libxml-valid.html#xmlAddNotationDecl">xmlAddNotationDecl</a>           (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *PublicID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);
+<a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> <a href="libxml-valid.html#xmlCopyNotationTable">xmlCopyNotationTable</a>    (<a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
+void        <a href="libxml-valid.html#xmlFreeNotationTable">xmlFreeNotationTable</a>            (<a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
+void        <a href="libxml-valid.html#xmlDumpNotationDecl">xmlDumpNotationDecl</a>             (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota);
+void        <a href="libxml-valid.html#xmlDumpNotationTable">xmlDumpNotationTable</a>            (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             <a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
+<a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> <a href="libxml-valid.html#xmlNewElementContent">xmlNewElementContent</a>   (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             <a href="libxml-tree.html#xmlElementContentType">xmlElementContentType</a> type);
+<a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> <a href="libxml-valid.html#xmlCopyElementContent">xmlCopyElementContent</a>  (<a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
+void        <a href="libxml-valid.html#xmlFreeElementContent">xmlFreeElementContent</a>           (<a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
+void        <a href="libxml-valid.html#xmlSnprintfElementContent">xmlSnprintfElementContent</a>       (char *buf,
+                                             int size,
+                                             <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content,
+                                             int glob);
+void        <a href="libxml-valid.html#xmlSprintfElementContent">xmlSprintfElementContent</a>        (char *buf,
+                                             <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content,
+                                             int glob);
+<a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> <a href="libxml-valid.html#xmlAddElementDecl">xmlAddElementDecl</a>             (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             <a href="libxml-tree.html#xmlElementTypeVal">xmlElementTypeVal</a> type,
+                                             <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
+<a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> <a href="libxml-valid.html#xmlCopyElementTable">xmlCopyElementTable</a>      (<a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
+void        <a href="libxml-valid.html#xmlFreeElementTable">xmlFreeElementTable</a>             (<a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
+void        <a href="libxml-valid.html#xmlDumpElementTable">xmlDumpElementTable</a>             (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             <a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
+void        <a href="libxml-valid.html#xmlDumpElementDecl">xmlDumpElementDecl</a>              (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
+<a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> <a href="libxml-valid.html#xmlCreateEnumeration">xmlCreateEnumeration</a>      (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+void        <a href="libxml-valid.html#xmlFreeEnumeration">xmlFreeEnumeration</a>              (<a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur);
+<a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> <a href="libxml-valid.html#xmlCopyEnumeration">xmlCopyEnumeration</a>        (<a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur);
+<a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> <a href="libxml-valid.html#xmlAddAttributeDecl">xmlAddAttributeDecl</a>         (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns,
+                                             <a href="libxml-tree.html#xmlAttributeType">xmlAttributeType</a> type,
+                                             <a href="libxml-tree.html#xmlAttributeDefault">xmlAttributeDefault</a> def,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *defaultValue,
+                                             <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
+<a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> <a href="libxml-valid.html#xmlCopyAttributeTable">xmlCopyAttributeTable</a>  (<a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);
+void        <a href="libxml-valid.html#xmlFreeAttributeTable">xmlFreeAttributeTable</a>           (<a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);
+void        <a href="libxml-valid.html#xmlDumpAttributeTable">xmlDumpAttributeTable</a>           (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             <a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);
+void        <a href="libxml-valid.html#xmlDumpAttributeDecl">xmlDumpAttributeDecl</a>            (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr);
+<a href="libxml-tree.html#xmlIDPtr">xmlIDPtr</a>    <a href="libxml-valid.html#xmlAddID">xmlAddID</a>                        (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
+                                             <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
+void        <a href="libxml-valid.html#xmlFreeIDTable">xmlFreeIDTable</a>                  (<a href="libxml-valid.html#xmlIDTablePtr">xmlIDTablePtr</a> table);
+<a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="libxml-valid.html#xmlGetID">xmlGetID</a>                        (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID);
+int         <a href="libxml-valid.html#xmlIsID">xmlIsID</a>                         (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
+                                             <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
+int         <a href="libxml-valid.html#xmlRemoveID">xmlRemoveID</a>                     (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
+<a href="libxml-tree.html#xmlRefPtr">xmlRefPtr</a>   <a href="libxml-valid.html#xmlAddRef">xmlAddRef</a>                       (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
+                                             <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
+void        <a href="libxml-valid.html#xmlFreeRefTable">xmlFreeRefTable</a>                 (<a href="libxml-valid.html#xmlRefTablePtr">xmlRefTablePtr</a> table);
+int         <a href="libxml-valid.html#xmlIsRef">xmlIsRef</a>                        (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
+                                             <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
+int         <a href="libxml-valid.html#xmlRemoveRef">xmlRemoveRef</a>                    (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
+<a href="libxml-list.html#xmlListPtr">xmlListPtr</a>  <a href="libxml-valid.html#xmlGetRefs">xmlGetRefs</a>                      (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID);
+int         <a href="libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a>                 (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+int         <a href="libxml-valid.html#xmlValidateElementDecl">xmlValidateElementDecl</a>          (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a> (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a>
+                                            (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
+int         <a href="libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a>        (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr);
+int         <a href="libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a>       (<a href="libxml-tree.html#xmlAttributeType">xmlAttributeType</a> type,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
+int         <a href="libxml-valid.html#xmlValidateNotationDecl">xmlValidateNotationDecl</a>         (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota);
+int         <a href="libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a>                  (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);
+int         <a href="libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a>             (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+int         <a href="libxml-valid.html#xmlValidateDocument">xmlValidateDocument</a>             (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+int         <a href="libxml-valid.html#xmlValidateElement">xmlValidateElement</a>              (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
+int         <a href="libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a>           (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
+int         <a href="libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a>         (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
+                                             <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
+int         <a href="libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a>         (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
+int         <a href="libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a>        (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+int         <a href="libxml-valid.html#xmlValidateNotationUse">xmlValidateNotationUse</a>          (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *notationName);
+int         <a href="libxml-valid.html#xmlIsMixedElement">xmlIsMixedElement</a>               (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+<a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> <a href="libxml-valid.html#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a>           (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+<a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> <a href="libxml-valid.html#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a>          (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);
+<a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> <a href="libxml-valid.html#xmlGetDtdNotationDesc">xmlGetDtdNotationDesc</a>        (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+<a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> <a href="libxml-valid.html#xmlGetDtdQElementDesc">xmlGetDtdQElementDesc</a>         (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);
+<a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> <a href="libxml-valid.html#xmlGetDtdElementDesc">xmlGetDtdElementDesc</a>          (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+int         <a href="libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a>        (<a href="libxml-tree.html#xmlNode">xmlNode</a> *prev,
+                                             <a href="libxml-tree.html#xmlNode">xmlNode</a> *next,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> **list,
+                                             int max);
+int         <a href="libxml-valid.html#xmlValidGetPotentialChildren">xmlValidGetPotentialChildren</a>    (<a href="libxml-tree.html#xmlElementContent">xmlElementContent</a> *ctree,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> **list,
+                                             int *len,
+                                             int max);
+int         <a href="libxml-valid.html#xmlValidateNameValue">xmlValidateNameValue</a>            (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
+int         <a href="libxml-valid.html#xmlValidateNamesValue">xmlValidateNamesValue</a>           (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
+int         <a href="libxml-valid.html#xmlValidateNmtokenValue">xmlValidateNmtokenValue</a>         (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
+int         <a href="libxml-valid.html#xmlValidateNmtokensValue">xmlValidateNmtokensValue</a>        (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
+int         <a href="libxml-valid.html#xmlValidBuildContentModel">xmlValidBuildContentModel</a>       (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
+int         <a href="libxml-valid.html#xmlValidatePushElement">xmlValidatePushElement</a>          (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *qname);
+int         <a href="libxml-valid.html#xmlValidatePushCData">xmlValidatePushCData</a>            (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *data,
+                                             int len);
+int         <a href="libxml-valid.html#xmlValidatePopElement">xmlValidatePopElement</a>           (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *qname);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlValidState"></a>struct xmlValidState</h3><pre class="programlisting">struct xmlValidState;</pre><p>
@@ -103,7 +273,6 @@
 #endif
 };
 </pre><p>
-</p><p>
 
 </p></div><hr><div class="refsect2"><h3><a name="xmlValidCtxtPtr"></a>xmlValidCtxtPtr</h3><pre class="programlisting">typedef xmlValidCtxt *xmlValidCtxtPtr;
 </pre><p>
@@ -123,4 +292,663 @@
 </p></div><hr><div class="refsect2"><h3><a name="xmlRefTablePtr"></a>xmlRefTablePtr</h3><pre class="programlisting">typedef xmlRefTable *xmlRefTablePtr;
 </pre><p>
 
-</p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-HTMLparser.html"><b>&lt;&lt; HTMLparser</b></a></td><td align="right"><a accesskey="n" href="libxml-catalog.html"><b>catalog &gt;&gt;</b></a></td></tr></table></body></html>
+</p></div><hr><div class="refsect2"><h3><a name="xmlNewValidCtxt"></a>xmlNewValidCtxt ()</h3><pre class="programlisting"><a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> xmlNewValidCtxt             (void);</pre><p>
+Allocate a validation context structure.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>NULL if not, otherwise the new validation context structure
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFreeValidCtxt"></a>xmlFreeValidCtxt ()</h3><pre class="programlisting">void        xmlFreeValidCtxt                (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a>);</pre><p>
+Free a validation context structure.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>Param1</tt></i>:</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlAddNotationDecl"></a>xmlAddNotationDecl ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> xmlAddNotationDecl           (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *PublicID,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *SystemID);</pre><p>
+Register a new notation declaration</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>NULL if not, otherwise the entity
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCopyNotationTable"></a>xmlCopyNotationTable ()</h3><pre class="programlisting"><a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> xmlCopyNotationTable    (<a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);</pre><p>
+Build a copy of a notation table.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new xmlNotationTablePtr or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFreeNotationTable"></a>xmlFreeNotationTable ()</h3><pre class="programlisting">void        xmlFreeNotationTable            (<a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);</pre><p>
+Deallocate the memory used by an entities hash table.</p><p>
+
+</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"><h3><a name="xmlDumpNotationDecl"></a>xmlDumpNotationDecl ()</h3><pre class="programlisting">void        xmlDumpNotationDecl             (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota);</pre><p>
+This will dump the content the notation declaration as an XML DTD definition</p><p>
+
+</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"><h3><a name="xmlDumpNotationTable"></a>xmlDumpNotationTable ()</h3><pre class="programlisting">void        xmlDumpNotationTable            (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             <a href="libxml-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);</pre><p>
+This will dump the content of the notation table as an XML DTD definition</p><p>
+
+</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"><h3><a name="xmlNewElementContent"></a>xmlNewElementContent ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> xmlNewElementContent   (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             <a href="libxml-tree.html#xmlElementContentType">xmlElementContentType</a> type);</pre><p>
+Allocate an element content structure.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>NULL if not, otherwise the new element content structure
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCopyElementContent"></a>xmlCopyElementContent ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> xmlCopyElementContent  (<a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);</pre><p>
+Build a copy of an element content description.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new xmlElementContentPtr or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFreeElementContent"></a>xmlFreeElementContent ()</h3><pre class="programlisting">void        xmlFreeElementContent           (<a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);</pre><p>
+Free an element content structure. This is a recursive call !</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the element content tree to free
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSnprintfElementContent"></a>xmlSnprintfElementContent ()</h3><pre class="programlisting">void        xmlSnprintfElementContent       (char *buf,
+                                             int size,
+                                             <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content,
+                                             int glob);</pre><p>
+This will dump the content of the element content definition
+Intended just for the debug routine</p><p>
+
+</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>glob</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"><h3><a name="xmlSprintfElementContent"></a>xmlSprintfElementContent ()</h3><pre class="programlisting">void        xmlSprintfElementContent        (char *buf,
+                                             <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content,
+                                             int glob);</pre><p>
+Deprecated, unsafe, use xmlSnprintfElementContent</p><p>
+
+</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>glob</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"><h3><a name="xmlAddElementDecl"></a>xmlAddElementDecl ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> xmlAddElementDecl             (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             <a href="libxml-tree.html#xmlElementTypeVal">xmlElementTypeVal</a> type,
+                                             <a href="libxml-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);</pre><p>
+Register a new element declaration</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>NULL if not, otherwise the entity
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCopyElementTable"></a>xmlCopyElementTable ()</h3><pre class="programlisting"><a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> xmlCopyElementTable      (<a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);</pre><p>
+Build a copy of an element table.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new xmlElementTablePtr or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFreeElementTable"></a>xmlFreeElementTable ()</h3><pre class="programlisting">void        xmlFreeElementTable             (<a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);</pre><p>
+Deallocate the memory used by an element hash table.</p><p>
+
+</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"><h3><a name="xmlDumpElementTable"></a>xmlDumpElementTable ()</h3><pre class="programlisting">void        xmlDumpElementTable             (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             <a href="libxml-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);</pre><p>
+This will dump the content of the element table as an XML DTD definition</p><p>
+
+</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"><h3><a name="xmlDumpElementDecl"></a>xmlDumpElementDecl ()</h3><pre class="programlisting">void        xmlDumpElementDecl              (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> elem);</pre><p>
+This will dump the content of the element declaration as an XML
+DTD definition</p><p>
+
+</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"><h3><a name="xmlCreateEnumeration"></a>xmlCreateEnumeration ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> xmlCreateEnumeration      (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+create and initialize an enumeration attribute node.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>  the enumeration name or NULL
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlEnumerationPtr just created or NULL in case
+               of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFreeEnumeration"></a>xmlFreeEnumeration ()</h3><pre class="programlisting">void        xmlFreeEnumeration              (<a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur);</pre><p>
+free an enumeration attribute node (recursive).</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the tree to free.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCopyEnumeration"></a>xmlCopyEnumeration ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> xmlCopyEnumeration        (<a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur);</pre><p>
+Copy an enumeration attribute node (recursive).</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the tree to copy.
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlEnumerationPtr just created or NULL in case
+               of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlAddAttributeDecl"></a>xmlAddAttributeDecl ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> xmlAddAttributeDecl         (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns,
+                                             <a href="libxml-tree.html#xmlAttributeType">xmlAttributeType</a> type,
+                                             <a href="libxml-tree.html#xmlAttributeDefault">xmlAttributeDefault</a> def,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *defaultValue,
+                                             <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);</pre><p>
+Register a new attribute declaration
+Note that <i><tt>tree</tt></i> becomes the ownership of the DTD</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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 attribute name
+</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>  the attribute namespace prefix
+</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>  the attribute type
+</td></tr><tr><td><span class="term"><i><tt>def</tt></i>:</span></td><td>  the attribute default type
+</td></tr><tr><td><span class="term"><i><tt>defaultValue</tt></i>:</span></td><td>  the attribute 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>NULL if not new, otherwise the attribute decl
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCopyAttributeTable"></a>xmlCopyAttributeTable ()</h3><pre class="programlisting"><a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> xmlCopyAttributeTable  (<a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);</pre><p>
+Build a copy of an attribute table.</p><p>
+
+</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 attribute table
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new xmlAttributeTablePtr or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFreeAttributeTable"></a>xmlFreeAttributeTable ()</h3><pre class="programlisting">void        xmlFreeAttributeTable           (<a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);</pre><p>
+Deallocate the memory used by an entities hash table.</p><p>
+
+</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 attribute table
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlDumpAttributeTable"></a>xmlDumpAttributeTable ()</h3><pre class="programlisting">void        xmlDumpAttributeTable           (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             <a href="libxml-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);</pre><p>
+This will dump the content of the attribute table as an XML DTD definition</p><p>
+
+</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 attribute table
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlDumpAttributeDecl"></a>xmlDumpAttributeDecl ()</h3><pre class="programlisting">void        xmlDumpAttributeDecl            (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             <a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr);</pre><p>
+This will dump the content of the attribute declaration as an XML
+DTD definition</p><p>
+
+</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 attribute declaration
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlAddID"></a>xmlAddID ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlIDPtr">xmlIDPtr</a>    xmlAddID                        (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
+                                             <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);</pre><p>
+Register a new id declaration</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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 attribute holding the ID
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>NULL if not, otherwise the new xmlIDPtr
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFreeIDTable"></a>xmlFreeIDTable ()</h3><pre class="programlisting">void        xmlFreeIDTable                  (<a href="libxml-valid.html#xmlIDTablePtr">xmlIDTablePtr</a> table);</pre><p>
+Deallocate the memory used by an ID hash table.</p><p>
+
+</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"><h3><a name="xmlGetID"></a>xmlGetID ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>  xmlGetID                        (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID);</pre><p>
+Search the attribute declaring the given ID</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>NULL if not found, otherwise the xmlAttrPtr defining the ID
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIsID"></a>xmlIsID ()</h3><pre class="programlisting">int         xmlIsID                         (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
+                                             <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);</pre><p>
+Determine whether an attribute is of type ID. In case we have DTD(s)
+then this is done if DTD loading has been requested. In the case
+of HTML documents parsed with the HTML parser, then ID detection is
+done systematically.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the document
+</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>  the element carrying the attribute
+</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>  the attribute
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 or 1 depending on the lookup result
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRemoveID"></a>xmlRemoveID ()</h3><pre class="programlisting">int         xmlRemoveID                     (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);</pre><p>
+Remove the given attribute from the ID table maintained internally.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the document
+</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>  the attribute
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>-1 if the lookup failed and 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlAddRef"></a>xmlAddRef ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlRefPtr">xmlRefPtr</a>   xmlAddRef                       (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
+                                             <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);</pre><p>
+Register a new ref declaration</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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 attribute holding the Ref
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>NULL if not, otherwise the new xmlRefPtr
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFreeRefTable"></a>xmlFreeRefTable ()</h3><pre class="programlisting">void        xmlFreeRefTable                 (<a href="libxml-valid.html#xmlRefTablePtr">xmlRefTablePtr</a> table);</pre><p>
+Deallocate the memory used by an Ref hash table.</p><p>
+
+</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"><h3><a name="xmlIsRef"></a>xmlIsRef ()</h3><pre class="programlisting">int         xmlIsRef                        (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
+                                             <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);</pre><p>
+Determine whether an attribute is of type Ref. In case we have DTD(s)
+then this is simple, otherwise we use an heuristic: name Ref (upper
+or lowercase).</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the document
+</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>  the element carrying the attribute
+</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>  the attribute
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 or 1 depending on the lookup result
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRemoveRef"></a>xmlRemoveRef ()</h3><pre class="programlisting">int         xmlRemoveRef                    (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);</pre><p>
+Remove the given attribute from the Ref table maintained internally.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the document
+</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>  the attribute
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>-1 if the lookup failed and 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGetRefs"></a>xmlGetRefs ()</h3><pre class="programlisting"><a href="libxml-list.html#xmlListPtr">xmlListPtr</a>  xmlGetRefs                      (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ID);</pre><p>
+Find the set of references for the supplied ID.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>NULL if not found, otherwise node set for the ID.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlValidateRoot"></a>xmlValidateRoot ()</h3><pre class="programlisting">int         xmlValidateRoot                 (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if valid or 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlValidateElementDecl"></a>xmlValidateElementDecl ()</h3><pre class="programlisting">int         xmlValidateElementDecl          (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> elem);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if valid or 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlValidNormalizeAttributeValue"></a>xmlValidNormalizeAttributeValue ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlValidNormalizeAttributeValue (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
+Does the validation related extra step of the normalization of attribute
+values:
+</p><p>
+If the declared value is not CDATA, then the XML processor must further
+process the normalized attribute value by discarding any leading and
+trailing space (<GTKDOCLINK HREF="x20">x20</GTKDOCLINK>) characters, and by replacing sequences of space
+(<GTKDOCLINK HREF="x20">x20</GTKDOCLINK>) characters by single space (<GTKDOCLINK HREF="x20">x20</GTKDOCLINK>) character.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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 attribute name
+</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>  the attribute value
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlValidCtxtNormalizeAttributeValue"></a>xmlValidCtxtNormalizeAttributeValue ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlValidCtxtNormalizeAttributeValue
+                                            (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
+Does the validation related extra step of the normalization of attribute
+values:
+</p><p>
+If the declared value is not CDATA, then the XML processor must further
+process the normalized attribute value by discarding any leading and
+trailing space (<GTKDOCLINK HREF="x20">x20</GTKDOCLINK>) characters, and by replacing sequences of space
+(<GTKDOCLINK HREF="x20">x20</GTKDOCLINK>) characters by single space (<GTKDOCLINK HREF="x20">x20</GTKDOCLINK>) character.
+</p><p>
+Also  check VC: Standalone Document Declaration in P32, and update
+ ctxt-&gt;valid accordingly</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> 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>elem</tt></i>:</span></td><td>  the parent
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>  the attribute name
+</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>  the attribute value
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlValidateAttributeDecl"></a>xmlValidateAttributeDecl ()</h3><pre class="programlisting">int         xmlValidateAttributeDecl        (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr);</pre><p>
+Try to validate a single attribute definition
+basically it does the following checks as described by the
+XML-1.0 recommendation:
+ - [ VC: Attribute Default Legal ]
+ - [ VC: Enumeration ]
+ - [ VC: ID Attribute Default ]
+</p><p>
+The ID/IDREF uniqueness and matching are done separately</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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 attribute definition
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if valid or 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlValidateAttributeValue"></a>xmlValidateAttributeValue ()</h3><pre class="programlisting">int         xmlValidateAttributeValue       (<a href="libxml-tree.html#xmlAttributeType">xmlAttributeType</a> type,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
+Validate that the given attribute value match  the proper production
+</p><p>
+[ VC: ID ]
+Values of type ID must match the Name production....
+</p><p>
+[ VC: IDREF ]
+Values of type IDREF must match the Name production, and values
+of type IDREFS must match Names ...
+</p><p>
+[ VC: Entity Name ]
+Values of type ENTITY must match the Name production, values
+of type ENTITIES must match Names ...
+</p><p>
+[ VC: Name Token ]
+Values of type NMTOKEN must match the Nmtoken production; values
+of type NMTOKENS must match Nmtokens.</p><p>
+
+</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 attribute type
+</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>  an attribute value
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if valid or 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlValidateNotationDecl"></a>xmlValidateNotationDecl ()</h3><pre class="programlisting">int         xmlValidateNotationDecl         (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if valid or 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlValidateDtd"></a>xmlValidateDtd ()</h3><pre class="programlisting">int         xmlValidateDtd                  (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);</pre><p>
+Try to validate the document against the dtd instance
+</p><p>
+basically it does check all the definitions in the DtD.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if valid or 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlValidateDtdFinal"></a>xmlValidateDtdFinal ()</h3><pre class="programlisting">int         xmlValidateDtdFinal             (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
+Does the final step for the dtds validation once all the
+subsets have been parsed
+</p><p>
+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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlValidateDocument"></a>xmlValidateDocument ()</h3><pre class="programlisting">int         xmlValidateDocument             (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
+Try to validate the document instance
+</p><p>
+basically it does the all the checks described by the XML Rec
+i.e. validates the internal and external subset (if present)
+and validate the document tree.</p><p>
+
+</p><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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if valid or 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlValidateElement"></a>xmlValidateElement ()</h3><pre class="programlisting">int         xmlValidateElement              (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);</pre><p>
+Try to validate the subtree under an element</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if valid or 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlValidateOneElement"></a>xmlValidateOneElement ()</h3><pre class="programlisting">int         xmlValidateOneElement           (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem);</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 <a href="libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a>() for each attribute present.
+</p><p>
+The ID/IDREF checkings are done separately</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if valid or 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlValidateOneAttribute"></a>xmlValidateOneAttribute ()</h3><pre class="programlisting">int         xmlValidateOneAttribute         (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
+                                             <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
+Try to validate a single attribute for an element
+basically it does the following checks as described by the
+XML-1.0 recommendation:
+ - [ VC: Attribute Value Type ]
+ - [ VC: Fixed Attribute Default ]
+ - [ VC: Entity Name ]
+ - [ VC: Name Token ]
+ - [ VC: ID ]
+ - [ VC: IDREF ]
+ - [ VC: Entity Name ]
+ - [ VC: Notation Attributes ]
+</p><p>
+The ID/IDREF uniqueness and matching are done separately</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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 attribute instance
+</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>  the attribute value (without entities processing)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if valid or 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlValidateOneNamespace"></a>xmlValidateOneNamespace ()</h3><pre class="programlisting">int         xmlValidateOneNamespace         (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</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 ]
+</p><p>
+The ID/IDREF uniqueness and matching are done separately</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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 attribute value (without entities processing)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if valid or 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlValidateDocumentFinal"></a>xmlValidateDocumentFinal ()</h3><pre class="programlisting">int         xmlValidateDocumentFinal        (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
+Does the final step for the document validation once all the
+incremental validation steps have been completed
+</p><p>
+basically it does the following checks described by the XML Rec
+</p><p>
+Check all the IDREF/IDREFS attributes definition for validity</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if valid or 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlValidateNotationUse"></a>xmlValidateNotationUse ()</h3><pre class="programlisting">int         xmlValidateNotationUse          (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *notationName);</pre><p>
+Validate that the given name match a notation declaration.
+- [ VC: Notation Declared ]</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if valid or 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIsMixedElement"></a>xmlIsMixedElement ()</h3><pre class="programlisting">int         xmlIsMixedElement               (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Search in the DtDs whether an element accept Mixed content (or ANY)
+basically if it is supposed to accept text childs</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlGetDtdAttrDesc"></a>xmlGetDtdAttrDesc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> xmlGetDtdAttrDesc           (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Search the DTD for the description of this attribute on
+this element.</p><p>
+
+</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 attribute name
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlAttributePtr if found or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGetDtdQAttrDesc"></a>xmlGetDtdQAttrDesc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttributePtr">xmlAttributePtr</a> xmlGetDtdQAttrDesc          (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *elem,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);</pre><p>
+Search the DTD for the description of this qualified attribute on
+this element.</p><p>
+
+</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 attribute name
+</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>  the attribute namespace prefix
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlAttributePtr if found or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGetDtdNotationDesc"></a>xmlGetDtdNotationDesc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNotationPtr">xmlNotationPtr</a> xmlGetDtdNotationDesc        (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Search the DTD for the description of this notation</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlNotationPtr if found or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGetDtdQElementDesc"></a>xmlGetDtdQElementDesc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> xmlGetDtdQElementDesc         (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);</pre><p>
+Search the DTD for the description of this element</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlElementPtr if found or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGetDtdElementDesc"></a>xmlGetDtdElementDesc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> xmlGetDtdElementDesc          (<a href="libxml-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Search the DTD for the description of this element</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlElementPtr if found or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlValidGetValidElements"></a>xmlValidGetValidElements ()</h3><pre class="programlisting">int         xmlValidGetValidElements        (<a href="libxml-tree.html#xmlNode">xmlNode</a> *prev,
+                                             <a href="libxml-tree.html#xmlNode">xmlNode</a> *next,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> **list,
+                                             int max);</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 <i><tt>prev</tt></i> and
+<i><tt>next</tt></i> 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, ...
+</p><p>
+pointers to the element names are inserted at the beginning of the array
+and do not need to be freed.</p><p>
+
+</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>list</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of element in the list, or -1 in case of error. If
+   the function returns the value <i><tt>max</tt></i> the caller is invited to grow the
+   receiving array and retry.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlValidGetPotentialChildren"></a>xmlValidGetPotentialChildren ()</h3><pre class="programlisting">int         xmlValidGetPotentialChildren    (<a href="libxml-tree.html#xmlElementContent">xmlElementContent</a> *ctree,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> **list,
+                                             int *len,
+                                             int max);</pre><p>
+Build/extend a list of  potential children allowed by the content tree</p><p>
+
+</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>list</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlValidateNameValue"></a>xmlValidateNameValue ()</h3><pre class="programlisting">int         xmlValidateNameValue            (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
+Validate that the given value match Name production</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>  an Name value
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if valid or 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlValidateNamesValue"></a>xmlValidateNamesValue ()</h3><pre class="programlisting">int         xmlValidateNamesValue           (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
+Validate that the given value match Names production</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>  an Names value
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if valid or 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlValidateNmtokenValue"></a>xmlValidateNmtokenValue ()</h3><pre class="programlisting">int         xmlValidateNmtokenValue         (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
+Validate that the given value match Nmtoken production
+</p><p>
+[ VC: Name Token ]</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>  an Nmtoken value
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if valid or 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlValidateNmtokensValue"></a>xmlValidateNmtokensValue ()</h3><pre class="programlisting">int         xmlValidateNmtokensValue        (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
+Validate that the given value match Nmtokens production
+</p><p>
+[ VC: Name Token ]</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>  an Nmtokens value
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if valid or 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlValidBuildContentModel"></a>xmlValidBuildContentModel ()</h3><pre class="programlisting">int         xmlValidBuildContentModel       (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlElementPtr">xmlElementPtr</a> elem);</pre><p>
+(Re)Build the automata associated to the content model of this
+element</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 in case of success, 0 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlValidatePushElement"></a>xmlValidatePushElement ()</h3><pre class="programlisting">int         xmlValidatePushElement          (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *qname);</pre><p>
+Push a new element start on the validation stack.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if no validation problem was found or 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlValidatePushCData"></a>xmlValidatePushCData ()</h3><pre class="programlisting">int         xmlValidatePushCData            (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *data,
+                                             int len);</pre><p>
+check the CData parsed for validation in the current stack</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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 lenght of the data
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if no validation problem was found or 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlValidatePopElement"></a>xmlValidatePopElement ()</h3><pre class="programlisting">int         xmlValidatePopElement           (<a href="libxml-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> elem,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *qname);</pre><p>
+Pop the element end from the validation stack.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if no validation problem was found or 0 otherwise
+</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-HTMLparser.html"><b>&lt;&lt; HTMLparser</b></a></td><td align="right"><a accesskey="n" href="libxml-catalog.html"><b>catalog &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-wincecompat.html b/doc/html/libxml-wincecompat.html
index 1d5d557..749049f 100644
--- a/doc/html/libxml-wincecompat.html
+++ b/doc/html/libxml-wincecompat.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-testOOMlib.html" title="testOOMlib"><link rel="next" href="libxml-wsockcompat.html" title="wsockcompat"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-testOOMlib.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-wsockcompat.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-wincecompat"></a><div class="titlepage"></div><div class="refnamediv"><h2>wincecompat</h2><p>wincecompat &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2649847"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-testOOMlib.html" title="testOOMlib"><link rel="next" href="libxml-wsockcompat.html" title="wsockcompat"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-testOOMlib.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-wsockcompat.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-wincecompat"></a><div class="titlepage"></div><div class="refnamediv"><h2>wincecompat</h2><p>wincecompat &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2654638"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
diff --git a/doc/html/libxml-wsockcompat.html b/doc/html/libxml-wsockcompat.html
index 5e4a7f5..3d6bee3 100644
--- a/doc/html/libxml-wsockcompat.html
+++ b/doc/html/libxml-wsockcompat.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-wincecompat.html" title="wincecompat"><link rel="next" href="libxml-encoding.html" title="encoding"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-wincecompat.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-encoding.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-wsockcompat"></a><div class="titlepage"></div><div class="refnamediv"><h2>wsockcompat</h2><p>wsockcompat &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2641333"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-wincecompat.html" title="wincecompat"><link rel="next" href="libxml-encoding.html" title="encoding"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-wincecompat.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-encoding.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-wsockcompat"></a><div class="titlepage"></div><div class="refnamediv"><h2>wsockcompat</h2><p>wsockcompat &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2607006"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
diff --git a/doc/html/libxml-xinclude.html b/doc/html/libxml-xinclude.html
index 04589e6..470676f 100644
--- a/doc/html/libxml-xinclude.html
+++ b/doc/html/libxml-xinclude.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xmlexports.html" title="xmlexports"><link rel="next" href="libxml-xmlreader.html" title="xmlreader"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlexports.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-xmlreader.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xinclude"></a><div class="titlepage"></div><div class="refnamediv"><h2>xinclude</h2><p>xinclude &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2689077"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xmlexports.html" title="xmlexports"><link rel="next" href="libxml-xmlreader.html" title="xmlreader"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlexports.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-xmlreader.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xinclude"></a><div class="titlepage"></div><div class="refnamediv"><h2>xinclude</h2><p>xinclude &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2761503"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -42,6 +42,12 @@
 #define     <a href="libxml-xinclude.html#XINCLUDE-PARSE-ENCODING-CAPS">XINCLUDE_PARSE_ENCODING</a>
 struct      <a href="libxml-xinclude.html#xmlXIncludeCtxt">xmlXIncludeCtxt</a>;
 typedef     <a href="libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a>;
+int         <a href="libxml-xinclude.html#xmlXIncludeProcess">xmlXIncludeProcess</a>              (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+int         <a href="libxml-xinclude.html#xmlXIncludeProcessTree">xmlXIncludeProcessTree</a>          (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree);
+<a href="libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> <a href="libxml-xinclude.html#xmlXIncludeNewContext">xmlXIncludeNewContext</a>    (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+void        <a href="libxml-xinclude.html#xmlXIncludeFreeContext">xmlXIncludeFreeContext</a>          (<a href="libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt);
+int         <a href="libxml-xinclude.html#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a>          (<a href="libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="XINCLUDE-NS-CAPS"></a>XINCLUDE_NS</h3><pre class="programlisting">#define XINCLUDE_NS (const xmlChar *) "http://www.w3.org/2001/XInclude"
@@ -73,4 +79,34 @@
 </p></div><hr><div class="refsect2"><h3><a name="xmlXIncludeCtxtPtr"></a>xmlXIncludeCtxtPtr</h3><pre class="programlisting">typedef xmlXIncludeCtxt *xmlXIncludeCtxtPtr;
 </pre><p>
 
-</p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xmlexports.html"><b>&lt;&lt; xmlexports</b></a></td><td align="right"><a accesskey="n" href="libxml-xmlreader.html"><b>xmlreader &gt;&gt;</b></a></td></tr></table></body></html>
+</p></div><hr><div class="refsect2"><h3><a name="xmlXIncludeProcess"></a>xmlXIncludeProcess ()</h3><pre class="programlisting">int         xmlXIncludeProcess              (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
+Implement the XInclude substitution on the XML document <i><tt>doc</tt></i></p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td> an XML document
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlXIncludeProcessTree"></a>xmlXIncludeProcessTree ()</h3><pre class="programlisting">int         xmlXIncludeProcessTree          (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree);</pre><p>
+Implement the XInclude substitution for the given subtree</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlXIncludeNewContext"></a>xmlXIncludeNewContext ()</h3><pre class="programlisting"><a href="libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> xmlXIncludeNewContext    (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
+Creates a new XInclude context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  an XML Document
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new set
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXIncludeFreeContext"></a>xmlXIncludeFreeContext ()</h3><pre class="programlisting">void        xmlXIncludeFreeContext          (<a href="libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt);</pre><p>
+Free an XInclude context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> the XInclude context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXIncludeProcessNode"></a>xmlXIncludeProcessNode ()</h3><pre class="programlisting">int         xmlXIncludeProcessNode          (<a href="libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree);</pre><p>
+Implement the XInclude substitution for the given subtree reusing
+the informations and data coming from the given context.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an existing XInclude context
+</td></tr><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xmlexports.html"><b>&lt;&lt; xmlexports</b></a></td><td align="right"><a accesskey="n" href="libxml-xmlreader.html"><b>xmlreader &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-xmlIO.html b/doc/html/libxml-xmlIO.html
index e587fe5..ebc342a 100644
--- a/doc/html/libxml-xmlIO.html
+++ b/doc/html/libxml-xmlIO.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xmlmemory.html" title="xmlmemory"><link rel="next" href="libxml-xpath.html" title="xpath"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlmemory.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-xpath.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xmlIO"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlIO</h2><p>xmlIO &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2609940"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xmlmemory.html" title="xmlmemory"><link rel="next" href="libxml-xpath.html" title="xpath"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlmemory.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-xpath.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xmlIO"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlIO</h2><p>xmlIO &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2590417"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -46,6 +46,103 @@
 int         (<a href="libxml-xmlIO.html#xmlOutputCloseCallback">*xmlOutputCloseCallback</a>)       (void *context);
 struct      <a href="libxml-xmlIO.html#xmlParserInputBuffer">xmlParserInputBuffer</a>;
 struct      <a href="libxml-xmlIO.html#xmlOutputBuffer">xmlOutputBuffer</a>;
+void        <a href="libxml-xmlIO.html#xmlCleanupInputCallbacks">xmlCleanupInputCallbacks</a>        (void);
+void        <a href="libxml-xmlIO.html#xmlRegisterDefaultInputCallbacks">xmlRegisterDefaultInputCallbacks</a>
+                                            (void);
+<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="libxml-xmlIO.html#xmlAllocParserInputBuffer">xmlAllocParserInputBuffer</a>
+                                            (<a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="libxml-xmlIO.html#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a>
+                                            (const char *URI,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="libxml-xmlIO.html#xmlParserInputBufferCreateFile">xmlParserInputBufferCreateFile</a>
+                                            (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *file,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="libxml-xmlIO.html#xmlParserInputBufferCreateFd">xmlParserInputBufferCreateFd</a>
+                                            (int fd,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="libxml-xmlIO.html#xmlParserInputBufferCreateMem">xmlParserInputBufferCreateMem</a>
+                                            (const char *mem,
+                                             int size,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="libxml-xmlIO.html#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a>
+                                            (const char *mem,
+                                             int size,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="libxml-xmlIO.html#xmlParserInputBufferCreateIO">xmlParserInputBufferCreateIO</a>
+                                            (<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
+                                             <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
+                                             void *ioctx,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+int         <a href="libxml-xmlIO.html#xmlParserInputBufferRead">xmlParserInputBufferRead</a>        (<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in,
+                                             int len);
+int         <a href="libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a>        (<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in,
+                                             int len);
+int         <a href="libxml-xmlIO.html#xmlParserInputBufferPush">xmlParserInputBufferPush</a>        (<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in,
+                                             int len,
+                                             const char *buf);
+void        <a href="libxml-xmlIO.html#xmlFreeParserInputBuffer">xmlFreeParserInputBuffer</a>        (<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in);
+char*       <a href="libxml-xmlIO.html#xmlParserGetDirectory">xmlParserGetDirectory</a>           (const char *filename);
+int         <a href="libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a>       (<a href="libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a> matchFunc,
+                                             <a href="libxml-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a> openFunc,
+                                             <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> readFunc,
+                                             <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> closeFunc);
+void        <a href="libxml-xmlIO.html#xmlCleanupOutputCallbacks">xmlCleanupOutputCallbacks</a>       (void);
+void        <a href="libxml-xmlIO.html#xmlRegisterDefaultOutputCallbacks">xmlRegisterDefaultOutputCallbacks</a>
+                                            (void);
+<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="libxml-xmlIO.html#xmlAllocOutputBuffer">xmlAllocOutputBuffer</a>     (<a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
+<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a>
+                                            (const char *URI,
+                                             <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder,
+                                             int compression);
+<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="libxml-xmlIO.html#xmlOutputBufferCreateFile">xmlOutputBufferCreateFile</a>
+                                            (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *file,
+                                             <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
+<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="libxml-xmlIO.html#xmlOutputBufferCreateFd">xmlOutputBufferCreateFd</a>  (int fd,
+                                             <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
+<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="libxml-xmlIO.html#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a>  (<a href="libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite,
+                                             <a href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose,
+                                             void *ioctx,
+                                             <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
+int         <a href="libxml-xmlIO.html#xmlOutputBufferWrite">xmlOutputBufferWrite</a>            (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out,
+                                             int len,
+                                             const char *buf);
+int         <a href="libxml-xmlIO.html#xmlOutputBufferWriteString">xmlOutputBufferWriteString</a>      (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out,
+                                             const char *str);
+int         <a href="libxml-xmlIO.html#xmlOutputBufferFlush">xmlOutputBufferFlush</a>            (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
+int         <a href="libxml-xmlIO.html#xmlOutputBufferClose">xmlOutputBufferClose</a>            (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
+int         <a href="libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a>      (<a href="libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a> matchFunc,
+                                             <a href="libxml-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a> openFunc,
+                                             <a href="libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> writeFunc,
+                                             <a href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> closeFunc);
+void*       <a href="libxml-xmlIO.html#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a>                  (const char *post_uri,
+                                             int compression);
+void        <a href="libxml-xmlIO.html#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a>    (void);
+<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="libxml-xmlIO.html#xmlCheckHTTPInput">xmlCheckHTTPInput</a>         (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> ret);
+<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a>
+                                            (const char *URL,
+                                             const char *ID,
+                                             <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xmlIO.html#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a>         (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *path);
+int         <a href="libxml-xmlIO.html#xmlCheckFilename">xmlCheckFilename</a>                (const char *path);
+int         <a href="libxml-xmlIO.html#xmlFileMatch">xmlFileMatch</a>                    (const char *filename);
+void*       <a href="libxml-xmlIO.html#xmlFileOpen">xmlFileOpen</a>                     (const char *filename);
+int         <a href="libxml-xmlIO.html#xmlFileRead">xmlFileRead</a>                     (void *context,
+                                             char *buffer,
+                                             int len);
+int         <a href="libxml-xmlIO.html#xmlFileClose">xmlFileClose</a>                    (void *context);
+int         <a href="libxml-xmlIO.html#xmlIOHTTPMatch">xmlIOHTTPMatch</a>                  (const char *filename);
+void*       <a href="libxml-xmlIO.html#xmlIOHTTPOpen">xmlIOHTTPOpen</a>                   (const char *filename);
+int         <a href="libxml-xmlIO.html#xmlIOHTTPRead">xmlIOHTTPRead</a>                   (void *context,
+                                             char *buffer,
+                                             int len);
+int         <a href="libxml-xmlIO.html#xmlIOHTTPClose">xmlIOHTTPClose</a>                  (void *context);
+int         <a href="libxml-xmlIO.html#xmlIOFTPMatch">xmlIOFTPMatch</a>                   (const char *filename);
+void*       <a href="libxml-xmlIO.html#xmlIOFTPOpen">xmlIOFTPOpen</a>                    (const char *filename);
+int         <a href="libxml-xmlIO.html#xmlIOFTPRead">xmlIOFTPRead</a>                    (void *context,
+                                             char *buffer,
+                                             int len);
+int         <a href="libxml-xmlIO.html#xmlIOFTPClose">xmlIOFTPClose</a>                   (void *context);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlInputMatchCallback"></a>xmlInputMatchCallback ()</h3><pre class="programlisting">int         (*xmlInputMatchCallback)        (char const *filename);</pre><p>
@@ -126,4 +223,363 @@
 };
 </pre><p>
 
-</p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xmlmemory.html"><b>&lt;&lt; xmlmemory</b></a></td><td align="right"><a accesskey="n" href="libxml-xpath.html"><b>xpath &gt;&gt;</b></a></td></tr></table></body></html>
+</p></div><hr><div class="refsect2"><h3><a name="xmlCleanupInputCallbacks"></a>xmlCleanupInputCallbacks ()</h3><pre class="programlisting">void        xmlCleanupInputCallbacks        (void);</pre><p>
+clears the entire input callback table. this includes the
+compiled-in I/O.</p><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlRegisterDefaultInputCallbacks"></a>xmlRegisterDefaultInputCallbacks ()</h3><pre class="programlisting">void        xmlRegisterDefaultInputCallbacks
+                                            (void);</pre><p>
+Registers the default compiled-in I/O handlers.</p><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlAllocParserInputBuffer"></a>xmlAllocParserInputBuffer ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> xmlAllocParserInputBuffer
+                                            (<a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
+Create a buffered parser input for progressive parsing</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser input or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParserInputBufferCreateFilename"></a>xmlParserInputBufferCreateFilename ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> xmlParserInputBufferCreateFilename
+                                            (const char *URI,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</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 == XML_CHAR_ENCODING_NONE</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser input or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParserInputBufferCreateFile"></a>xmlParserInputBufferCreateFile ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> xmlParserInputBufferCreateFile
+                                            (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *file,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
+Create a buffered parser input for the progressive parsing of a FILE *
+buffered C I/O</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser input or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParserInputBufferCreateFd"></a>xmlParserInputBufferCreateFd ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> xmlParserInputBufferCreateFd
+                                            (int fd,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
+Create a buffered parser input for the progressive parsing for the input
+from a file descriptor</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>fd</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser input or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParserInputBufferCreateMem"></a>xmlParserInputBufferCreateMem ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> xmlParserInputBufferCreateMem
+                                            (const char *mem,
+                                             int size,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
+Create a buffered parser input for the progressive parsing for the input
+from a memory area.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser input or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParserInputBufferCreateStatic"></a>xmlParserInputBufferCreateStatic ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> xmlParserInputBufferCreateStatic
+                                            (const char *mem,
+                                             int size,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</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><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser input or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParserInputBufferCreateIO"></a>xmlParserInputBufferCreateIO ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> xmlParserInputBufferCreateIO
+                                            (<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
+                                             <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
+                                             void *ioctx,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
+Create a buffered parser input for the progressive parsing for the input
+from an I/O handler</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>  an I/O read function
+</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>  an I/O close function
+</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>  an I/O handler
+</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>  the charset encoding if known
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser input or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParserInputBufferRead"></a>xmlParserInputBufferRead ()</h3><pre class="programlisting">int         xmlParserInputBufferRead        (<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in,
+                                             int len);</pre><p>
+Refresh the content of the input buffer, the old data are considered
+consumed
+This routine handle the I18N transcoding to internal UTF-8</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlParserInputBufferGrow"></a>xmlParserInputBufferGrow ()</h3><pre class="programlisting">int         xmlParserInputBufferGrow        (<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in,
+                                             int len);</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
+</p><p>
+TODO: one should be able to remove one extra copy by copying directly
+      onto in-&gt;buffer or in-&gt;raw</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlParserInputBufferPush"></a>xmlParserInputBufferPush ()</h3><pre class="programlisting">int         xmlParserInputBufferPush        (<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in,
+                                             int len,
+                                             const char *buf);</pre><p>
+Push the content of the arry in the input buffer
+This routine handle the I18N transcoding to internal UTF-8
+This is used when operating the parser in progressive (push) mode.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlFreeParserInputBuffer"></a>xmlFreeParserInputBuffer ()</h3><pre class="programlisting">void        xmlFreeParserInputBuffer        (<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in);</pre><p>
+Free up the memory used by a buffered parser input</p><p>
+
+</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"><h3><a name="xmlParserGetDirectory"></a>xmlParserGetDirectory ()</h3><pre class="programlisting">char*       xmlParserGetDirectory           (const char *filename);</pre><p>
+lookup the directory for that file</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the path to a file
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a new allocated string containing the directory, or NULL.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRegisterInputCallbacks"></a>xmlRegisterInputCallbacks ()</h3><pre class="programlisting">int         xmlRegisterInputCallbacks       (<a href="libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a> matchFunc,
+                                             <a href="libxml-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a> openFunc,
+                                             <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> readFunc,
+                                             <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> closeFunc);</pre><p>
+Register a new set of I/O callback for handling parser input.</p><p>
+
+</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 xmlInputMatchCallback
+</td></tr><tr><td><span class="term"><i><tt>openFunc</tt></i>:</span></td><td>  the xmlInputOpenCallback
+</td></tr><tr><td><span class="term"><i><tt>readFunc</tt></i>:</span></td><td>  the xmlInputReadCallback
+</td></tr><tr><td><span class="term"><i><tt>closeFunc</tt></i>:</span></td><td>  the xmlInputCloseCallback
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the registered handler number or -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCleanupOutputCallbacks"></a>xmlCleanupOutputCallbacks ()</h3><pre class="programlisting">void        xmlCleanupOutputCallbacks       (void);</pre><p>
+clears the entire output callback table. this includes the
+compiled-in I/O callbacks.</p><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlRegisterDefaultOutputCallbacks"></a>xmlRegisterDefaultOutputCallbacks ()</h3><pre class="programlisting">void        xmlRegisterDefaultOutputCallbacks
+                                            (void);</pre><p>
+Registers the default compiled-in I/O handlers.</p><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlAllocOutputBuffer"></a>xmlAllocOutputBuffer ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> xmlAllocOutputBuffer     (<a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);</pre><p>
+Create a buffered parser output</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser output or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlOutputBufferCreateFilename"></a>xmlOutputBufferCreateFilename ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> xmlOutputBufferCreateFilename
+                                            (const char *URI,
+                                             <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder,
+                                             int compression);</pre><p>
+Create a buffered  output for the progressive saving of a file
+If filename is "-' then we use stdout as the output.
+Automatic support for ZLIB/Compress compressed document is provided
+by default if found at compile-time.
+TODO: currently if compression is set, the library only support
+      writing to a local file.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new output or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlOutputBufferCreateFile"></a>xmlOutputBufferCreateFile ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> xmlOutputBufferCreateFile
+                                            (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *file,
+                                             <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);</pre><p>
+Create a buffered output for the progressive saving to a FILE *
+buffered C I/O</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser output or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlOutputBufferCreateFd"></a>xmlOutputBufferCreateFd ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> xmlOutputBufferCreateFd  (int fd,
+                                             <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);</pre><p>
+Create a buffered output for the progressive saving 
+to a file descriptor</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>fd</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser output or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlOutputBufferCreateIO"></a>xmlOutputBufferCreateIO ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> xmlOutputBufferCreateIO  (<a href="libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite,
+                                             <a href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose,
+                                             void *ioctx,
+                                             <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);</pre><p>
+Create a buffered output for the progressive saving
+to an I/O handler</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser output or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlOutputBufferWrite"></a>xmlOutputBufferWrite ()</h3><pre class="programlisting">int         xmlOutputBufferWrite            (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out,
+                                             int len,
+                                             const char *buf);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>  a 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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlOutputBufferWriteString"></a>xmlOutputBufferWriteString ()</h3><pre class="programlisting">int         xmlOutputBufferWriteString      (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out,
+                                             const char *str);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>  a 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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlOutputBufferFlush"></a>xmlOutputBufferFlush ()</h3><pre class="programlisting">int         xmlOutputBufferFlush            (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);</pre><p>
+flushes the output I/O channel</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>  a buffered output
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of byte written or -1 in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlOutputBufferClose"></a>xmlOutputBufferClose ()</h3><pre class="programlisting">int         xmlOutputBufferClose            (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);</pre><p>
+flushes and close the output I/O channel
+and free up all the associated resources</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>  a buffered output
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of byte written or -1 in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRegisterOutputCallbacks"></a>xmlRegisterOutputCallbacks ()</h3><pre class="programlisting">int         xmlRegisterOutputCallbacks      (<a href="libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a> matchFunc,
+                                             <a href="libxml-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a> openFunc,
+                                             <a href="libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> writeFunc,
+                                             <a href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> closeFunc);</pre><p>
+Register a new set of I/O callback for handling output.</p><p>
+
+</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 xmlOutputMatchCallback
+</td></tr><tr><td><span class="term"><i><tt>openFunc</tt></i>:</span></td><td>  the xmlOutputOpenCallback
+</td></tr><tr><td><span class="term"><i><tt>writeFunc</tt></i>:</span></td><td>  the xmlOutputWriteCallback
+</td></tr><tr><td><span class="term"><i><tt>closeFunc</tt></i>:</span></td><td>  the xmlOutputCloseCallback
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the registered handler number or -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIOHTTPOpenW"></a>xmlIOHTTPOpenW ()</h3><pre class="programlisting">void*       xmlIOHTTPOpenW                  (const char *post_uri,
+                                             int compression);</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><p>
+
+</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></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRegisterHTTPPostCallbacks"></a>xmlRegisterHTTPPostCallbacks ()</h3><pre class="programlisting">void        xmlRegisterHTTPPostCallbacks    (void);</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><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlCheckHTTPInput"></a>xmlCheckHTTPInput ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> xmlCheckHTTPInput         (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> ret);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the input or NULL in case of HTTP error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNoNetExternalEntityLoader"></a>xmlNoNetExternalEntityLoader ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> xmlNoNetExternalEntityLoader
+                                            (const char *URL,
+                                             const char *ID,
+                                             <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);</pre><p>
+A specific entity loader disabling network accesses, though still
+allowing local catalog accesses for resolution.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a new allocated xmlParserInputPtr, or NULL.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNormalizeWindowsPath"></a>xmlNormalizeWindowsPath ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlNormalizeWindowsPath         (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *path);</pre><p>
+This function is obsolete. Please see xmlURIFromPath in uri.c for
+a better solution.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a canonicalized version of the path
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCheckFilename"></a>xmlCheckFilename ()</h3><pre class="programlisting">int         xmlCheckFilename                (const char *path);</pre><p>
+function checks to see if <i><tt>path</tt></i> is a valid source
+(file, socket...) for XML.
+</p><p>
+if stat is not available on the target machine,
+returns 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,</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>2.  otherwise returns 1.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFileMatch"></a>xmlFileMatch ()</h3><pre class="programlisting">int         xmlFileMatch                    (const char *filename);</pre><p>
+input from FILE *</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the URI for matching
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if matches, 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFileOpen"></a>xmlFileOpen ()</h3><pre class="programlisting">void*       xmlFileOpen                     (const char *filename);</pre><p>
+Wrapper around xmlFileOpen_real that try it with an unescaped
+version of <i><tt>filename</tt></i>, if this fails fallback to <i><tt>filename</tt></i></p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the URI for matching
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFileRead"></a>xmlFileRead ()</h3><pre class="programlisting">int         xmlFileRead                     (void *context,
+                                             char *buffer,
+                                             int len);</pre><p>
+Read <i><tt>len</tt></i> bytes to <i><tt>buffer</tt></i> from the I/O channel.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of bytes written
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFileClose"></a>xmlFileClose ()</h3><pre class="programlisting">int         xmlFileClose                    (void *context);</pre><p>
+Close an I/O channel</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 or -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIOHTTPMatch"></a>xmlIOHTTPMatch ()</h3><pre class="programlisting">int         xmlIOHTTPMatch                  (const char *filename);</pre><p>
+check if the URI matches an HTTP one</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the URI for matching
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if matches, 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIOHTTPOpen"></a>xmlIOHTTPOpen ()</h3><pre class="programlisting">void*       xmlIOHTTPOpen                   (const char *filename);</pre><p>
+open an HTTP I/O channel</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the URI for matching
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIOHTTPRead"></a>xmlIOHTTPRead ()</h3><pre class="programlisting">int         xmlIOHTTPRead                   (void *context,
+                                             char *buffer,
+                                             int len);</pre><p>
+Read <i><tt>len</tt></i> bytes to <i><tt>buffer</tt></i> from the I/O channel.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of bytes written
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIOHTTPClose"></a>xmlIOHTTPClose ()</h3><pre class="programlisting">int         xmlIOHTTPClose                  (void *context);</pre><p>
+Close an HTTP I/O channel</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIOFTPMatch"></a>xmlIOFTPMatch ()</h3><pre class="programlisting">int         xmlIOFTPMatch                   (const char *filename);</pre><p>
+check if the URI matches an FTP one</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the URI for matching
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if matches, 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIOFTPOpen"></a>xmlIOFTPOpen ()</h3><pre class="programlisting">void*       xmlIOFTPOpen                    (const char *filename);</pre><p>
+open an FTP I/O channel</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the URI for matching
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIOFTPRead"></a>xmlIOFTPRead ()</h3><pre class="programlisting">int         xmlIOFTPRead                    (void *context,
+                                             char *buffer,
+                                             int len);</pre><p>
+Read <i><tt>len</tt></i> bytes to <i><tt>buffer</tt></i> from the I/O channel.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of bytes written
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlIOFTPClose"></a>xmlIOFTPClose ()</h3><pre class="programlisting">int         xmlIOFTPClose                   (void *context);</pre><p>
+Close an FTP I/O channel</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0
+</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xmlmemory.html"><b>&lt;&lt; xmlmemory</b></a></td><td align="right"><a accesskey="n" href="libxml-xpath.html"><b>xpath &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-xmlautomata.html b/doc/html/libxml-xmlautomata.html
index 9c5bf29..1bc8538 100644
--- a/doc/html/libxml-xmlautomata.html
+++ b/doc/html/libxml-xmlautomata.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-dict.html" title="dict"><link rel="next" href="libxml-xpointer.html" title="xpointer"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-dict.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-xpointer.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xmlautomata"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlautomata</h2><p>xmlautomata &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2652960"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-dict.html" title="dict"><link rel="next" href="libxml-xmlschemastypes.html" title="xmlschemastypes"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-dict.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-xmlschemastypes.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xmlautomata"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlautomata</h2><p>xmlautomata &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2645506"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -36,6 +36,62 @@
 typedef     <a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a>;
 struct      <a href="libxml-xmlautomata.html#xmlAutomataState">xmlAutomataState</a>;
 typedef     <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>;
+<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> <a href="libxml-xmlautomata.html#xmlNewAutomata">xmlNewAutomata</a>               (void);
+void        <a href="libxml-xmlautomata.html#xmlFreeAutomata">xmlFreeAutomata</a>                 (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
+<a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a href="libxml-xmlautomata.html#xmlAutomataGetInitState">xmlAutomataGetInitState</a> (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
+int         <a href="libxml-xmlautomata.html#xmlAutomataSetFinalState">xmlAutomataSetFinalState</a>        (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> state);
+<a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a href="libxml-xmlautomata.html#xmlAutomataNewState">xmlAutomataNewState</a>     (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
+<a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a href="libxml-xmlautomata.html#xmlAutomataNewTransition">xmlAutomataNewTransition</a>
+                                            (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *token,
+                                             void *data);
+<a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a href="libxml-xmlautomata.html#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a>
+                                            (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *token,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *token2,
+                                             void *data);
+<a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a href="libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a>
+                                            (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *token,
+                                             int min,
+                                             int max,
+                                             void *data);
+<a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a href="libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a> (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *token,
+                                             int min,
+                                             int max,
+                                             void *data);
+<a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a href="libxml-xmlautomata.html#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a>  (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to,
+                                             int lax);
+<a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a href="libxml-xmlautomata.html#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a>   (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to);
+<a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a href="libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a>
+                                            (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to,
+                                             int counter);
+<a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a href="libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a>
+                                            (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to,
+                                             int counter);
+int         <a href="libxml-xmlautomata.html#xmlAutomataNewCounter">xmlAutomataNewCounter</a>           (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am,
+                                             int min,
+                                             int max);
+<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> <a href="libxml-xmlautomata.html#xmlAutomataCompile">xmlAutomataCompile</a>             (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
+int         <a href="libxml-xmlautomata.html#xmlAutomataIsDeterminist">xmlAutomataIsDeterminist</a>        (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlAutomata"></a>struct xmlAutomata</h3><pre class="programlisting">struct xmlAutomata;</pre><p>
@@ -50,4 +106,178 @@
 </pre><p>
 A state int the automata description,</p><p>
 
-</p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-dict.html"><b>&lt;&lt; dict</b></a></td><td align="right"><a accesskey="n" href="libxml-xpointer.html"><b>xpointer &gt;&gt;</b></a></td></tr></table></body></html>
+</p></div><hr><div class="refsect2"><h3><a name="xmlNewAutomata"></a>xmlNewAutomata ()</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> xmlNewAutomata               (void);</pre><p>
+Create a new automata</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new object or NULL in case of failure
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFreeAutomata"></a>xmlFreeAutomata ()</h3><pre class="programlisting">void        xmlFreeAutomata                 (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);</pre><p>
+Free an automata</p><p>
+
+</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"><h3><a name="xmlAutomataGetInitState"></a>xmlAutomataGetInitState ()</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataGetInitState (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);</pre><p>
+Initial state lookup</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the initial state of the automata
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlAutomataSetFinalState"></a>xmlAutomataSetFinalState ()</h3><pre class="programlisting">int         xmlAutomataSetFinalState        (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> state);</pre><p>
+Makes that state a final state</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 or -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlAutomataNewState"></a>xmlAutomataNewState ()</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewState     (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);</pre><p>
+Create a new disconnected state in the automata</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new state or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlAutomataNewTransition"></a>xmlAutomataNewTransition ()</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewTransition
+                                            (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *token,
+                                             void *data);</pre><p>
+If <i><tt>to</tt></i> is NULL, this create first a new target state in the automata
+and then adds a transition from the <i><tt>from</tt></i> state to the target state
+activated by the value of <i><tt>token</tt></i></p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the target state or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlAutomataNewTransition2"></a>xmlAutomataNewTransition2 ()</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewTransition2
+                                            (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *token,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *token2,
+                                             void *data);</pre><p>
+If <i><tt>to</tt></i> is NULL, this create first a new target state in the automata
+and then adds a transition from the <i><tt>from</tt></i> state to the target state
+activated by the value of <i><tt>token</tt></i></p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the target state or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlAutomataNewCountTrans"></a>xmlAutomataNewCountTrans ()</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewCountTrans
+                                            (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *token,
+                                             int min,
+                                             int max,
+                                             void *data);</pre><p>
+If <i><tt>to</tt></i> is NULL, this create first a new target state in the automata
+and then adds a transition from the <i><tt>from</tt></i> state to the target state
+activated by a succession of input of value <i><tt>token</tt></i> and whose number
+is between <i><tt>min</tt></i> and <i><tt>max</tt></i></p><p>
+
+</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 occurences of token
+</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>  the maximum successive occurences 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the target state or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlAutomataNewOnceTrans"></a>xmlAutomataNewOnceTrans ()</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewOnceTrans (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *token,
+                                             int min,
+                                             int max,
+                                             void *data);</pre><p>
+If <i><tt>to</tt></i> is NULL, this create first a new target state in the automata
+and then adds a transition from the <i><tt>from</tt></i> state to the target state
+activated by a succession of input of value <i><tt>token</tt></i> and whose number
+is between <i><tt>min</tt></i> and <i><tt>max</tt></i>, moreover that transistion can only be crossed
+once.</p><p>
+
+</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 occurences of token
+</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>  the maximum successive occurences 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the target state or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlAutomataNewAllTrans"></a>xmlAutomataNewAllTrans ()</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewAllTrans  (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to,
+                                             int lax);</pre><p>
+If <i><tt>to</tt></i> is NULL, this create first a new target state in the automata
+and then adds a an ALL transition from the <i><tt>from</tt></i> state to the
+target state. That transition is an epsilon transition allowed only when
+all transitions from the <i><tt>from</tt></i> node have been activated.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the target state or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlAutomataNewEpsilon"></a>xmlAutomataNewEpsilon ()</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewEpsilon   (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to);</pre><p>
+If <i><tt>to</tt></i> is NULL, this create first a new target state in the automata
+and then adds a an epsilon transition from the <i><tt>from</tt></i> state to the
+target state</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the target state or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlAutomataNewCountedTrans"></a>xmlAutomataNewCountedTrans ()</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewCountedTrans
+                                            (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to,
+                                             int counter);</pre><p>
+If <i><tt>to</tt></i> is NULL, this create first a new target state in the automata
+and then adds an epsilon transition from the <i><tt>from</tt></i> state to the target state
+which will increment the counter provided</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the target state or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlAutomataNewCounterTrans"></a>xmlAutomataNewCounterTrans ()</h3><pre class="programlisting"><a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewCounterTrans
+                                            (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from,
+                                             <a href="libxml-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to,
+                                             int counter);</pre><p>
+If <i><tt>to</tt></i> is NULL, this create first a new target state in the automata
+and then adds an epsilon transition from the <i><tt>from</tt></i> state to the target state
+which will be allowed only if the counter is within the right range.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the target state or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlAutomataNewCounter"></a>xmlAutomataNewCounter ()</h3><pre class="programlisting">int         xmlAutomataNewCounter           (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am,
+                                             int min,
+                                             int max);</pre><p>
+Create a new counter</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the counter number or -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlAutomataCompile"></a>xmlAutomataCompile ()</h3><pre class="programlisting"><a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> xmlAutomataCompile             (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);</pre><p>
+Compile the automata into a Reg Exp ready for being executed.
+The automata should be free after this point.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the compiled regexp or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlAutomataIsDeterminist"></a>xmlAutomataIsDeterminist ()</h3><pre class="programlisting">int         xmlAutomataIsDeterminist        (<a href="libxml-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);</pre><p>
+Checks if an automata is determinist.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true, 0 if not, and -1 in case of error
+</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-dict.html"><b>&lt;&lt; dict</b></a></td><td align="right"><a accesskey="n" href="libxml-xmlschemastypes.html"><b>xmlschemastypes &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-xmlerror.html b/doc/html/libxml-xmlerror.html
index 2baa33f..f101c56 100644
--- a/doc/html/libxml-xmlerror.html
+++ b/doc/html/libxml-xmlerror.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-c14n.html" title="c14n"><link rel="next" href="libxml-xmlwin32version.html" title="xmlwin32version"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-c14n.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-xmlwin32version.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xmlerror"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlerror</h2><p>xmlerror &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2601275"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-c14n.html" title="c14n"><link rel="next" href="libxml-xmlwin32version.html" title="xmlwin32version"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-c14n.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-xmlwin32version.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xmlerror"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlerror</h2><p>xmlerror &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2716169"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -42,6 +42,32 @@
                                              ...);
 void        (<a href="libxml-xmlerror.html#xmlStructuredErrorFunc">*xmlStructuredErrorFunc</a>)       (void *userData,
                                              <a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> error);
+void        <a href="libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a>          (void *ctx,
+                                             <a href="libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler);
+void        <a href="libxml-xmlerror.html#initGenericErrorDefaultFunc">initGenericErrorDefaultFunc</a>     (<a href="libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> *handler);
+void        <a href="libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a>       (void *ctx,
+                                             <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler);
+void        <a href="libxml-xmlerror.html#xmlParserError">xmlParserError</a>                  (void *ctx,
+                                             const char *msg,
+                                             ...);
+void        <a href="libxml-xmlerror.html#xmlParserWarning">xmlParserWarning</a>                (void *ctx,
+                                             const char *msg,
+                                             ...);
+void        <a href="libxml-xmlerror.html#xmlParserValidityError">xmlParserValidityError</a>          (void *ctx,
+                                             const char *msg,
+                                             ...);
+void        <a href="libxml-xmlerror.html#xmlParserValidityWarning">xmlParserValidityWarning</a>        (void *ctx,
+                                             const char *msg,
+                                             ...);
+void        <a href="libxml-xmlerror.html#xmlParserPrintFileInfo">xmlParserPrintFileInfo</a>          (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
+void        <a href="libxml-xmlerror.html#xmlParserPrintFileContext">xmlParserPrintFileContext</a>       (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
+<a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> <a href="libxml-xmlerror.html#xmlGetLastError">xmlGetLastError</a>                 (void);
+void        <a href="libxml-xmlerror.html#xmlResetLastError">xmlResetLastError</a>               (void);
+<a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> <a href="libxml-xmlerror.html#xmlCtxtGetLastError">xmlCtxtGetLastError</a>             (void *ctx);
+void        <a href="libxml-xmlerror.html#xmlCtxtResetLastError">xmlCtxtResetLastError</a>           (void *ctx);
+void        <a href="libxml-xmlerror.html#xmlResetError">xmlResetError</a>                   (<a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> err);
+int         <a href="libxml-xmlerror.html#xmlCopyError">xmlCopyError</a>                    (<a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> from,
+                                             <a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> to);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlErrorLevel"></a>enum xmlErrorLevel</h3><pre class="programlisting">typedef enum {
@@ -606,4 +632,106 @@
 
 </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"><h3><a name="xmlSetGenericErrorFunc"></a>xmlSetGenericErrorFunc ()</h3><pre class="programlisting">void        xmlSetGenericErrorFunc          (void *ctx,
+                                             <a href="libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler);</pre><p>
+Function to reset the handler and the error context for out of
+context error messages.
+This simply means that <i><tt>handler</tt></i> will be called for subsequent
+error messages while not parsing nor validating. And <i><tt>ctx</tt></i> will
+be passed as first argument to <i><tt>handler</tt></i>
+One can simply force messages to be emitted to another FILE * than
+stderr by setting <i><tt>ctx</tt></i> to this file handle and <i><tt>handler</tt></i> to NULL.</p><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>  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"><h3><a name="initGenericErrorDefaultFunc"></a>initGenericErrorDefaultFunc ()</h3><pre class="programlisting">void        initGenericErrorDefaultFunc     (<a href="libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> *handler);</pre><p>
+Set or reset (if NULL) the default handler for generic errors
+to the builtin error function.</p><p>
+
+</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"><h3><a name="xmlSetStructuredErrorFunc"></a>xmlSetStructuredErrorFunc ()</h3><pre class="programlisting">void        xmlSetStructuredErrorFunc       (void *ctx,
+                                             <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler);</pre><p>
+Function to reset the handler and the error context for out of
+context structured error messages.
+This simply means that <i><tt>handler</tt></i> will be called for subsequent
+error messages while not parsing nor validating. And <i><tt>ctx</tt></i> will
+be passed as first argument to <i><tt>handler</tt></i></p><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>  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"><h3><a name="xmlParserError"></a>xmlParserError ()</h3><pre class="programlisting">void        xmlParserError                  (void *ctx,
+                                             const char *msg,
+                                             ...);</pre><p>
+This is an error that the XML (or HTML) parser can generate</p><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>msg</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParserWarning"></a>xmlParserWarning ()</h3><pre class="programlisting">void        xmlParserWarning                (void *ctx,
+                                             const char *msg,
+                                             ...);</pre><p>
+Display and format a warning messages, gives file, line, position and
+extra parameters.</p><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>  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"><h3><a name="xmlParserValidityError"></a>xmlParserValidityError ()</h3><pre class="programlisting">void        xmlParserValidityError          (void *ctx,
+                                             const char *msg,
+                                             ...);</pre><p>
+Display and format an validity error messages, gives file,
+line, position and extra parameters.</p><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>  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"><h3><a name="xmlParserValidityWarning"></a>xmlParserValidityWarning ()</h3><pre class="programlisting">void        xmlParserValidityWarning        (void *ctx,
+                                             const char *msg,
+                                             ...);</pre><p>
+Display and format a validity warning messages, gives file, line,
+position and extra parameters.</p><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>  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"><h3><a name="xmlParserPrintFileInfo"></a>xmlParserPrintFileInfo ()</h3><pre class="programlisting">void        xmlParserPrintFileInfo          (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);</pre><p>
+Displays the associated file and line informations for the current input</p><p>
+
+</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 xmlParserInputPtr input
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlParserPrintFileContext"></a>xmlParserPrintFileContext ()</h3><pre class="programlisting">void        xmlParserPrintFileContext       (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);</pre><p>
+Displays current context within the input content for error tracking</p><p>
+
+</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 xmlParserInputPtr input
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGetLastError"></a>xmlGetLastError ()</h3><pre class="programlisting"><a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> xmlGetLastError                 (void);</pre><p>
+Get the last global error registered. This is per thread if compiled
+with thread support.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>NULL if no error occured or a pointer to the error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlResetLastError"></a>xmlResetLastError ()</h3><pre class="programlisting">void        xmlResetLastError               (void);</pre><p>
+Cleanup the last global error registered. For parsing error
+this does not change the well-formedness result.</p><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlCtxtGetLastError"></a>xmlCtxtGetLastError ()</h3><pre class="programlisting"><a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> xmlCtxtGetLastError             (void *ctx);</pre><p>
+Get the last parsing error registered.</p><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>  an XML parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>NULL if no error occured or a pointer to the error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlCtxtResetLastError"></a>xmlCtxtResetLastError ()</h3><pre class="programlisting">void        xmlCtxtResetLastError           (void *ctx);</pre><p>
+Cleanup the last global error registered. For parsing error
+this does not change the well-formedness result.</p><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>  an XML parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlResetError"></a>xmlResetError ()</h3><pre class="programlisting">void        xmlResetError                   (<a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> err);</pre><p>
+Cleanup the error.</p><p>
+
+</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"><h3><a name="xmlCopyError"></a>xmlCopyError ()</h3><pre class="programlisting">int         xmlCopyError                    (<a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> from,
+                                             <a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> to);</pre><p>
+Save the original error to the new place.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success and -1 in case of error.
 </td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-c14n.html"><b>&lt;&lt; c14n</b></a></td><td align="right"><a accesskey="n" href="libxml-xmlwin32version.html"><b>xmlwin32version &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-xmlexports.html b/doc/html/libxml-xmlexports.html
index fc47cd5..cbe47c1 100644
--- a/doc/html/libxml-xmlexports.html
+++ b/doc/html/libxml-xmlexports.html
@@ -28,13 +28,12 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-globals.html" title="globals"><link rel="next" href="libxml-xinclude.html" title="xinclude"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-globals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-xinclude.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xmlexports"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlexports</h2><p>xmlexports &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2700265"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xmlunicode.html" title="xmlunicode"><link rel="next" href="libxml-xinclude.html" title="xinclude"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlunicode.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-xinclude.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xmlexports"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlexports</h2><p>xmlexports &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2678317"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
 #define     <a href="libxml-xmlexports.html#XMLPUBFUN-CAPS">XMLPUBFUN</a>
 #define     <a href="libxml-xmlexports.html#XMLPUBVAR-CAPS">XMLPUBVAR</a>
-#define     <a href="libxml-xmlexports.html#XMLCALL-CAPS">XMLCALL</a>
 #define     <a href="libxml-xmlwin32version.html#LIBXML-DLL-IMPORT-CAPS">LIBXML_DLL_IMPORT</a>
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
@@ -44,9 +43,6 @@
 </p></div><hr><div class="refsect2"><h3><a name="XMLPUBVAR-CAPS"></a>XMLPUBVAR</h3><pre class="programlisting">#define     XMLPUBVAR</pre><p>
 Macros which declare an exportable variable</p><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="XMLCALL-CAPS"></a>XMLCALL</h3><pre class="programlisting">#define     XMLCALL</pre><p>
-Macros which declare the called convention for exported functions</p><p>
-
 </p></div><hr><div class="refsect2"><h3><a name="LIBXML-DLL-IMPORT-CAPS"></a>LIBXML_DLL_IMPORT</h3><pre class="programlisting">#define     LIBXML_DLL_IMPORT</pre><p>
 Used on Windows (MS C compiler only) to declare a variable as 
 imported from the library. This macro should be empty when compiling
@@ -60,4 +56,4 @@
 purpose. The third macro, LIBXML_STATIC, must be defined by any client 
 code which links against libxml statically.</p><p>
 
-</p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-globals.html"><b>&lt;&lt; globals</b></a></td><td align="right"><a accesskey="n" href="libxml-xinclude.html"><b>xinclude &gt;&gt;</b></a></td></tr></table></body></html>
+</p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xmlunicode.html"><b>&lt;&lt; xmlunicode</b></a></td><td align="right"><a accesskey="n" href="libxml-xinclude.html"><b>xinclude &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-xmlmemory.html b/doc/html/libxml-xmlmemory.html
index 068568c..9e2fd5b 100644
--- a/doc/html/libxml-xmlmemory.html
+++ b/doc/html/libxml-xmlmemory.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xmlregexp.html" title="xmlregexp"><link rel="next" href="libxml-xmlIO.html" title="xmlIO"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlregexp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-xmlIO.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xmlmemory"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlmemory</h2><p>xmlmemory &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2620782"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xmlregexp.html" title="xmlregexp"><link rel="next" href="libxml-xmlIO.html" title="xmlIO"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlregexp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-xmlIO.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xmlmemory"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlmemory</h2><p>xmlmemory &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2645690"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -38,6 +38,48 @@
 void*       (<a href="libxml-xmlmemory.html#xmlReallocFunc">*xmlReallocFunc</a>)               (void *mem,
                                              <GTKDOCLINK HREF="size-t">size_t</GTKDOCLINK> size);
 char*       (<a href="libxml-xmlmemory.html#xmlStrdupFunc">*xmlStrdupFunc</a>)                (const char *str);
+int         <a href="libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a>                     (<a href="libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc,
+                                             <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc,
+                                             <a href="libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc,
+                                             <a href="libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> strdupFunc);
+int         <a href="libxml-xmlmemory.html#xmlMemGet">xmlMemGet</a>                       (<a href="libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> *freeFunc,
+                                             <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> *mallocFunc,
+                                             <a href="libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> *reallocFunc,
+                                             <a href="libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> *strdupFunc);
+int         <a href="libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a>                   (<a href="libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc,
+                                             <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc,
+                                             <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocAtomicFunc,
+                                             <a href="libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc,
+                                             <a href="libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> strdupFunc);
+int         <a href="libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a>                     (<a href="libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> *freeFunc,
+                                             <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> *mallocFunc,
+                                             <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> *mallocAtomicFunc,
+                                             <a href="libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> *reallocFunc,
+                                             <a href="libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> *strdupFunc);
+int         <a href="libxml-xmlmemory.html#xmlInitMemory">xmlInitMemory</a>                   (void);
+int         <a href="libxml-xmlmemory.html#xmlMemUsed">xmlMemUsed</a>                      (void);
+void        <a href="libxml-xmlmemory.html#xmlMemDisplay">xmlMemDisplay</a>                   (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *fp);
+void        <a href="libxml-xmlmemory.html#xmlMemShow">xmlMemShow</a>                      (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *fp,
+                                             int nr);
+void        <a href="libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a>                   (void);
+void*       <a href="libxml-xmlmemory.html#xmlMemMalloc">xmlMemMalloc</a>                    (<GTKDOCLINK HREF="size-t">size_t</GTKDOCLINK> size);
+void*       <a href="libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a>                   (void *ptr,
+                                             <GTKDOCLINK HREF="size-t">size_t</GTKDOCLINK> size);
+void        <a href="libxml-xmlmemory.html#xmlMemFree">xmlMemFree</a>                      (void *ptr);
+char*       <a href="libxml-xmlmemory.html#xmlMemoryStrdup">xmlMemoryStrdup</a>                 (const char *str);
+void*       <a href="libxml-xmlmemory.html#xmlMallocLoc">xmlMallocLoc</a>                    (<GTKDOCLINK HREF="size-t">size_t</GTKDOCLINK> size,
+                                             const char *file,
+                                             int line);
+void*       <a href="libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a>                   (void *ptr,
+                                             <GTKDOCLINK HREF="size-t">size_t</GTKDOCLINK> size,
+                                             const char *file,
+                                             int line);
+void*       <a href="libxml-xmlmemory.html#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a>              (<GTKDOCLINK HREF="size-t">size_t</GTKDOCLINK> size,
+                                             const char *file,
+                                             int line);
+char*       <a href="libxml-xmlmemory.html#xmlMemStrdupLoc">xmlMemStrdupLoc</a>                 (const char *str,
+                                             const char *file,
+                                             int line);
 #define     <a href="libxml-xmlmemory.html#xmlMalloc">xmlMalloc</a>                       (size)
 #define     <a href="libxml-xmlmemory.html#xmlMallocAtomic">xmlMallocAtomic</a>                 (size)
 #define     <a href="libxml-xmlmemory.html#xmlRealloc">xmlRealloc</a>                      (ptr, size)
@@ -70,6 +112,143 @@
 
 </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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the copy of the string or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlMemSetup"></a>xmlMemSetup ()</h3><pre class="programlisting">int         xmlMemSetup                     (<a href="libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc,
+                                             <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc,
+                                             <a href="libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc,
+                                             <a href="libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> strdupFunc);</pre><p>
+Override the default memory access functions with a new set
+This has to be called before any other libxml routines !
+</p><p>
+Should this be blocked if there was already some allocations
+done ?</p><p>
+
+</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 <GTKDOCLINK HREF="free">free</GTKDOCLINK>() function to use
+</td></tr><tr><td><span class="term"><i><tt>mallocFunc</tt></i>:</span></td><td> the <GTKDOCLINK HREF="malloc">malloc</GTKDOCLINK>() function to use
+</td></tr><tr><td><span class="term"><i><tt>reallocFunc</tt></i>:</span></td><td> the <GTKDOCLINK HREF="realloc">realloc</GTKDOCLINK>() function to use
+</td></tr><tr><td><span class="term"><i><tt>strdupFunc</tt></i>:</span></td><td> the <GTKDOCLINK HREF="strdup">strdup</GTKDOCLINK>() function to use
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 on success
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlMemGet"></a>xmlMemGet ()</h3><pre class="programlisting">int         xmlMemGet                       (<a href="libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> *freeFunc,
+                                             <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> *mallocFunc,
+                                             <a href="libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> *reallocFunc,
+                                             <a href="libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> *strdupFunc);</pre><p>
+Provides the memory access functions set currently in use</p><p>
+
+</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 <GTKDOCLINK HREF="free">free</GTKDOCLINK>() function in use
+</td></tr><tr><td><span class="term"><i><tt>mallocFunc</tt></i>:</span></td><td> place to save the <GTKDOCLINK HREF="malloc">malloc</GTKDOCLINK>() function in use
+</td></tr><tr><td><span class="term"><i><tt>reallocFunc</tt></i>:</span></td><td> place to save the <GTKDOCLINK HREF="realloc">realloc</GTKDOCLINK>() function in use
+</td></tr><tr><td><span class="term"><i><tt>strdupFunc</tt></i>:</span></td><td> place to save the <GTKDOCLINK HREF="strdup">strdup</GTKDOCLINK>() function in use
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 on success
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGcMemSetup"></a>xmlGcMemSetup ()</h3><pre class="programlisting">int         xmlGcMemSetup                   (<a href="libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc,
+                                             <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc,
+                                             <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocAtomicFunc,
+                                             <a href="libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc,
+                                             <a href="libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> strdupFunc);</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
+</p><p>
+Should this be blocked if there was already some allocations
+done ?</p><p>
+
+</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 <GTKDOCLINK HREF="free">free</GTKDOCLINK>() function to use
+</td></tr><tr><td><span class="term"><i><tt>mallocFunc</tt></i>:</span></td><td> the <GTKDOCLINK HREF="malloc">malloc</GTKDOCLINK>() function to use
+</td></tr><tr><td><span class="term"><i><tt>mallocAtomicFunc</tt></i>:</span></td><td> the <GTKDOCLINK HREF="malloc">malloc</GTKDOCLINK>() function to use for atomic allocations
+</td></tr><tr><td><span class="term"><i><tt>reallocFunc</tt></i>:</span></td><td> the <GTKDOCLINK HREF="realloc">realloc</GTKDOCLINK>() function to use
+</td></tr><tr><td><span class="term"><i><tt>strdupFunc</tt></i>:</span></td><td> the <GTKDOCLINK HREF="strdup">strdup</GTKDOCLINK>() function to use
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 on success
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlGcMemGet"></a>xmlGcMemGet ()</h3><pre class="programlisting">int         xmlGcMemGet                     (<a href="libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> *freeFunc,
+                                             <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> *mallocFunc,
+                                             <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> *mallocAtomicFunc,
+                                             <a href="libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> *reallocFunc,
+                                             <a href="libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> *strdupFunc);</pre><p>
+Provides the memory access functions set currently in use
+The mallocAtomicFunc is specialized for atomic block
+allocations (i.e. of areas  useful for garbage collected memory allocators</p><p>
+
+</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 <GTKDOCLINK HREF="free">free</GTKDOCLINK>() function in use
+</td></tr><tr><td><span class="term"><i><tt>mallocFunc</tt></i>:</span></td><td> place to save the <GTKDOCLINK HREF="malloc">malloc</GTKDOCLINK>() function in use
+</td></tr><tr><td><span class="term"><i><tt>mallocAtomicFunc</tt></i>:</span></td><td> place to save the atomic <GTKDOCLINK HREF="malloc">malloc</GTKDOCLINK>() function in use
+</td></tr><tr><td><span class="term"><i><tt>reallocFunc</tt></i>:</span></td><td> place to save the <GTKDOCLINK HREF="realloc">realloc</GTKDOCLINK>() function in use
+</td></tr><tr><td><span class="term"><i><tt>strdupFunc</tt></i>:</span></td><td> place to save the <GTKDOCLINK HREF="strdup">strdup</GTKDOCLINK>() function in use
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 on success
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlInitMemory"></a>xmlInitMemory ()</h3><pre class="programlisting">int         xmlInitMemory                   (void);</pre><p>
+Initialize the memory layer.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 on success
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlMemUsed"></a>xmlMemUsed ()</h3><pre class="programlisting">int         xmlMemUsed                      (void);</pre><p>
+Provides the amount of memory currently allocated</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>an int representing the amount of memory allocated.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlMemDisplay"></a>xmlMemDisplay ()</h3><pre class="programlisting">void        xmlMemDisplay                   (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *fp);</pre><p>
+show in-extenso the memory blocks allocated</p><p>
+
+</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"><h3><a name="xmlMemShow"></a>xmlMemShow ()</h3><pre class="programlisting">void        xmlMemShow                      (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *fp,
+                                             int nr);</pre><p>
+show a show display of the memory allocated, and dump
+the <i><tt>nr</tt></i> last allocated areas which were not freed</p><p>
+
+</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"><h3><a name="xmlMemoryDump"></a>xmlMemoryDump ()</h3><pre class="programlisting">void        xmlMemoryDump                   (void);</pre><p>
+Dump in-extenso the memory blocks allocated to the file .memorylist</p><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlMemMalloc"></a>xmlMemMalloc ()</h3><pre class="programlisting">void*       xmlMemMalloc                    (<GTKDOCLINK HREF="size-t">size_t</GTKDOCLINK> size);</pre><p>
+a <GTKDOCLINK HREF="malloc">malloc</GTKDOCLINK>() equivalent, with logging of the allocation info.</p><p>
+
+</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></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlMemRealloc"></a>xmlMemRealloc ()</h3><pre class="programlisting">void*       xmlMemRealloc                   (void *ptr,
+                                             <GTKDOCLINK HREF="size-t">size_t</GTKDOCLINK> size);</pre><p>
+a <GTKDOCLINK HREF="realloc">realloc</GTKDOCLINK>() equivalent, with logging of the allocation info.</p><p>
+
+</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></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlMemFree"></a>xmlMemFree ()</h3><pre class="programlisting">void        xmlMemFree                      (void *ptr);</pre><p>
+a <GTKDOCLINK HREF="free">free</GTKDOCLINK>() equivalent, with error checking.</p><p>
+
+</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"><h3><a name="xmlMemoryStrdup"></a>xmlMemoryStrdup ()</h3><pre class="programlisting">char*       xmlMemoryStrdup                 (const char *str);</pre><p>
+a <GTKDOCLINK HREF="strdup">strdup</GTKDOCLINK>() equivalent, with logging of the allocation info.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlMallocLoc"></a>xmlMallocLoc ()</h3><pre class="programlisting">void*       xmlMallocLoc                    (<GTKDOCLINK HREF="size-t">size_t</GTKDOCLINK> size,
+                                             const char *file,
+                                             int line);</pre><p>
+a <GTKDOCLINK HREF="malloc">malloc</GTKDOCLINK>() equivalent, with logging of the allocation info.</p><p>
+
+</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></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlReallocLoc"></a>xmlReallocLoc ()</h3><pre class="programlisting">void*       xmlReallocLoc                   (void *ptr,
+                                             <GTKDOCLINK HREF="size-t">size_t</GTKDOCLINK> size,
+                                             const char *file,
+                                             int line);</pre><p>
+a <GTKDOCLINK HREF="realloc">realloc</GTKDOCLINK>() equivalent, with logging of the allocation info.</p><p>
+
+</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></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlMallocAtomicLoc"></a>xmlMallocAtomicLoc ()</h3><pre class="programlisting">void*       xmlMallocAtomicLoc              (<GTKDOCLINK HREF="size-t">size_t</GTKDOCLINK> size,
+                                             const char *file,
+                                             int line);</pre><p>
+a <GTKDOCLINK HREF="malloc">malloc</GTKDOCLINK>() equivalent, with logging of the allocation info.</p><p>
+
+</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></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlMemStrdupLoc"></a>xmlMemStrdupLoc ()</h3><pre class="programlisting">char*       xmlMemStrdupLoc                 (const char *str,
+                                             const char *file,
+                                             int line);</pre><p>
+a <GTKDOCLINK HREF="strdup">strdup</GTKDOCLINK>() equivalent, with logging of the allocation info.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlMalloc"></a>xmlMalloc()</h3><pre class="programlisting">#define     xmlMalloc(size)</pre><p>
 Wrapper for the <GTKDOCLINK HREF="malloc">malloc</GTKDOCLINK>() function used in the XML library.</p><p>
 
@@ -85,7 +264,7 @@
 </p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ptr</tt></i>:</span></td><td>  pointer to the existing allocated area
 </td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>  number of bytes to allocate
 </td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlMemStrdup"></a>xmlMemStrdup()</h3><pre class="programlisting">#define     xmlMemStrdup(str)</pre><p>
-Wrapper for the <GTKDOCLINK HREF="strdup">strdup</GTKDOCLINK>() function, <GTKDOCLINK HREF="xmlStrdup">xmlStrdup</GTKDOCLINK>() is usually preferred.</p><p>
+Wrapper for the <GTKDOCLINK HREF="strdup">strdup</GTKDOCLINK>() function, <a href="libxml-parser.html#xmlStrdup">xmlStrdup</a>() is usually preferred.</p><p>
 
 </p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>  pointer to the existing string
 </td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xmlregexp.html"><b>&lt;&lt; xmlregexp</b></a></td><td align="right"><a accesskey="n" href="libxml-xmlIO.html"><b>xmlIO &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-xmlreader.html b/doc/html/libxml-xmlreader.html
index 4a49195..afc58c3 100644
--- a/doc/html/libxml-xmlreader.html
+++ b/doc/html/libxml-xmlreader.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xinclude.html" title="xinclude"><link rel="next" href="libxml-debugXML.html" title="debugXML"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xinclude.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-debugXML.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xmlreader"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlreader</h2><p>xmlreader &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2664017"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xinclude.html" title="xinclude"><link rel="next" href="libxml-debugXML.html" title="debugXML"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xinclude.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-debugXML.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xmlreader"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlreader</h2><p>xmlreader &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2588680"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -37,11 +37,147 @@
 enum        <a href="libxml-xmlreader.html#xmlReaderTypes">xmlReaderTypes</a>;
 struct      <a href="libxml-xmlreader.html#xmlTextReader">xmlTextReader</a>;
 typedef     <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>;
+<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> <a href="libxml-xmlreader.html#xmlNewTextReader">xmlNewTextReader</a>           (<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input,
+                                             const char *URI);
+<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> <a href="libxml-xmlreader.html#xmlNewTextReaderFilename">xmlNewTextReaderFilename</a>   (const char *URI);
+void        <a href="libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a>               (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int         <a href="libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a>               (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xmlreader.html#xmlTextReaderReadInnerXml">xmlTextReaderReadInnerXml</a>       (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xmlreader.html#xmlTextReaderReadOuterXml">xmlTextReaderReadOuterXml</a>       (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xmlreader.html#xmlTextReaderReadString">xmlTextReaderReadString</a>         (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int         <a href="libxml-xmlreader.html#xmlTextReaderReadAttributeValue">xmlTextReaderReadAttributeValue</a> (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int         <a href="libxml-xmlreader.html#xmlTextReaderAttributeCount">xmlTextReaderAttributeCount</a>     (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int         <a href="libxml-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a>              (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int         <a href="libxml-xmlreader.html#xmlTextReaderHasAttributes">xmlTextReaderHasAttributes</a>      (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int         <a href="libxml-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a>           (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int         <a href="libxml-xmlreader.html#xmlTextReaderIsDefault">xmlTextReaderIsDefault</a>          (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int         <a href="libxml-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a>     (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int         <a href="libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a>           (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int         <a href="libxml-xmlreader.html#xmlTextReaderQuoteChar">xmlTextReaderQuoteChar</a>          (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int         <a href="libxml-xmlreader.html#xmlTextReaderReadState">xmlTextReaderReadState</a>          (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-xmlreader.html#xmlTextReaderConstBaseUri">xmlTextReaderConstBaseUri</a>    (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-xmlreader.html#xmlTextReaderConstLocalName">xmlTextReaderConstLocalName</a>  (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a>       (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-xmlreader.html#xmlTextReaderConstNamespaceUri">xmlTextReaderConstNamespaceUri</a>
+                                            (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-xmlreader.html#xmlTextReaderConstPrefix">xmlTextReaderConstPrefix</a>     (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-xmlreader.html#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a>    (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a>     (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a>      (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xmlreader.html#xmlTextReaderBaseUri">xmlTextReaderBaseUri</a>            (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xmlreader.html#xmlTextReaderLocalName">xmlTextReaderLocalName</a>          (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xmlreader.html#xmlTextReaderName">xmlTextReaderName</a>               (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xmlreader.html#xmlTextReaderNamespaceUri">xmlTextReaderNamespaceUri</a>       (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xmlreader.html#xmlTextReaderPrefix">xmlTextReaderPrefix</a>             (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xmlreader.html#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a>            (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xmlreader.html#xmlTextReaderValue">xmlTextReaderValue</a>              (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int         <a href="libxml-xmlreader.html#xmlTextReaderClose">xmlTextReaderClose</a>              (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xmlreader.html#xmlTextReaderGetAttributeNo">xmlTextReaderGetAttributeNo</a>     (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             int no);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xmlreader.html#xmlTextReaderGetAttribute">xmlTextReaderGetAttribute</a>       (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xmlreader.html#xmlTextReaderGetAttributeNs">xmlTextReaderGetAttributeNs</a>     (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *localName,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *namespaceURI);
+<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a>
+                                            (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a>    (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);
+int         <a href="libxml-xmlreader.html#xmlTextReaderMoveToAttributeNo">xmlTextReaderMoveToAttributeNo</a>  (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             int no);
+int         <a href="libxml-xmlreader.html#xmlTextReaderMoveToAttribute">xmlTextReaderMoveToAttribute</a>    (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+int         <a href="libxml-xmlreader.html#xmlTextReaderMoveToAttributeNs">xmlTextReaderMoveToAttributeNs</a>  (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *localName,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *namespaceURI);
+int         <a href="libxml-xmlreader.html#xmlTextReaderMoveToFirstAttribute">xmlTextReaderMoveToFirstAttribute</a>
+                                            (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int         <a href="libxml-xmlreader.html#xmlTextReaderMoveToNextAttribute">xmlTextReaderMoveToNextAttribute</a>
+                                            (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int         <a href="libxml-xmlreader.html#xmlTextReaderMoveToElement">xmlTextReaderMoveToElement</a>      (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int         <a href="libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a>      (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int         <a href="libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a>      (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             int prop,
+                                             int value);
+int         <a href="libxml-xmlreader.html#xmlTextReaderGetParserProp">xmlTextReaderGetParserProp</a>      (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             int prop);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a>        (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xmlreader.html#xmlTextReaderPreserve">xmlTextReaderPreserve</a>           (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   <a href="libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a>         (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xmlreader.html#xmlTextReaderExpand">xmlTextReaderExpand</a>             (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int         <a href="libxml-xmlreader.html#xmlTextReaderNext">xmlTextReaderNext</a>               (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int         <a href="libxml-xmlreader.html#xmlTextReaderNextSibling">xmlTextReaderNextSibling</a>        (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int         <a href="libxml-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a>            (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
+int         <a href="libxml-xmlreader.html#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a>    (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             const char *rng);
+int         <a href="libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a>   (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             <a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
+<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> <a href="libxml-xmlreader.html#xmlReaderWalker">xmlReaderWalker</a>            (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> <a href="libxml-xmlreader.html#xmlReaderForDoc">xmlReaderForDoc</a>            (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);
+<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> <a href="libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a>           (const char *filename,
+                                             const char *encoding,
+                                             int options);
+<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> <a href="libxml-xmlreader.html#xmlReaderForMemory">xmlReaderForMemory</a>         (const char *buffer,
+                                             int size,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);
+<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> <a href="libxml-xmlreader.html#xmlReaderForFd">xmlReaderForFd</a>             (int fd,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);
+<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> <a href="libxml-xmlreader.html#xmlReaderForIO">xmlReaderForIO</a>             (<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
+                                             <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
+                                             void *ioctx,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);
+int         <a href="libxml-xmlreader.html#xmlReaderNewWalker">xmlReaderNewWalker</a>              (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+int         <a href="libxml-xmlreader.html#xmlReaderNewDoc">xmlReaderNewDoc</a>                 (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);
+int         <a href="libxml-xmlreader.html#xmlReaderNewFile">xmlReaderNewFile</a>                (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             const char *filename,
+                                             const char *encoding,
+                                             int options);
+int         <a href="libxml-xmlreader.html#xmlReaderNewMemory">xmlReaderNewMemory</a>              (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             const char *buffer,
+                                             int size,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);
+int         <a href="libxml-xmlreader.html#xmlReaderNewFd">xmlReaderNewFd</a>                  (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             int fd,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);
+int         <a href="libxml-xmlreader.html#xmlReaderNewIO">xmlReaderNewIO</a>                  (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
+                                             <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
+                                             void *ioctx,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);
 typedef     <a href="libxml-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a>;
 void        (<a href="libxml-xmlreader.html#xmlTextReaderErrorFunc">*xmlTextReaderErrorFunc</a>)       (void *arg,
                                              const char *msg,
                                              <a href="libxml-xmlreader.html#xmlParserSeverities">xmlParserSeverities</a> severity,
                                              <a href="libxml-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator);
+int         <a href="libxml-xmlreader.html#xmlTextReaderLocatorLineNumber">xmlTextReaderLocatorLineNumber</a>  (<a href="libxml-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xmlreader.html#xmlTextReaderLocatorBaseURI">xmlTextReaderLocatorBaseURI</a>     (<a href="libxml-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator);
+void        <a href="libxml-xmlreader.html#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a>    (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             <a href="libxml-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> f,
+                                             void *arg);
+void        <a href="libxml-xmlreader.html#xmlTextReaderGetErrorHandler">xmlTextReaderGetErrorHandler</a>    (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             <a href="libxml-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> *f,
+                                             void **arg);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlParserProperties"></a>enum xmlParserProperties</h3><pre class="programlisting">typedef enum {
@@ -87,7 +223,542 @@
 </p></div><hr><div class="refsect2"><h3><a name="xmlTextReaderPtr"></a>xmlTextReaderPtr</h3><pre class="programlisting">typedef xmlTextReader *xmlTextReaderPtr;
 </pre><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="xmlTextReaderLocatorPtr"></a>xmlTextReaderLocatorPtr</h3><pre class="programlisting">typedef void *  xmlTextReaderLocatorPtr;
+</p></div><hr><div class="refsect2"><h3><a name="xmlNewTextReader"></a>xmlNewTextReader ()</h3><pre class="programlisting"><a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> xmlNewTextReader           (<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input,
+                                             const char *URI);</pre><p>
+Create an xmlTextReader structure fed with <i><tt>input</tt></i></p><p>
+
+</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 xmlParserInputBufferPtr 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new xmlTextReaderPtr or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewTextReaderFilename"></a>xmlNewTextReaderFilename ()</h3><pre class="programlisting"><a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> xmlNewTextReaderFilename   (const char *URI);</pre><p>
+Create an xmlTextReader structure fed with the resource at <i><tt>URI</tt></i></p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new xmlTextReaderPtr or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFreeTextReader"></a>xmlFreeTextReader ()</h3><pre class="programlisting">void        xmlFreeTextReader               (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+Deallocate all the resources associated to the reader</p><p>
+
+</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 xmlTextReaderPtr
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderRead"></a>xmlTextReaderRead ()</h3><pre class="programlisting">int         xmlTextReaderRead               (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+Moves the position of the current instance to the next node in
+ the stream, exposing its properties.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderReadInnerXml"></a>xmlTextReaderReadInnerXml ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlTextReaderReadInnerXml       (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+Reads the contents of the current node, including child nodes and markup.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderReadOuterXml"></a>xmlTextReaderReadOuterXml ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlTextReaderReadOuterXml       (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+Reads the contents of the current node, including child nodes and markup.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderReadString"></a>xmlTextReaderReadString ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlTextReaderReadString         (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+Reads the contents of an element or a text node as a string.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderReadAttributeValue"></a>xmlTextReaderReadAttributeValue ()</h3><pre class="programlisting">int         xmlTextReaderReadAttributeValue (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+Parses an attribute value into one or more Text and EntityReference nodes.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 in case of success, 0 if the reader was not positionned on an
+        ttribute node or all the attribute values have been read, or -1
+        in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderAttributeCount"></a>xmlTextReaderAttributeCount ()</h3><pre class="programlisting">int         xmlTextReaderAttributeCount     (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+Provides the number of attributes of the current node</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 i no attributes, -1 in case of error or the attribute count
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderDepth"></a>xmlTextReaderDepth ()</h3><pre class="programlisting">int         xmlTextReaderDepth              (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+The depth of the node in the tree.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the depth or -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderHasAttributes"></a>xmlTextReaderHasAttributes ()</h3><pre class="programlisting">int         xmlTextReaderHasAttributes      (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+Whether the node has attributes.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderHasValue"></a>xmlTextReaderHasValue ()</h3><pre class="programlisting">int         xmlTextReaderHasValue           (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+Whether the node can have a text value.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderIsDefault"></a>xmlTextReaderIsDefault ()</h3><pre class="programlisting">int         xmlTextReaderIsDefault          (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+Whether an Attribute  node was generated from the default value
+defined in the DTD or schema.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderIsEmptyElement"></a>xmlTextReaderIsEmptyElement ()</h3><pre class="programlisting">int         xmlTextReaderIsEmptyElement     (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+Check if the current node is empty</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderNodeType"></a>xmlTextReaderNodeType ()</h3><pre class="programlisting">int         xmlTextReaderNodeType           (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+Get the node type of the current node
+Reference:
+http://dotgnu.org/pnetlib-doc/System/Xml/XmlNodeType.html</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlNodeType of the current node or -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderQuoteChar"></a>xmlTextReaderQuoteChar ()</h3><pre class="programlisting">int         xmlTextReaderQuoteChar          (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+The quotation mark character used to enclose the value of an attribute.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>" or ' and -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderReadState"></a>xmlTextReaderReadState ()</h3><pre class="programlisting">int         xmlTextReaderReadState          (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+Gets the read state of the reader.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the state value, or -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderConstBaseUri"></a>xmlTextReaderConstBaseUri ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlTextReaderConstBaseUri    (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+The base URI of the node.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderConstLocalName"></a>xmlTextReaderConstLocalName ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlTextReaderConstLocalName  (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+The local name of the node.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderConstName"></a>xmlTextReaderConstName ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlTextReaderConstName       (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+The qualified name of the node, equal to Prefix :LocalName.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderConstNamespaceUri"></a>xmlTextReaderConstNamespaceUri ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlTextReaderConstNamespaceUri
+                                            (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+The URI defining the namespace associated with the node.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderConstPrefix"></a>xmlTextReaderConstPrefix ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlTextReaderConstPrefix     (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+A shorthand reference to the namespace associated with the node.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderConstXmlLang"></a>xmlTextReaderConstXmlLang ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlTextReaderConstXmlLang    (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+The xml:lang scope within which the node resides.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xml:lang value or NULL if none exists.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderConstString"></a>xmlTextReaderConstString ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlTextReaderConstString     (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);</pre><p>
+Get an interned string from the reader, allows for example to
+speedup string name comparisons</p><p>
+
+</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 xmlTextReaderPtr 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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderConstValue"></a>xmlTextReaderConstValue ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlTextReaderConstValue      (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+Provides the text value of the node if present</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the string or NULL if not available. The result will be
+    deallocated on the next <GTKDOCLINK HREF="Read">Read</GTKDOCLINK>() operation.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderBaseUri"></a>xmlTextReaderBaseUri ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlTextReaderBaseUri            (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+The base URI of the node.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the base URI or NULL if not available
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderLocalName"></a>xmlTextReaderLocalName ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlTextReaderLocalName          (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+The local name of the node.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the local name or NULL if not available
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderName"></a>xmlTextReaderName ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlTextReaderName               (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+The qualified name of the node, equal to Prefix :LocalName.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the local name or NULL if not available
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderNamespaceUri"></a>xmlTextReaderNamespaceUri ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlTextReaderNamespaceUri       (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+The URI defining the namespace associated with the node.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the namespace URI or NULL if not available
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderPrefix"></a>xmlTextReaderPrefix ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlTextReaderPrefix             (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+A shorthand reference to the namespace associated with the node.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the prefix or NULL if not available
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderXmlLang"></a>xmlTextReaderXmlLang ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlTextReaderXmlLang            (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+The xml:lang scope within which the node resides.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xml:lang value or NULL if none exists.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderValue"></a>xmlTextReaderValue ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlTextReaderValue              (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+Provides the text value of the node if present</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the string or NULL if not available. The retsult must be deallocated
+    with <a href="libxml-globals.html#xmlFree">xmlFree</a>()
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderClose"></a>xmlTextReaderClose ()</h3><pre class="programlisting">int         xmlTextReaderClose              (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+This method releases any resources allocated by the current instance
+changes the state to Closed and close any underlying input.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 or -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderGetAttributeNo"></a>xmlTextReaderGetAttributeNo ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlTextReaderGetAttributeNo     (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             int no);</pre><p>
+Provides the value of the attribute with the specified index relative
+to the containing element.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><i><tt>no</tt></i>:</span></td><td> the zero-based index of the attribute relative to the containing element
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderGetAttribute"></a>xmlTextReaderGetAttribute ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlTextReaderGetAttribute       (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Provides the value of the attribute with the specified qualified name.</p><p>
+
+</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 xmlTextReaderPtr 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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderGetAttributeNs"></a>xmlTextReaderGetAttributeNs ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlTextReaderGetAttributeNs     (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *localName,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *namespaceURI);</pre><p>
+Provides the value of the specified attribute</p><p>
+
+</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 xmlTextReaderPtr 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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderGetRemainder"></a>xmlTextReaderGetRemainder ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> xmlTextReaderGetRemainder
+                                            (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</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.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlParserInputBufferPtr attached to the XML or NULL
+   in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderLookupNamespace"></a>xmlTextReaderLookupNamespace ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlTextReaderLookupNamespace    (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);</pre><p>
+Resolves a namespace prefix in the scope of the current element.</p><p>
+
+</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 xmlTextReaderPtr 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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderMoveToAttributeNo"></a>xmlTextReaderMoveToAttributeNo ()</h3><pre class="programlisting">int         xmlTextReaderMoveToAttributeNo  (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             int no);</pre><p>
+Moves the position of the current instance to the attribute with
+the specified index relative to the containing element.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><i><tt>no</tt></i>:</span></td><td> the zero-based index of the attribute relative to the containing
+     element.
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderMoveToAttribute"></a>xmlTextReaderMoveToAttribute ()</h3><pre class="programlisting">int         xmlTextReaderMoveToAttribute    (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Moves the position of the current instance to the attribute with
+the specified qualified name.</p><p>
+
+</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 xmlTextReaderPtr 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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderMoveToAttributeNs"></a>xmlTextReaderMoveToAttributeNs ()</h3><pre class="programlisting">int         xmlTextReaderMoveToAttributeNs  (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *localName,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *namespaceURI);</pre><p>
+Moves the position of the current instance to the attribute with the
+specified local name and namespace URI.</p><p>
+
+</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 xmlTextReaderPtr 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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderMoveToFirstAttribute"></a>xmlTextReaderMoveToFirstAttribute ()</h3><pre class="programlisting">int         xmlTextReaderMoveToFirstAttribute
+                                            (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+Moves the position of the current instance to the first attribute
+associated with the current node.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderMoveToNextAttribute"></a>xmlTextReaderMoveToNextAttribute ()</h3><pre class="programlisting">int         xmlTextReaderMoveToNextAttribute
+                                            (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+Moves the position of the current instance to the next attribute
+associated with the current node.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderMoveToElement"></a>xmlTextReaderMoveToElement ()</h3><pre class="programlisting">int         xmlTextReaderMoveToElement      (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+Moves the position of the current instance to the node that
+contains the current Attribute  node.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderNormalization"></a>xmlTextReaderNormalization ()</h3><pre class="programlisting">int         xmlTextReaderNormalization      (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+The value indicating whether to normalize white space and attribute values.
+Since attribute value and end of line normalizations are a MUST in the XML
+specification only the value true is accepted. The broken bahaviour of
+accepting out of range character entities like &amp;<GTKDOCLINK HREF="0-CAPS">0</GTKDOCLINK>; is of course not
+supported either.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 or -1 in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderSetParserProp"></a>xmlTextReaderSetParserProp ()</h3><pre class="programlisting">int         xmlTextReaderSetParserProp      (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             int prop,
+                                             int value);</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><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><i><tt>prop</tt></i>:</span></td><td>  the xmlParserProperties 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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderGetParserProp"></a>xmlTextReaderGetParserProp ()</h3><pre class="programlisting">int         xmlTextReaderGetParserProp      (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             int prop);</pre><p>
+Read the parser internal property.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><i><tt>prop</tt></i>:</span></td><td>  the xmlParserProperties to get
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderCurrentNode"></a>xmlTextReaderCurrentNode ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlTextReaderCurrentNode        (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+Hacking interface allowing to get the xmlNodePtr correponding to the
+current node being accessed by the xmlTextReader. This is dangerous
+because the underlying node may be destroyed on the next Reads.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlNodePtr or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderPreserve"></a>xmlTextReaderPreserve ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlTextReaderPreserve           (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+current node being accessed by the xmlTextReader. This is dangerous
+because the underlying node may be destroyed on the next Reads.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlNodePtr or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderCurrentDoc"></a>xmlTextReaderCurrentDoc ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   xmlTextReaderCurrentDoc         (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+Hacking interface allowing to get the xmlDocPtr correponding to the
+current document being accessed by the xmlTextReader. This is dangerous
+because the associated node may be destroyed on the next Reads.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlDocPtr or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderExpand"></a>xmlTextReaderExpand ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlTextReaderExpand             (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+Reads the contents of the current node and the full subtree. It then makes
+the subtree available until the next <a href="libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a>() call</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a node pointer valid until the next <a href="libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a>() call
+        or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderNext"></a>xmlTextReaderNext ()</h3><pre class="programlisting">int         xmlTextReaderNext               (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+Skip to the node following the current one in document order while
+avoiding the subtree if any.</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderNextSibling"></a>xmlTextReaderNextSibling ()</h3><pre class="programlisting">int         xmlTextReaderNextSibling        (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderIsValid"></a>xmlTextReaderIsValid ()</h3><pre class="programlisting">int         xmlTextReaderIsValid            (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);</pre><p>
+Retrieve the validity status from the parser context</p><p>
+
+</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 xmlTextReaderPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextReaderRelaxNGValidate"></a>xmlTextReaderRelaxNGValidate ()</h3><pre class="programlisting">int         xmlTextReaderRelaxNGValidate    (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             const char *rng);</pre><p>
+Use RelaxNG to validate the document as it is processed.
+Activation is only possible before the first <GTKDOCLINK HREF="Read">Read</GTKDOCLINK>().
+if <i><tt>rng</tt></i> is NULL, then RelaxNG validation is desactivated.</p><p>
+
+</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 xmlTextReaderPtr 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case the RelaxNG validation could be (des)activated and
+        -1 in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderRelaxNGSetSchema"></a>xmlTextReaderRelaxNGSetSchema ()</h3><pre class="programlisting">int         xmlTextReaderRelaxNGSetSchema   (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             <a href="libxml-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);</pre><p>
+Use RelaxNG to validate the document as it is processed.
+Activation is only possible before the first <GTKDOCLINK HREF="Read">Read</GTKDOCLINK>().
+if <i><tt>schema</tt></i> is NULL, then RelaxNG validation is desactivated.
+ @ The <i><tt>schema</tt></i> should not be freed until the reader is deallocated
+or its use has been deactivated.</p><p>
+
+</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 xmlTextReaderPtr 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case the RelaxNG validation could be (des)activated and
+        -1 in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlReaderWalker"></a>xmlReaderWalker ()</h3><pre class="programlisting"><a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> xmlReaderWalker            (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
+Create an xmltextReader for a preparsed document.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  a preparsed document
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new reader or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlReaderForDoc"></a>xmlReaderForDoc ()</h3><pre class="programlisting"><a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> xmlReaderForDoc            (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+Create an xmltextReader for an XML in-memory document.
+The parsing flags <i><tt>options</tt></i> are a combination of xmlParserOption(s).</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  a pointer to a zero terminated string
+</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the base URL to use for the document
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
+</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of xmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new reader or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlReaderForFile"></a>xmlReaderForFile ()</h3><pre class="programlisting"><a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> xmlReaderForFile           (const char *filename,
+                                             const char *encoding,
+                                             int options);</pre><p>
+parse an XML file from the filesystem or the network.
+The parsing flags <i><tt>options</tt></i> are a combination of xmlParserOption(s).</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  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 xmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new reader or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlReaderForMemory"></a>xmlReaderForMemory ()</h3><pre class="programlisting"><a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> xmlReaderForMemory         (const char *buffer,
+                                             int size,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+Create an xmltextReader for an XML in-memory document.
+The parsing flags <i><tt>options</tt></i> are a combination of xmlParserOption(s).</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>  a pointer to a char array
+</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>  the size of the array
+</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the base URL to use for the document
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
+</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of xmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new reader or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlReaderForFd"></a>xmlReaderForFd ()</h3><pre class="programlisting"><a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> xmlReaderForFd             (int fd,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+Create an xmltextReader for an XML from a file descriptor.
+The parsing flags <i><tt>options</tt></i> are a combination of xmlParserOption(s).</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>fd</tt></i>:</span></td><td>  an open file descriptor
+</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the base URL to use for the document
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
+</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of xmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new reader or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlReaderForIO"></a>xmlReaderForIO ()</h3><pre class="programlisting"><a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> xmlReaderForIO             (<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
+                                             <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
+                                             void *ioctx,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+Create an xmltextReader for an XML document from I/O functions and source.
+The parsing flags <i><tt>options</tt></i> are a combination of xmlParserOption(s).</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>  an I/O read function
+</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>  an I/O close function
+</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>  an I/O handler
+</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the base URL to use for the document
+</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
+</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of xmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new reader or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlReaderNewWalker"></a>xmlReaderNewWalker ()</h3><pre class="programlisting">int         xmlReaderNewWalker              (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
+Setup an xmltextReader to parse a preparsed XML document.
+This reuses the existing <i><tt>reader</tt></i> xmlTextReader.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success and -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlReaderNewDoc"></a>xmlReaderNewDoc ()</h3><pre class="programlisting">int         xmlReaderNewDoc                 (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+Setup an xmltextReader to parse an XML in-memory document.
+The parsing flags <i><tt>options</tt></i> are a combination of xmlParserOption(s).
+This reuses the existing <i><tt>reader</tt></i> xmlTextReader.</p><p>
+
+</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 xmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success and -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlReaderNewFile"></a>xmlReaderNewFile ()</h3><pre class="programlisting">int         xmlReaderNewFile                (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             const char *filename,
+                                             const char *encoding,
+                                             int options);</pre><p>
+parse an XML file from the filesystem or the network.
+The parsing flags <i><tt>options</tt></i> are a combination of xmlParserOption(s).
+This reuses the existing <i><tt>reader</tt></i> xmlTextReader.</p><p>
+
+</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 xmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success and -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlReaderNewMemory"></a>xmlReaderNewMemory ()</h3><pre class="programlisting">int         xmlReaderNewMemory              (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             const char *buffer,
+                                             int size,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+Setup an xmltextReader to parse an XML in-memory document.
+The parsing flags <i><tt>options</tt></i> are a combination of xmlParserOption(s).
+This reuses the existing <i><tt>reader</tt></i> xmlTextReader.</p><p>
+
+</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 xmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success and -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlReaderNewFd"></a>xmlReaderNewFd ()</h3><pre class="programlisting">int         xmlReaderNewFd                  (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             int fd,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+Setup an xmltextReader to parse an XML from a file descriptor.
+The parsing flags <i><tt>options</tt></i> are a combination of xmlParserOption(s).
+This reuses the existing <i><tt>reader</tt></i> xmlTextReader.</p><p>
+
+</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 xmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success and -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlReaderNewIO"></a>xmlReaderNewIO ()</h3><pre class="programlisting">int         xmlReaderNewIO                  (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
+                                             <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
+                                             void *ioctx,
+                                             const char *URL,
+                                             const char *encoding,
+                                             int options);</pre><p>
+Setup an xmltextReader to parse an XML document from I/O functions
+and source.
+The parsing flags <i><tt>options</tt></i> are a combination of xmlParserOption(s).
+This reuses the existing <i><tt>reader</tt></i> xmlTextReader.</p><p>
+
+</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 xmlParserOption(s)
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success and -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderLocatorPtr"></a>xmlTextReaderLocatorPtr</h3><pre class="programlisting">typedef void *  xmlTextReaderLocatorPtr;
 </pre><p>
 
 </p></div><hr><div class="refsect2"><h3><a name="xmlTextReaderErrorFunc"></a>xmlTextReaderErrorFunc ()</h3><pre class="programlisting">void        (*xmlTextReaderErrorFunc)       (void *arg,
@@ -101,4 +772,32 @@
 </td></tr><tr><td><span class="term"><i><tt>locator</tt></i>:</span></td><td>
 
 
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderLocatorLineNumber"></a>xmlTextReaderLocatorLineNumber ()</h3><pre class="programlisting">int         xmlTextReaderLocatorLineNumber  (<a href="libxml-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator);</pre><p>
+Obtain the line number for the given locator.</p><p>
+
+</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 xmlTextReaderLocatorPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the line number or -1 in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderLocatorBaseURI"></a>xmlTextReaderLocatorBaseURI ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlTextReaderLocatorBaseURI     (<a href="libxml-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator);</pre><p>
+Obtain the base URI for the given locator.</p><p>
+
+</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 xmlTextReaderLocatorPtr used
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the base URI or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextReaderSetErrorHandler"></a>xmlTextReaderSetErrorHandler ()</h3><pre class="programlisting">void        xmlTextReaderSetErrorHandler    (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             <a href="libxml-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> f,
+                                             void *arg);</pre><p>
+Register a callback function that will be called on error and warnings.
+</p><p>
+If <i><tt>f</tt></i> is NULL, the default error and warning handlers are restored.</p><p>
+
+</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 xmlTextReaderPtr 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"><h3><a name="xmlTextReaderGetErrorHandler"></a>xmlTextReaderGetErrorHandler ()</h3><pre class="programlisting">void        xmlTextReaderGetErrorHandler    (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader,
+                                             <a href="libxml-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> *f,
+                                             void **arg);</pre><p>
+Retrieve the error callback function and user argument.</p><p>
+
+</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 xmlTextReaderPtr 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></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xinclude.html"><b>&lt;&lt; xinclude</b></a></td><td align="right"><a accesskey="n" href="libxml-debugXML.html"><b>debugXML &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-xmlregexp.html b/doc/html/libxml-xmlregexp.html
index 6b85899..75eee44 100644
--- a/doc/html/libxml-xmlregexp.html
+++ b/doc/html/libxml-xmlregexp.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-encoding.html" title="encoding"><link rel="next" href="libxml-xmlmemory.html" title="xmlmemory"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-encoding.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-xmlmemory.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xmlregexp"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlregexp</h2><p>xmlregexp &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2645489"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-encoding.html" title="encoding"><link rel="next" href="libxml-xmlmemory.html" title="xmlmemory"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-encoding.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-xmlmemory.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xmlregexp"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlregexp</h2><p>xmlregexp &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2622339"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -36,10 +36,28 @@
 typedef     <a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>;
 struct      <a href="libxml-xmlregexp.html#xmlRegExecCtxt">xmlRegExecCtxt</a>;
 typedef     <a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>;
+<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> <a href="libxml-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a>               (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *regexp);
+void        <a href="libxml-xmlregexp.html#xmlRegFreeRegexp">xmlRegFreeRegexp</a>                (<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp);
+int         <a href="libxml-xmlregexp.html#xmlRegexpExec">xmlRegexpExec</a>                   (<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);
+void        <a href="libxml-xmlregexp.html#xmlRegexpPrint">xmlRegexpPrint</a>                  (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp);
+int         <a href="libxml-xmlregexp.html#xmlRegexpIsDeterminist">xmlRegexpIsDeterminist</a>          (<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp);
 void        (<a href="libxml-xmlregexp.html#xmlRegExecCallbacks">*xmlRegExecCallbacks</a>)          (<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *token,
                                              void *transdata,
                                              void *inputdata);
+<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> <a href="libxml-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a>         (<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp,
+                                             <a href="libxml-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a> callback,
+                                             void *data);
+void        <a href="libxml-xmlregexp.html#xmlRegFreeExecCtxt">xmlRegFreeExecCtxt</a>              (<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec);
+int         <a href="libxml-xmlregexp.html#xmlRegExecPushString">xmlRegExecPushString</a>            (<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
+                                             void *data);
+int         <a href="libxml-xmlregexp.html#xmlRegExecPushString2">xmlRegExecPushString2</a>           (<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value2,
+                                             void *data);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlRegexp"></a>struct xmlRegexp</h3><pre class="programlisting">struct xmlRegexp;</pre><p>
@@ -55,7 +73,36 @@
 </pre><p>
 A libxml progressive regular expression evaluation context</p><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="xmlRegExecCallbacks"></a>xmlRegExecCallbacks ()</h3><pre class="programlisting">void        (*xmlRegExecCallbacks)          (<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec,
+</p></div><hr><div class="refsect2"><h3><a name="xmlRegexpCompile"></a>xmlRegexpCompile ()</h3><pre class="programlisting"><a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> xmlRegexpCompile               (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *regexp);</pre><p>
+Parses a regular expression conforming to XML Schemas Part 2 Datatype
+Appendix F and build an automata suitable for testing strings against
+that regular expression</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the compiled expression or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRegFreeRegexp"></a>xmlRegFreeRegexp ()</h3><pre class="programlisting">void        xmlRegFreeRegexp                (<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp);</pre><p>
+Free a regexp</p><p>
+
+</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"><h3><a name="xmlRegexpExec"></a>xmlRegexpExec ()</h3><pre class="programlisting">int         xmlRegexpExec                   (<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value);</pre><p>
+Check if the regular expression generate the value</p><p>
+
+</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>value</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if it matches, 0 if not and a negativa value in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRegexpPrint"></a>xmlRegexpPrint ()</h3><pre class="programlisting">void        xmlRegexpPrint                  (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp);</pre><p>
+Print the content of the compiled regular expression</p><p>
+
+</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 class="refsect2"><h3><a name="xmlRegexpIsDeterminist"></a>xmlRegexpIsDeterminist ()</h3><pre class="programlisting">int         xmlRegexpIsDeterminist          (<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp);</pre><p>
+Check if the regular expression is determinist</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if it yes, 0 if not and a negativa value in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRegExecCallbacks"></a>xmlRegExecCallbacks ()</h3><pre class="programlisting">void        (*xmlRegExecCallbacks)          (<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *token,
                                              void *transdata,
                                              void *inputdata);</pre><p>
@@ -66,4 +113,40 @@
 </td></tr><tr><td><span class="term"><i><tt>inputdata</tt></i>:</span></td><td>
 
 
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRegNewExecCtxt"></a>xmlRegNewExecCtxt ()</h3><pre class="programlisting"><a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> xmlRegNewExecCtxt         (<a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp,
+                                             <a href="libxml-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a> callback,
+                                             void *data);</pre><p>
+Build a context used for progressive evaluation of a regexp.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRegFreeExecCtxt"></a>xmlRegFreeExecCtxt ()</h3><pre class="programlisting">void        xmlRegFreeExecCtxt              (<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec);</pre><p>
+Free the structures associated to a regular expression evaulation context.</p><p>
+
+</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 evaulation context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlRegExecPushString"></a>xmlRegExecPushString ()</h3><pre class="programlisting">int         xmlRegExecPushString            (<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
+                                             void *data);</pre><p>
+Push one input token in the execution context</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlRegExecPushString2"></a>xmlRegExecPushString2 ()</h3><pre class="programlisting">int         xmlRegExecPushString2           (<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value2,
+                                             void *data);</pre><p>
+Push one input token in the execution context</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-encoding.html"><b>&lt;&lt; encoding</b></a></td><td align="right"><a accesskey="n" href="libxml-xmlmemory.html"><b>xmlmemory &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-xmlschemas.html b/doc/html/libxml-xmlschemas.html
index eab434d..fe208c5 100644
--- a/doc/html/libxml-xmlschemas.html
+++ b/doc/html/libxml-xmlschemas.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xmlwriter.html" title="xmlwriter"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlwriter.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th></tr></table><div class="refentry"><a name="libxml-xmlschemas"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlschemas</h2><p>xmlschemas &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2695119"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xmlwriter.html" title="xmlwriter"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlwriter.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th></tr></table><div class="refentry"><a name="libxml-xmlschemas"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlschemas</h2><p>xmlschemas &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2677437"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -45,6 +45,35 @@
 typedef     <a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>;
 struct      <a href="libxml-xmlschemas.html#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a>;
 typedef     <a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a>;
+<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> <a href="libxml-xmlschemas.html#xmlSchemaNewParserCtxt">xmlSchemaNewParserCtxt</a>
+                                            (const char *URL);
+<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> <a href="libxml-xmlschemas.html#xmlSchemaNewMemParserCtxt">xmlSchemaNewMemParserCtxt</a>
+                                            (const char *buffer,
+                                             int size);
+<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> <a href="libxml-xmlschemas.html#xmlSchemaNewDocParserCtxt">xmlSchemaNewDocParserCtxt</a>
+                                            (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+void        <a href="libxml-xmlschemas.html#xmlSchemaFreeParserCtxt">xmlSchemaFreeParserCtxt</a>         (<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt);
+void        <a href="libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a>        (<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err,
+                                             <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn,
+                                             void *ctx);
+<a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> <a href="libxml-xmlschemas.html#xmlSchemaParse">xmlSchemaParse</a>                 (<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt);
+void        <a href="libxml-xmlschemas.html#xmlSchemaFree">xmlSchemaFree</a>                   (<a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);
+void        <a href="libxml-xmlschemas.html#xmlSchemaDump">xmlSchemaDump</a>                   (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);
+void        <a href="libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a>         (<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err,
+                                             <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn,
+                                             void *ctx);
+<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> <a href="libxml-xmlschemas.html#xmlSchemaNewValidCtxt">xmlSchemaNewValidCtxt</a> (<a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);
+void        <a href="libxml-xmlschemas.html#xmlSchemaFreeValidCtxt">xmlSchemaFreeValidCtxt</a>          (<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt);
+int         <a href="libxml-xmlschemas.html#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a>            (<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> instance);
+int         <a href="libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a>         (<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc,
+                                             <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             void *user_data);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlSchemaValidError"></a>enum xmlSchemaValidError</h3><pre class="programlisting">typedef enum {
@@ -132,4 +161,100 @@
 </p></div><hr><div class="refsect2"><h3><a name="xmlSchemaValidCtxtPtr"></a>xmlSchemaValidCtxtPtr</h3><pre class="programlisting">typedef xmlSchemaValidCtxt *xmlSchemaValidCtxtPtr;
 </pre><p>
 
-</p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xmlwriter.html"><b>&lt;&lt; xmlwriter</b></a></td><td align="right"></td></tr></table></body></html>
+</p></div><hr><div class="refsect2"><h3><a name="xmlSchemaNewParserCtxt"></a>xmlSchemaNewParserCtxt ()</h3><pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> xmlSchemaNewParserCtxt
+                                            (const char *URL);</pre><p>
+Create an XML Schemas parse context for that file/resource expected
+to contain an XML Schemas file.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the location of the schema
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the parser context or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSchemaNewMemParserCtxt"></a>xmlSchemaNewMemParserCtxt ()</h3><pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> xmlSchemaNewMemParserCtxt
+                                            (const char *buffer,
+                                             int size);</pre><p>
+Create an XML Schemas parse context for that memory buffer expected
+to contain an XML Schemas file.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>  a pointer to a char array 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the parser context or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSchemaNewDocParserCtxt"></a>xmlSchemaNewDocParserCtxt ()</h3><pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> xmlSchemaNewDocParserCtxt
+                                            (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
+Create an XML Schemas parse context for that document.
+NB. The document may be modified during the parsing process.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  a preparsed document tree
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the parser context or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSchemaFreeParserCtxt"></a>xmlSchemaFreeParserCtxt ()</h3><pre class="programlisting">void        xmlSchemaFreeParserCtxt         (<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt);</pre><p>
+Free the resources associated to the schema parser context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the schema parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSchemaSetParserErrors"></a>xmlSchemaSetParserErrors ()</h3><pre class="programlisting">void        xmlSchemaSetParserErrors        (<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt,
+                                             <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err,
+                                             <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn,
+                                             void *ctx);</pre><p>
+Set the callback functions used to handle errors for a validation context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlSchemaParse"></a>xmlSchemaParse ()</h3><pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> xmlSchemaParse                 (<a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt);</pre><p>
+parse a schema definition resource and build an internal
+XML Shema struture which can be used to validate instances.
+*WARNING* this interface is highly subject to change</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  a schema validation context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlSchemaFree"></a>xmlSchemaFree ()</h3><pre class="programlisting">void        xmlSchemaFree                   (<a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);</pre><p>
+Deallocate a Schema structure.</p><p>
+
+</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"><h3><a name="xmlSchemaDump"></a>xmlSchemaDump ()</h3><pre class="programlisting">void        xmlSchemaDump                   (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);</pre><p>
+Dump a Schema structure.</p><p>
+
+</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"><h3><a name="xmlSchemaSetValidErrors"></a>xmlSchemaSetValidErrors ()</h3><pre class="programlisting">void        xmlSchemaSetValidErrors         (<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err,
+                                             <a href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn,
+                                             void *ctx);</pre><p>
+Set the error and warning callback informations</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlSchemaNewValidCtxt"></a>xmlSchemaNewValidCtxt ()</h3><pre class="programlisting"><a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> xmlSchemaNewValidCtxt (<a href="libxml-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);</pre><p>
+Create an XML Schemas validation context based on the given schema</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the validation context or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSchemaFreeValidCtxt"></a>xmlSchemaFreeValidCtxt ()</h3><pre class="programlisting">void        xmlSchemaFreeValidCtxt          (<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt);</pre><p>
+Free the resources associated to the schema validation context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the schema validation context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSchemaValidateDoc"></a>xmlSchemaValidateDoc ()</h3><pre class="programlisting">int         xmlSchemaValidateDoc            (<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> instance);</pre><p>
+Validate a document tree in memory.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  a schema validation context
+</td></tr><tr><td><span class="term"><i><tt>instance</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlSchemaValidateStream"></a>xmlSchemaValidateStream ()</h3><pre class="programlisting">int         xmlSchemaValidateStream         (<a href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input,
+                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc,
+                                             <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax,
+                                             void *user_data);</pre><p>
+Validate a document tree in memory.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</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></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xmlwriter.html"><b>&lt;&lt; xmlwriter</b></a></td><td align="right"></td></tr></table></body></html>
diff --git a/doc/html/libxml-xmlschemastypes.html b/doc/html/libxml-xmlschemastypes.html
index fbf03f5..7f89f6e 100644
--- a/doc/html/libxml-xmlschemastypes.html
+++ b/doc/html/libxml-xmlschemastypes.html
@@ -1,4 +1,4 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>xmlschemastypes</title><meta name="generator" content="DocBook XSL Stylesheets V1.58.1"><style xmlns="http://www.w3.org/TR/xhtml1/transitional" type="text/css">
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>xmlschemastypes</title><meta name="generator" content="DocBook XSL Stylesheets V1.48"><meta name="generator" content="GTK-Doc V1.1 (XML mode)"><style type="text/css">
         .synopsis, .classsynopsis {
             background: #eeeeee;
             border: solid 1px #aaaaaa;
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="libxml-lib.html" title="Libxml Library Reference"><link rel="previous" href="libxml-xmlschemas.html" title="xmlschemas"><link rel="next" href="libxml-schemasInternals.html" title="schemasInternals"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlschemas.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></img></a></td><td><a accesskey="u" href="libxml-lib.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></img></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></img></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-schemasInternals.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></img></a></td></tr></table><div class="refentry" lang="en"><a name="libxml-xmlschemastypes"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlschemastypes</h2><p>xmlschemastypes &#8212; </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xmlautomata.html" title="xmlautomata"><link rel="next" href="libxml-xpointer.html" title="xpointer"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlautomata.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-xpointer.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xmlschemastypes"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlschemastypes</h2><p>xmlschemastypes &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2740571"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -56,87 +56,87 @@
 void        <a href="libxml-xmlschemastypes.html#xmlSchemaFreeFacet">xmlSchemaFreeFacet</a>              (<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet);
 int         <a href="libxml-xmlschemastypes.html#xmlSchemaCompareValues">xmlSchemaCompareValues</a>          (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x,
                                              <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y);
-</pre></div><div class="refsect1" lang="en"><h2>Description</h2><p>
+</pre></div><div class="refsect1"><h2>Description</h2><p>
 
-</p></div><div class="refsect1" lang="en"><h2>Details</h2><div class="refsect2" lang="en"><h3><a name="xmlSchemaInitTypes"></a>xmlSchemaInitTypes ()</h3><pre class="programlisting">void        xmlSchemaInitTypes              (void);</pre><p>
+</p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlSchemaInitTypes"></a>xmlSchemaInitTypes ()</h3><pre class="programlisting">void        xmlSchemaInitTypes              (void);</pre><p>
 
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSchemaCleanupTypes"></a>xmlSchemaCleanupTypes ()</h3><pre class="programlisting">void        xmlSchemaCleanupTypes           (void);</pre><p>
+</p></div><hr><div class="refsect2"><h3><a name="xmlSchemaCleanupTypes"></a>xmlSchemaCleanupTypes ()</h3><pre class="programlisting">void        xmlSchemaCleanupTypes           (void);</pre><p>
 Cleanup the default XML Schemas type library</p><p>
 
-</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSchemaGetPredefinedType"></a>xmlSchemaGetPredefinedType ()</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> xmlSchemaGetPredefinedType (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+</p></div><hr><div class="refsect2"><h3><a name="xmlSchemaGetPredefinedType"></a>xmlSchemaGetPredefinedType ()</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> xmlSchemaGetPredefinedType (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns);</pre><p>
 Lookup a type in the default XML Schemas type library</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the type if found, NULL otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSchemaValidatePredefinedType"></a>xmlSchemaValidatePredefinedType ()</h3><pre class="programlisting">int         xmlSchemaValidatePredefinedType (<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type,
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the type if found, NULL otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSchemaValidatePredefinedType"></a>xmlSchemaValidatePredefinedType ()</h3><pre class="programlisting">int         xmlSchemaValidatePredefinedType (<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
                                              <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> *val);</pre><p>
 Check that a value conforms to the lexical space of the predefined type.
 if true a value is computed and returned in <i><tt>val</tt></i>.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 if this validates, a positive error code number otherwise
+</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"><span class="emphasis"><i>Returns</i></span> :</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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSchemaValPredefTypeNode"></a>xmlSchemaValPredefTypeNode ()</h3><pre class="programlisting">int         xmlSchemaValPredefTypeNode      (<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type,
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSchemaValPredefTypeNode"></a>xmlSchemaValPredefTypeNode ()</h3><pre class="programlisting">int         xmlSchemaValPredefTypeNode      (<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
                                              <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> *val,
                                              <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
 Check that a value conforms to the lexical space of the predefined type.
 if true a value is computed and returned in <i><tt>val</tt></i>.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 if this validates, a positive error code number otherwise
+</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"><span class="emphasis"><i>Returns</i></span> :</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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSchemaValidateFacet"></a>xmlSchemaValidateFacet ()</h3><pre class="programlisting">int         xmlSchemaValidateFacet          (<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> base,
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSchemaValidateFacet"></a>xmlSchemaValidateFacet ()</h3><pre class="programlisting">int         xmlSchemaValidateFacet          (<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> base,
                                              <a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *value,
                                              <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);</pre><p>
 Check a value against a facet condition</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 if the element is schemas valid, a positive error code
+</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"><span class="emphasis"><i>Returns</i></span> :</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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSchemaFreeValue"></a>xmlSchemaFreeValue ()</h3><pre class="programlisting">void        xmlSchemaFreeValue              (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);</pre><p>
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSchemaFreeValue"></a>xmlSchemaFreeValue ()</h3><pre class="programlisting">void        xmlSchemaFreeValue              (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);</pre><p>
 Cleanup the default XML Schemas type library</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>val</tt></i> :</span></td><td>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>
 
 
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSchemaNewFacet"></a>xmlSchemaNewFacet ()</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> xmlSchemaNewFacet         (void);</pre><p>
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSchemaNewFacet"></a>xmlSchemaNewFacet ()</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> xmlSchemaNewFacet         (void);</pre><p>
 Allocate a new Facet structure.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the newly allocated structure or NULL in case or error
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSchemaCheckFacet"></a>xmlSchemaCheckFacet ()</h3><pre class="programlisting">int         xmlSchemaCheckFacet             (<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet,
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly allocated structure or NULL in case or error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSchemaCheckFacet"></a>xmlSchemaCheckFacet ()</h3><pre class="programlisting">int         xmlSchemaCheckFacet             (<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet,
                                              <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> typeDecl,
                                              <a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
 Checks the default values types, especially for facets</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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>ctxt</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> name of the type
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 if okay or -1 in cae of error
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSchemaFreeFacet"></a>xmlSchemaFreeFacet ()</h3><pre class="programlisting">void        xmlSchemaFreeFacet              (<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet);</pre><p>
+</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>ctxt</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> name of the type
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 if okay or -1 in cae of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlSchemaFreeFacet"></a>xmlSchemaFreeFacet ()</h3><pre class="programlisting">void        xmlSchemaFreeFacet              (<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet);</pre><p>
 Deallocate a Schema Facet structure.</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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 xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlSchemaCompareValues"></a>xmlSchemaCompareValues ()</h3><pre class="programlisting">int         xmlSchemaCompareValues          (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x,
+</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"><h3><a name="xmlSchemaCompareValues"></a>xmlSchemaCompareValues ()</h3><pre class="programlisting">int         xmlSchemaCompareValues          (<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x,
                                              <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y);</pre><p>
 Compare 2 values</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><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"><span class="emphasis"><em>Returns</em></span> :</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
+</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"><span class="emphasis"><i>Returns</i></span> :</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></div></div><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xmlschemas.html"><b>&lt;&lt; xmlschemas</b></a></td><td align="right"><a accesskey="n" href="libxml-schemasInternals.html"><b>schemasInternals &gt;&gt;</b></a></td></tr></table></body></html>
+</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xmlautomata.html"><b>&lt;&lt; xmlautomata</b></a></td><td align="right"><a accesskey="n" href="libxml-xpointer.html"><b>xpointer &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-xmlunicode.html b/doc/html/libxml-xmlunicode.html
index 5ea0859..1ca76c4 100644
--- a/doc/html/libxml-xmlunicode.html
+++ b/doc/html/libxml-xmlunicode.html
@@ -1,4 +1,4 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>xmlunicode</title><meta name="generator" content="DocBook XSL Stylesheets V1.58.1"><style xmlns="http://www.w3.org/TR/xhtml1/transitional" type="text/css">
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>xmlunicode</title><meta name="generator" content="DocBook XSL Stylesheets V1.48"><meta name="generator" content="GTK-Doc V1.1 (XML mode)"><style type="text/css">
         .synopsis, .classsynopsis {
             background: #eeeeee;
             border: solid 1px #aaaaaa;
@@ -28,10 +28,11 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="libxml-lib.html" title="Libxml Library Reference"><link rel="previous" href="libxml-xmlautomata.html" title="xmlautomata"><link rel="next" href="libxml-xmlschemas.html" title="xmlschemas"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlautomata.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></img></a></td><td><a accesskey="u" href="libxml-lib.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></img></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></img></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-xmlschemas.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></img></a></td></tr></table><div class="refentry" lang="en"><a name="libxml-xmlunicode"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlunicode</h2><p>xmlunicode &#8212; </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-globals.html" title="globals"><link rel="next" href="libxml-xmlexports.html" title="xmlexports"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-globals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-xmlexports.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xmlunicode"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlunicode</h2><p>xmlunicode &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2910064"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
+int         <a href="libxml-xmlunicode.html#xmlUCSIsAegeanNumbers">xmlUCSIsAegeanNumbers</a>           (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsAlphabeticPresentationForms">xmlUCSIsAlphabeticPresentationForms</a>
                                             (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsArabic">xmlUCSIsArabic</a>                  (int code);
@@ -48,6 +49,7 @@
 int         <a href="libxml-xmlunicode.html#xmlUCSIsBopomofoExtended">xmlUCSIsBopomofoExtended</a>        (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsBoxDrawing">xmlUCSIsBoxDrawing</a>              (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsBraillePatterns">xmlUCSIsBraillePatterns</a>         (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsBuhid">xmlUCSIsBuhid</a>                   (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsByzantineMusicalSymbols">xmlUCSIsByzantineMusicalSymbols</a> (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsCJKCompatibility">xmlUCSIsCJKCompatibility</a>        (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsCJKCompatibilityForms">xmlUCSIsCJKCompatibilityForms</a>   (int code);
@@ -66,12 +68,16 @@
 int         <a href="libxml-xmlunicode.html#xmlUCSIsCherokee">xmlUCSIsCherokee</a>                (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsCombiningDiacriticalMarks">xmlUCSIsCombiningDiacriticalMarks</a>
                                             (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsCombiningDiacriticalMarksforSymbols">xmlUCSIsCombiningDiacriticalMarksforSymbols</a>
+                                            (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsCombiningHalfMarks">xmlUCSIsCombiningHalfMarks</a>      (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsCombiningMarksforSymbols">xmlUCSIsCombiningMarksforSymbols</a>
                                             (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsControlPictures">xmlUCSIsControlPictures</a>         (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsCurrencySymbols">xmlUCSIsCurrencySymbols</a>         (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsCypriotSyllabary">xmlUCSIsCypriotSyllabary</a>        (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsCyrillic">xmlUCSIsCyrillic</a>                (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsCyrillicSupplement">xmlUCSIsCyrillicSupplement</a>      (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsDeseret">xmlUCSIsDeseret</a>                 (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsDevanagari">xmlUCSIsDevanagari</a>              (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsDingbats">xmlUCSIsDingbats</a>                (int code);
@@ -85,6 +91,7 @@
 int         <a href="libxml-xmlunicode.html#xmlUCSIsGothic">xmlUCSIsGothic</a>                  (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsGreek">xmlUCSIsGreek</a>                   (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsGreekExtended">xmlUCSIsGreekExtended</a>           (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsGreekandCoptic">xmlUCSIsGreekandCoptic</a>          (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsGujarati">xmlUCSIsGujarati</a>                (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsGurmukhi">xmlUCSIsGurmukhi</a>                (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsHalfwidthandFullwidthForms">xmlUCSIsHalfwidthandFullwidthForms</a>
@@ -92,6 +99,7 @@
 int         <a href="libxml-xmlunicode.html#xmlUCSIsHangulCompatibilityJamo">xmlUCSIsHangulCompatibilityJamo</a> (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsHangulJamo">xmlUCSIsHangulJamo</a>              (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsHangulSyllables">xmlUCSIsHangulSyllables</a>         (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsHanunoo">xmlUCSIsHanunoo</a>                 (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsHebrew">xmlUCSIsHebrew</a>                  (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsHighPrivateUseSurrogates">xmlUCSIsHighPrivateUseSurrogates</a>
                                             (int code);
@@ -104,19 +112,31 @@
 int         <a href="libxml-xmlunicode.html#xmlUCSIsKangxiRadicals">xmlUCSIsKangxiRadicals</a>          (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsKannada">xmlUCSIsKannada</a>                 (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsKatakana">xmlUCSIsKatakana</a>                (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsKatakanaPhoneticExtensions">xmlUCSIsKatakanaPhoneticExtensions</a>
+                                            (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsKhmer">xmlUCSIsKhmer</a>                   (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsKhmerSymbols">xmlUCSIsKhmerSymbols</a>            (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsLao">xmlUCSIsLao</a>                     (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsLatin1Supplement">xmlUCSIsLatin1Supplement</a>        (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsLatinExtendedA">xmlUCSIsLatinExtendedA</a>          (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsLatinExtendedB">xmlUCSIsLatinExtendedB</a>          (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsLatinExtendedAdditional">xmlUCSIsLatinExtendedAdditional</a> (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsLetterlikeSymbols">xmlUCSIsLetterlikeSymbols</a>       (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsLimbu">xmlUCSIsLimbu</a>                   (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsLinearBIdeograms">xmlUCSIsLinearBIdeograms</a>        (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsLinearBSyllabary">xmlUCSIsLinearBSyllabary</a>        (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsLowSurrogates">xmlUCSIsLowSurrogates</a>           (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsMalayalam">xmlUCSIsMalayalam</a>               (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsMathematicalAlphanumericSymbols">xmlUCSIsMathematicalAlphanumericSymbols</a>
                                             (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsMathematicalOperators">xmlUCSIsMathematicalOperators</a>   (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsMiscellaneousMathematicalSymbolsA">xmlUCSIsMiscellaneousMathematicalSymbolsA</a>
+                                            (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsMiscellaneousMathematicalSymbolsB">xmlUCSIsMiscellaneousMathematicalSymbolsB</a>
+                                            (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsMiscellaneousSymbols">xmlUCSIsMiscellaneousSymbols</a>    (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsMiscellaneousSymbolsandArrows">xmlUCSIsMiscellaneousSymbolsandArrows</a>
+                                            (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsMiscellaneousTechnical">xmlUCSIsMiscellaneousTechnical</a>  (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsMongolian">xmlUCSIsMongolian</a>               (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsMusicalSymbols">xmlUCSIsMusicalSymbols</a>          (int code);
@@ -127,25 +147,46 @@
 int         <a href="libxml-xmlunicode.html#xmlUCSIsOpticalCharacterRecognition">xmlUCSIsOpticalCharacterRecognition</a>
                                             (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsOriya">xmlUCSIsOriya</a>                   (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsOsmanya">xmlUCSIsOsmanya</a>                 (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsPhoneticExtensions">xmlUCSIsPhoneticExtensions</a>      (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsPrivateUse">xmlUCSIsPrivateUse</a>              (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsPrivateUseArea">xmlUCSIsPrivateUseArea</a>          (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsRunic">xmlUCSIsRunic</a>                   (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsShavian">xmlUCSIsShavian</a>                 (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsSinhala">xmlUCSIsSinhala</a>                 (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsSmallFormVariants">xmlUCSIsSmallFormVariants</a>       (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsSpacingModifierLetters">xmlUCSIsSpacingModifierLetters</a>  (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsSpecials">xmlUCSIsSpecials</a>                (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsSuperscriptsandSubscripts">xmlUCSIsSuperscriptsandSubscripts</a>
                                             (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsSupplementalArrowsA">xmlUCSIsSupplementalArrowsA</a>     (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsSupplementalArrowsB">xmlUCSIsSupplementalArrowsB</a>     (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsSupplementalMathematicalOperators">xmlUCSIsSupplementalMathematicalOperators</a>
+                                            (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsSupplementaryPrivateUseAreaA">xmlUCSIsSupplementaryPrivateUseAreaA</a>
+                                            (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsSupplementaryPrivateUseAreaB">xmlUCSIsSupplementaryPrivateUseAreaB</a>
+                                            (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsSyriac">xmlUCSIsSyriac</a>                  (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsTagalog">xmlUCSIsTagalog</a>                 (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsTagbanwa">xmlUCSIsTagbanwa</a>                (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsTags">xmlUCSIsTags</a>                    (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsTaiLe">xmlUCSIsTaiLe</a>                   (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsTaiXuanJingSymbols">xmlUCSIsTaiXuanJingSymbols</a>      (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsTamil">xmlUCSIsTamil</a>                   (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsTelugu">xmlUCSIsTelugu</a>                  (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsThaana">xmlUCSIsThaana</a>                  (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsThai">xmlUCSIsThai</a>                    (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsTibetan">xmlUCSIsTibetan</a>                 (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsUgaritic">xmlUCSIsUgaritic</a>                (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsUnifiedCanadianAboriginalSyllabics">xmlUCSIsUnifiedCanadianAboriginalSyllabics</a>
                                             (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsVariationSelectors">xmlUCSIsVariationSelectors</a>      (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsVariationSelectorsSupplement">xmlUCSIsVariationSelectorsSupplement</a>
+                                            (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsYiRadicals">xmlUCSIsYiRadicals</a>              (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsYiSyllables">xmlUCSIsYiSyllables</a>             (int code);
+int         <a href="libxml-xmlunicode.html#xmlUCSIsYijingHexagramSymbols">xmlUCSIsYijingHexagramSymbols</a>   (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsBlock">xmlUCSIsBlock</a>                   (int code,
                                              const char *block);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsCatC">xmlUCSIsCatC</a>                    (int code);
@@ -186,698 +227,867 @@
 int         <a href="libxml-xmlunicode.html#xmlUCSIsCatZs">xmlUCSIsCatZs</a>                   (int code);
 int         <a href="libxml-xmlunicode.html#xmlUCSIsCat">xmlUCSIsCat</a>                     (int code,
                                              const char *cat);
-</pre></div><div class="refsect1" lang="en"><h2>Description</h2><p>
+</pre></div><div class="refsect1"><h2>Description</h2><p>
 
-</p></div><div class="refsect1" lang="en"><h2>Details</h2><div class="refsect2" lang="en"><h3><a name="xmlUCSIsAlphabeticPresentationForms"></a>xmlUCSIsAlphabeticPresentationForms ()</h3><pre class="programlisting">int         xmlUCSIsAlphabeticPresentationForms
+</p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlUCSIsAegeanNumbers"></a>xmlUCSIsAegeanNumbers ()</h3><pre class="programlisting">int         xmlUCSIsAegeanNumbers           (int code);</pre><p>
+Check whether the character is part of AegeanNumbers UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsAlphabeticPresentationForms"></a>xmlUCSIsAlphabeticPresentationForms ()</h3><pre class="programlisting">int         xmlUCSIsAlphabeticPresentationForms
                                             (int code);</pre><p>
 Check whether the character is part of AlphabeticPresentationForms UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsArabic"></a>xmlUCSIsArabic ()</h3><pre class="programlisting">int         xmlUCSIsArabic                  (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsArabic"></a>xmlUCSIsArabic ()</h3><pre class="programlisting">int         xmlUCSIsArabic                  (int code);</pre><p>
 Check whether the character is part of Arabic UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsArabicPresentationFormsA"></a>xmlUCSIsArabicPresentationFormsA ()</h3><pre class="programlisting">int         xmlUCSIsArabicPresentationFormsA
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsArabicPresentationFormsA"></a>xmlUCSIsArabicPresentationFormsA ()</h3><pre class="programlisting">int         xmlUCSIsArabicPresentationFormsA
                                             (int code);</pre><p>
 Check whether the character is part of ArabicPresentationForms-A UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsArabicPresentationFormsB"></a>xmlUCSIsArabicPresentationFormsB ()</h3><pre class="programlisting">int         xmlUCSIsArabicPresentationFormsB
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsArabicPresentationFormsB"></a>xmlUCSIsArabicPresentationFormsB ()</h3><pre class="programlisting">int         xmlUCSIsArabicPresentationFormsB
                                             (int code);</pre><p>
 Check whether the character is part of ArabicPresentationForms-B UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsArmenian"></a>xmlUCSIsArmenian ()</h3><pre class="programlisting">int         xmlUCSIsArmenian                (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsArmenian"></a>xmlUCSIsArmenian ()</h3><pre class="programlisting">int         xmlUCSIsArmenian                (int code);</pre><p>
 Check whether the character is part of Armenian UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsArrows"></a>xmlUCSIsArrows ()</h3><pre class="programlisting">int         xmlUCSIsArrows                  (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsArrows"></a>xmlUCSIsArrows ()</h3><pre class="programlisting">int         xmlUCSIsArrows                  (int code);</pre><p>
 Check whether the character is part of Arrows UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsBasicLatin"></a>xmlUCSIsBasicLatin ()</h3><pre class="programlisting">int         xmlUCSIsBasicLatin              (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsBasicLatin"></a>xmlUCSIsBasicLatin ()</h3><pre class="programlisting">int         xmlUCSIsBasicLatin              (int code);</pre><p>
 Check whether the character is part of BasicLatin UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsBengali"></a>xmlUCSIsBengali ()</h3><pre class="programlisting">int         xmlUCSIsBengali                 (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsBengali"></a>xmlUCSIsBengali ()</h3><pre class="programlisting">int         xmlUCSIsBengali                 (int code);</pre><p>
 Check whether the character is part of Bengali UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsBlockElements"></a>xmlUCSIsBlockElements ()</h3><pre class="programlisting">int         xmlUCSIsBlockElements           (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsBlockElements"></a>xmlUCSIsBlockElements ()</h3><pre class="programlisting">int         xmlUCSIsBlockElements           (int code);</pre><p>
 Check whether the character is part of BlockElements UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsBopomofo"></a>xmlUCSIsBopomofo ()</h3><pre class="programlisting">int         xmlUCSIsBopomofo                (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsBopomofo"></a>xmlUCSIsBopomofo ()</h3><pre class="programlisting">int         xmlUCSIsBopomofo                (int code);</pre><p>
 Check whether the character is part of Bopomofo UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsBopomofoExtended"></a>xmlUCSIsBopomofoExtended ()</h3><pre class="programlisting">int         xmlUCSIsBopomofoExtended        (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsBopomofoExtended"></a>xmlUCSIsBopomofoExtended ()</h3><pre class="programlisting">int         xmlUCSIsBopomofoExtended        (int code);</pre><p>
 Check whether the character is part of BopomofoExtended UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsBoxDrawing"></a>xmlUCSIsBoxDrawing ()</h3><pre class="programlisting">int         xmlUCSIsBoxDrawing              (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsBoxDrawing"></a>xmlUCSIsBoxDrawing ()</h3><pre class="programlisting">int         xmlUCSIsBoxDrawing              (int code);</pre><p>
 Check whether the character is part of BoxDrawing UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsBraillePatterns"></a>xmlUCSIsBraillePatterns ()</h3><pre class="programlisting">int         xmlUCSIsBraillePatterns         (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsBraillePatterns"></a>xmlUCSIsBraillePatterns ()</h3><pre class="programlisting">int         xmlUCSIsBraillePatterns         (int code);</pre><p>
 Check whether the character is part of BraillePatterns UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsByzantineMusicalSymbols"></a>xmlUCSIsByzantineMusicalSymbols ()</h3><pre class="programlisting">int         xmlUCSIsByzantineMusicalSymbols (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsBuhid"></a>xmlUCSIsBuhid ()</h3><pre class="programlisting">int         xmlUCSIsBuhid                   (int code);</pre><p>
+Check whether the character is part of Buhid UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsByzantineMusicalSymbols"></a>xmlUCSIsByzantineMusicalSymbols ()</h3><pre class="programlisting">int         xmlUCSIsByzantineMusicalSymbols (int code);</pre><p>
 Check whether the character is part of ByzantineMusicalSymbols UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCJKCompatibility"></a>xmlUCSIsCJKCompatibility ()</h3><pre class="programlisting">int         xmlUCSIsCJKCompatibility        (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCJKCompatibility"></a>xmlUCSIsCJKCompatibility ()</h3><pre class="programlisting">int         xmlUCSIsCJKCompatibility        (int code);</pre><p>
 Check whether the character is part of CJKCompatibility UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCJKCompatibilityForms"></a>xmlUCSIsCJKCompatibilityForms ()</h3><pre class="programlisting">int         xmlUCSIsCJKCompatibilityForms   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCJKCompatibilityForms"></a>xmlUCSIsCJKCompatibilityForms ()</h3><pre class="programlisting">int         xmlUCSIsCJKCompatibilityForms   (int code);</pre><p>
 Check whether the character is part of CJKCompatibilityForms UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCJKCompatibilityIdeographs"></a>xmlUCSIsCJKCompatibilityIdeographs ()</h3><pre class="programlisting">int         xmlUCSIsCJKCompatibilityIdeographs
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCJKCompatibilityIdeographs"></a>xmlUCSIsCJKCompatibilityIdeographs ()</h3><pre class="programlisting">int         xmlUCSIsCJKCompatibilityIdeographs
                                             (int code);</pre><p>
 Check whether the character is part of CJKCompatibilityIdeographs UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCJKCompatibilityIdeographsSupplement"></a>xmlUCSIsCJKCompatibilityIdeographsSupplement ()</h3><pre class="programlisting">int         xmlUCSIsCJKCompatibilityIdeographsSupplement
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCJKCompatibilityIdeographsSupplement"></a>xmlUCSIsCJKCompatibilityIdeographsSupplement ()</h3><pre class="programlisting">int         xmlUCSIsCJKCompatibilityIdeographsSupplement
                                             (int code);</pre><p>
 Check whether the character is part of CJKCompatibilityIdeographsSupplement UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCJKRadicalsSupplement"></a>xmlUCSIsCJKRadicalsSupplement ()</h3><pre class="programlisting">int         xmlUCSIsCJKRadicalsSupplement   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCJKRadicalsSupplement"></a>xmlUCSIsCJKRadicalsSupplement ()</h3><pre class="programlisting">int         xmlUCSIsCJKRadicalsSupplement   (int code);</pre><p>
 Check whether the character is part of CJKRadicalsSupplement UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCJKSymbolsandPunctuation"></a>xmlUCSIsCJKSymbolsandPunctuation ()</h3><pre class="programlisting">int         xmlUCSIsCJKSymbolsandPunctuation
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCJKSymbolsandPunctuation"></a>xmlUCSIsCJKSymbolsandPunctuation ()</h3><pre class="programlisting">int         xmlUCSIsCJKSymbolsandPunctuation
                                             (int code);</pre><p>
 Check whether the character is part of CJKSymbolsandPunctuation UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCJKUnifiedIdeographs"></a>xmlUCSIsCJKUnifiedIdeographs ()</h3><pre class="programlisting">int         xmlUCSIsCJKUnifiedIdeographs    (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCJKUnifiedIdeographs"></a>xmlUCSIsCJKUnifiedIdeographs ()</h3><pre class="programlisting">int         xmlUCSIsCJKUnifiedIdeographs    (int code);</pre><p>
 Check whether the character is part of CJKUnifiedIdeographs UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCJKUnifiedIdeographsExtensionA"></a>xmlUCSIsCJKUnifiedIdeographsExtensionA ()</h3><pre class="programlisting">int         xmlUCSIsCJKUnifiedIdeographsExtensionA
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCJKUnifiedIdeographsExtensionA"></a>xmlUCSIsCJKUnifiedIdeographsExtensionA ()</h3><pre class="programlisting">int         xmlUCSIsCJKUnifiedIdeographsExtensionA
                                             (int code);</pre><p>
 Check whether the character is part of CJKUnifiedIdeographsExtensionA UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCJKUnifiedIdeographsExtensionB"></a>xmlUCSIsCJKUnifiedIdeographsExtensionB ()</h3><pre class="programlisting">int         xmlUCSIsCJKUnifiedIdeographsExtensionB
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCJKUnifiedIdeographsExtensionB"></a>xmlUCSIsCJKUnifiedIdeographsExtensionB ()</h3><pre class="programlisting">int         xmlUCSIsCJKUnifiedIdeographsExtensionB
                                             (int code);</pre><p>
 Check whether the character is part of CJKUnifiedIdeographsExtensionB UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCherokee"></a>xmlUCSIsCherokee ()</h3><pre class="programlisting">int         xmlUCSIsCherokee                (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCherokee"></a>xmlUCSIsCherokee ()</h3><pre class="programlisting">int         xmlUCSIsCherokee                (int code);</pre><p>
 Check whether the character is part of Cherokee UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCombiningDiacriticalMarks"></a>xmlUCSIsCombiningDiacriticalMarks ()</h3><pre class="programlisting">int         xmlUCSIsCombiningDiacriticalMarks
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCombiningDiacriticalMarks"></a>xmlUCSIsCombiningDiacriticalMarks ()</h3><pre class="programlisting">int         xmlUCSIsCombiningDiacriticalMarks
                                             (int code);</pre><p>
 Check whether the character is part of CombiningDiacriticalMarks UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCombiningHalfMarks"></a>xmlUCSIsCombiningHalfMarks ()</h3><pre class="programlisting">int         xmlUCSIsCombiningHalfMarks      (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCombiningDiacriticalMarksforSymbols"></a>xmlUCSIsCombiningDiacriticalMarksforSymbols ()</h3><pre class="programlisting">int         xmlUCSIsCombiningDiacriticalMarksforSymbols
+                                            (int code);</pre><p>
+Check whether the character is part of CombiningDiacriticalMarksforSymbols UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCombiningHalfMarks"></a>xmlUCSIsCombiningHalfMarks ()</h3><pre class="programlisting">int         xmlUCSIsCombiningHalfMarks      (int code);</pre><p>
 Check whether the character is part of CombiningHalfMarks UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCombiningMarksforSymbols"></a>xmlUCSIsCombiningMarksforSymbols ()</h3><pre class="programlisting">int         xmlUCSIsCombiningMarksforSymbols
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCombiningMarksforSymbols"></a>xmlUCSIsCombiningMarksforSymbols ()</h3><pre class="programlisting">int         xmlUCSIsCombiningMarksforSymbols
                                             (int code);</pre><p>
 Check whether the character is part of CombiningMarksforSymbols UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsControlPictures"></a>xmlUCSIsControlPictures ()</h3><pre class="programlisting">int         xmlUCSIsControlPictures         (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsControlPictures"></a>xmlUCSIsControlPictures ()</h3><pre class="programlisting">int         xmlUCSIsControlPictures         (int code);</pre><p>
 Check whether the character is part of ControlPictures UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCurrencySymbols"></a>xmlUCSIsCurrencySymbols ()</h3><pre class="programlisting">int         xmlUCSIsCurrencySymbols         (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCurrencySymbols"></a>xmlUCSIsCurrencySymbols ()</h3><pre class="programlisting">int         xmlUCSIsCurrencySymbols         (int code);</pre><p>
 Check whether the character is part of CurrencySymbols UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCyrillic"></a>xmlUCSIsCyrillic ()</h3><pre class="programlisting">int         xmlUCSIsCyrillic                (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCypriotSyllabary"></a>xmlUCSIsCypriotSyllabary ()</h3><pre class="programlisting">int         xmlUCSIsCypriotSyllabary        (int code);</pre><p>
+Check whether the character is part of CypriotSyllabary UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCyrillic"></a>xmlUCSIsCyrillic ()</h3><pre class="programlisting">int         xmlUCSIsCyrillic                (int code);</pre><p>
 Check whether the character is part of Cyrillic UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsDeseret"></a>xmlUCSIsDeseret ()</h3><pre class="programlisting">int         xmlUCSIsDeseret                 (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCyrillicSupplement"></a>xmlUCSIsCyrillicSupplement ()</h3><pre class="programlisting">int         xmlUCSIsCyrillicSupplement      (int code);</pre><p>
+Check whether the character is part of CyrillicSupplement UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsDeseret"></a>xmlUCSIsDeseret ()</h3><pre class="programlisting">int         xmlUCSIsDeseret                 (int code);</pre><p>
 Check whether the character is part of Deseret UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsDevanagari"></a>xmlUCSIsDevanagari ()</h3><pre class="programlisting">int         xmlUCSIsDevanagari              (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsDevanagari"></a>xmlUCSIsDevanagari ()</h3><pre class="programlisting">int         xmlUCSIsDevanagari              (int code);</pre><p>
 Check whether the character is part of Devanagari UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsDingbats"></a>xmlUCSIsDingbats ()</h3><pre class="programlisting">int         xmlUCSIsDingbats                (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsDingbats"></a>xmlUCSIsDingbats ()</h3><pre class="programlisting">int         xmlUCSIsDingbats                (int code);</pre><p>
 Check whether the character is part of Dingbats UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsEnclosedAlphanumerics"></a>xmlUCSIsEnclosedAlphanumerics ()</h3><pre class="programlisting">int         xmlUCSIsEnclosedAlphanumerics   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsEnclosedAlphanumerics"></a>xmlUCSIsEnclosedAlphanumerics ()</h3><pre class="programlisting">int         xmlUCSIsEnclosedAlphanumerics   (int code);</pre><p>
 Check whether the character is part of EnclosedAlphanumerics UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsEnclosedCJKLettersandMonths"></a>xmlUCSIsEnclosedCJKLettersandMonths ()</h3><pre class="programlisting">int         xmlUCSIsEnclosedCJKLettersandMonths
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsEnclosedCJKLettersandMonths"></a>xmlUCSIsEnclosedCJKLettersandMonths ()</h3><pre class="programlisting">int         xmlUCSIsEnclosedCJKLettersandMonths
                                             (int code);</pre><p>
 Check whether the character is part of EnclosedCJKLettersandMonths UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsEthiopic"></a>xmlUCSIsEthiopic ()</h3><pre class="programlisting">int         xmlUCSIsEthiopic                (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsEthiopic"></a>xmlUCSIsEthiopic ()</h3><pre class="programlisting">int         xmlUCSIsEthiopic                (int code);</pre><p>
 Check whether the character is part of Ethiopic UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsGeneralPunctuation"></a>xmlUCSIsGeneralPunctuation ()</h3><pre class="programlisting">int         xmlUCSIsGeneralPunctuation      (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsGeneralPunctuation"></a>xmlUCSIsGeneralPunctuation ()</h3><pre class="programlisting">int         xmlUCSIsGeneralPunctuation      (int code);</pre><p>
 Check whether the character is part of GeneralPunctuation UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsGeometricShapes"></a>xmlUCSIsGeometricShapes ()</h3><pre class="programlisting">int         xmlUCSIsGeometricShapes         (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsGeometricShapes"></a>xmlUCSIsGeometricShapes ()</h3><pre class="programlisting">int         xmlUCSIsGeometricShapes         (int code);</pre><p>
 Check whether the character is part of GeometricShapes UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsGeorgian"></a>xmlUCSIsGeorgian ()</h3><pre class="programlisting">int         xmlUCSIsGeorgian                (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsGeorgian"></a>xmlUCSIsGeorgian ()</h3><pre class="programlisting">int         xmlUCSIsGeorgian                (int code);</pre><p>
 Check whether the character is part of Georgian UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsGothic"></a>xmlUCSIsGothic ()</h3><pre class="programlisting">int         xmlUCSIsGothic                  (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsGothic"></a>xmlUCSIsGothic ()</h3><pre class="programlisting">int         xmlUCSIsGothic                  (int code);</pre><p>
 Check whether the character is part of Gothic UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsGreek"></a>xmlUCSIsGreek ()</h3><pre class="programlisting">int         xmlUCSIsGreek                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsGreek"></a>xmlUCSIsGreek ()</h3><pre class="programlisting">int         xmlUCSIsGreek                   (int code);</pre><p>
 Check whether the character is part of Greek UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsGreekExtended"></a>xmlUCSIsGreekExtended ()</h3><pre class="programlisting">int         xmlUCSIsGreekExtended           (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsGreekExtended"></a>xmlUCSIsGreekExtended ()</h3><pre class="programlisting">int         xmlUCSIsGreekExtended           (int code);</pre><p>
 Check whether the character is part of GreekExtended UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsGujarati"></a>xmlUCSIsGujarati ()</h3><pre class="programlisting">int         xmlUCSIsGujarati                (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsGreekandCoptic"></a>xmlUCSIsGreekandCoptic ()</h3><pre class="programlisting">int         xmlUCSIsGreekandCoptic          (int code);</pre><p>
+Check whether the character is part of GreekandCoptic UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsGujarati"></a>xmlUCSIsGujarati ()</h3><pre class="programlisting">int         xmlUCSIsGujarati                (int code);</pre><p>
 Check whether the character is part of Gujarati UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsGurmukhi"></a>xmlUCSIsGurmukhi ()</h3><pre class="programlisting">int         xmlUCSIsGurmukhi                (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsGurmukhi"></a>xmlUCSIsGurmukhi ()</h3><pre class="programlisting">int         xmlUCSIsGurmukhi                (int code);</pre><p>
 Check whether the character is part of Gurmukhi UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsHalfwidthandFullwidthForms"></a>xmlUCSIsHalfwidthandFullwidthForms ()</h3><pre class="programlisting">int         xmlUCSIsHalfwidthandFullwidthForms
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsHalfwidthandFullwidthForms"></a>xmlUCSIsHalfwidthandFullwidthForms ()</h3><pre class="programlisting">int         xmlUCSIsHalfwidthandFullwidthForms
                                             (int code);</pre><p>
 Check whether the character is part of HalfwidthandFullwidthForms UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsHangulCompatibilityJamo"></a>xmlUCSIsHangulCompatibilityJamo ()</h3><pre class="programlisting">int         xmlUCSIsHangulCompatibilityJamo (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsHangulCompatibilityJamo"></a>xmlUCSIsHangulCompatibilityJamo ()</h3><pre class="programlisting">int         xmlUCSIsHangulCompatibilityJamo (int code);</pre><p>
 Check whether the character is part of HangulCompatibilityJamo UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsHangulJamo"></a>xmlUCSIsHangulJamo ()</h3><pre class="programlisting">int         xmlUCSIsHangulJamo              (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsHangulJamo"></a>xmlUCSIsHangulJamo ()</h3><pre class="programlisting">int         xmlUCSIsHangulJamo              (int code);</pre><p>
 Check whether the character is part of HangulJamo UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsHangulSyllables"></a>xmlUCSIsHangulSyllables ()</h3><pre class="programlisting">int         xmlUCSIsHangulSyllables         (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsHangulSyllables"></a>xmlUCSIsHangulSyllables ()</h3><pre class="programlisting">int         xmlUCSIsHangulSyllables         (int code);</pre><p>
 Check whether the character is part of HangulSyllables UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsHebrew"></a>xmlUCSIsHebrew ()</h3><pre class="programlisting">int         xmlUCSIsHebrew                  (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsHanunoo"></a>xmlUCSIsHanunoo ()</h3><pre class="programlisting">int         xmlUCSIsHanunoo                 (int code);</pre><p>
+Check whether the character is part of Hanunoo UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsHebrew"></a>xmlUCSIsHebrew ()</h3><pre class="programlisting">int         xmlUCSIsHebrew                  (int code);</pre><p>
 Check whether the character is part of Hebrew UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsHighPrivateUseSurrogates"></a>xmlUCSIsHighPrivateUseSurrogates ()</h3><pre class="programlisting">int         xmlUCSIsHighPrivateUseSurrogates
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsHighPrivateUseSurrogates"></a>xmlUCSIsHighPrivateUseSurrogates ()</h3><pre class="programlisting">int         xmlUCSIsHighPrivateUseSurrogates
                                             (int code);</pre><p>
 Check whether the character is part of HighPrivateUseSurrogates UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsHighSurrogates"></a>xmlUCSIsHighSurrogates ()</h3><pre class="programlisting">int         xmlUCSIsHighSurrogates          (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsHighSurrogates"></a>xmlUCSIsHighSurrogates ()</h3><pre class="programlisting">int         xmlUCSIsHighSurrogates          (int code);</pre><p>
 Check whether the character is part of HighSurrogates UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsHiragana"></a>xmlUCSIsHiragana ()</h3><pre class="programlisting">int         xmlUCSIsHiragana                (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsHiragana"></a>xmlUCSIsHiragana ()</h3><pre class="programlisting">int         xmlUCSIsHiragana                (int code);</pre><p>
 Check whether the character is part of Hiragana UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsIPAExtensions"></a>xmlUCSIsIPAExtensions ()</h3><pre class="programlisting">int         xmlUCSIsIPAExtensions           (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsIPAExtensions"></a>xmlUCSIsIPAExtensions ()</h3><pre class="programlisting">int         xmlUCSIsIPAExtensions           (int code);</pre><p>
 Check whether the character is part of IPAExtensions UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsIdeographicDescriptionCharacters"></a>xmlUCSIsIdeographicDescriptionCharacters ()</h3><pre class="programlisting">int         xmlUCSIsIdeographicDescriptionCharacters
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsIdeographicDescriptionCharacters"></a>xmlUCSIsIdeographicDescriptionCharacters ()</h3><pre class="programlisting">int         xmlUCSIsIdeographicDescriptionCharacters
                                             (int code);</pre><p>
 Check whether the character is part of IdeographicDescriptionCharacters UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsKanbun"></a>xmlUCSIsKanbun ()</h3><pre class="programlisting">int         xmlUCSIsKanbun                  (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsKanbun"></a>xmlUCSIsKanbun ()</h3><pre class="programlisting">int         xmlUCSIsKanbun                  (int code);</pre><p>
 Check whether the character is part of Kanbun UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsKangxiRadicals"></a>xmlUCSIsKangxiRadicals ()</h3><pre class="programlisting">int         xmlUCSIsKangxiRadicals          (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsKangxiRadicals"></a>xmlUCSIsKangxiRadicals ()</h3><pre class="programlisting">int         xmlUCSIsKangxiRadicals          (int code);</pre><p>
 Check whether the character is part of KangxiRadicals UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsKannada"></a>xmlUCSIsKannada ()</h3><pre class="programlisting">int         xmlUCSIsKannada                 (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsKannada"></a>xmlUCSIsKannada ()</h3><pre class="programlisting">int         xmlUCSIsKannada                 (int code);</pre><p>
 Check whether the character is part of Kannada UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsKatakana"></a>xmlUCSIsKatakana ()</h3><pre class="programlisting">int         xmlUCSIsKatakana                (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsKatakana"></a>xmlUCSIsKatakana ()</h3><pre class="programlisting">int         xmlUCSIsKatakana                (int code);</pre><p>
 Check whether the character is part of Katakana UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsKhmer"></a>xmlUCSIsKhmer ()</h3><pre class="programlisting">int         xmlUCSIsKhmer                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsKatakanaPhoneticExtensions"></a>xmlUCSIsKatakanaPhoneticExtensions ()</h3><pre class="programlisting">int         xmlUCSIsKatakanaPhoneticExtensions
+                                            (int code);</pre><p>
+Check whether the character is part of KatakanaPhoneticExtensions UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsKhmer"></a>xmlUCSIsKhmer ()</h3><pre class="programlisting">int         xmlUCSIsKhmer                   (int code);</pre><p>
 Check whether the character is part of Khmer UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsLao"></a>xmlUCSIsLao ()</h3><pre class="programlisting">int         xmlUCSIsLao                     (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsKhmerSymbols"></a>xmlUCSIsKhmerSymbols ()</h3><pre class="programlisting">int         xmlUCSIsKhmerSymbols            (int code);</pre><p>
+Check whether the character is part of KhmerSymbols UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsLao"></a>xmlUCSIsLao ()</h3><pre class="programlisting">int         xmlUCSIsLao                     (int code);</pre><p>
 Check whether the character is part of Lao UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsLatin1Supplement"></a>xmlUCSIsLatin1Supplement ()</h3><pre class="programlisting">int         xmlUCSIsLatin1Supplement        (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsLatin1Supplement"></a>xmlUCSIsLatin1Supplement ()</h3><pre class="programlisting">int         xmlUCSIsLatin1Supplement        (int code);</pre><p>
 Check whether the character is part of Latin-1Supplement UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsLatinExtendedA"></a>xmlUCSIsLatinExtendedA ()</h3><pre class="programlisting">int         xmlUCSIsLatinExtendedA          (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsLatinExtendedA"></a>xmlUCSIsLatinExtendedA ()</h3><pre class="programlisting">int         xmlUCSIsLatinExtendedA          (int code);</pre><p>
 Check whether the character is part of LatinExtended-A UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsLatinExtendedB"></a>xmlUCSIsLatinExtendedB ()</h3><pre class="programlisting">int         xmlUCSIsLatinExtendedB          (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsLatinExtendedB"></a>xmlUCSIsLatinExtendedB ()</h3><pre class="programlisting">int         xmlUCSIsLatinExtendedB          (int code);</pre><p>
 Check whether the character is part of LatinExtended-B UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsLatinExtendedAdditional"></a>xmlUCSIsLatinExtendedAdditional ()</h3><pre class="programlisting">int         xmlUCSIsLatinExtendedAdditional (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsLatinExtendedAdditional"></a>xmlUCSIsLatinExtendedAdditional ()</h3><pre class="programlisting">int         xmlUCSIsLatinExtendedAdditional (int code);</pre><p>
 Check whether the character is part of LatinExtendedAdditional UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsLetterlikeSymbols"></a>xmlUCSIsLetterlikeSymbols ()</h3><pre class="programlisting">int         xmlUCSIsLetterlikeSymbols       (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsLetterlikeSymbols"></a>xmlUCSIsLetterlikeSymbols ()</h3><pre class="programlisting">int         xmlUCSIsLetterlikeSymbols       (int code);</pre><p>
 Check whether the character is part of LetterlikeSymbols UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsLowSurrogates"></a>xmlUCSIsLowSurrogates ()</h3><pre class="programlisting">int         xmlUCSIsLowSurrogates           (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsLimbu"></a>xmlUCSIsLimbu ()</h3><pre class="programlisting">int         xmlUCSIsLimbu                   (int code);</pre><p>
+Check whether the character is part of Limbu UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsLinearBIdeograms"></a>xmlUCSIsLinearBIdeograms ()</h3><pre class="programlisting">int         xmlUCSIsLinearBIdeograms        (int code);</pre><p>
+Check whether the character is part of LinearBIdeograms UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsLinearBSyllabary"></a>xmlUCSIsLinearBSyllabary ()</h3><pre class="programlisting">int         xmlUCSIsLinearBSyllabary        (int code);</pre><p>
+Check whether the character is part of LinearBSyllabary UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsLowSurrogates"></a>xmlUCSIsLowSurrogates ()</h3><pre class="programlisting">int         xmlUCSIsLowSurrogates           (int code);</pre><p>
 Check whether the character is part of LowSurrogates UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsMalayalam"></a>xmlUCSIsMalayalam ()</h3><pre class="programlisting">int         xmlUCSIsMalayalam               (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsMalayalam"></a>xmlUCSIsMalayalam ()</h3><pre class="programlisting">int         xmlUCSIsMalayalam               (int code);</pre><p>
 Check whether the character is part of Malayalam UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsMathematicalAlphanumericSymbols"></a>xmlUCSIsMathematicalAlphanumericSymbols ()</h3><pre class="programlisting">int         xmlUCSIsMathematicalAlphanumericSymbols
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsMathematicalAlphanumericSymbols"></a>xmlUCSIsMathematicalAlphanumericSymbols ()</h3><pre class="programlisting">int         xmlUCSIsMathematicalAlphanumericSymbols
                                             (int code);</pre><p>
 Check whether the character is part of MathematicalAlphanumericSymbols UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsMathematicalOperators"></a>xmlUCSIsMathematicalOperators ()</h3><pre class="programlisting">int         xmlUCSIsMathematicalOperators   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsMathematicalOperators"></a>xmlUCSIsMathematicalOperators ()</h3><pre class="programlisting">int         xmlUCSIsMathematicalOperators   (int code);</pre><p>
 Check whether the character is part of MathematicalOperators UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsMiscellaneousSymbols"></a>xmlUCSIsMiscellaneousSymbols ()</h3><pre class="programlisting">int         xmlUCSIsMiscellaneousSymbols    (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsMiscellaneousMathematicalSymbolsA"></a>xmlUCSIsMiscellaneousMathematicalSymbolsA ()</h3><pre class="programlisting">int         xmlUCSIsMiscellaneousMathematicalSymbolsA
+                                            (int code);</pre><p>
+Check whether the character is part of MiscellaneousMathematicalSymbols-A UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsMiscellaneousMathematicalSymbolsB"></a>xmlUCSIsMiscellaneousMathematicalSymbolsB ()</h3><pre class="programlisting">int         xmlUCSIsMiscellaneousMathematicalSymbolsB
+                                            (int code);</pre><p>
+Check whether the character is part of MiscellaneousMathematicalSymbols-B UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsMiscellaneousSymbols"></a>xmlUCSIsMiscellaneousSymbols ()</h3><pre class="programlisting">int         xmlUCSIsMiscellaneousSymbols    (int code);</pre><p>
 Check whether the character is part of MiscellaneousSymbols UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsMiscellaneousTechnical"></a>xmlUCSIsMiscellaneousTechnical ()</h3><pre class="programlisting">int         xmlUCSIsMiscellaneousTechnical  (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsMiscellaneousSymbolsandArrows"></a>xmlUCSIsMiscellaneousSymbolsandArrows ()</h3><pre class="programlisting">int         xmlUCSIsMiscellaneousSymbolsandArrows
+                                            (int code);</pre><p>
+Check whether the character is part of MiscellaneousSymbolsandArrows UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsMiscellaneousTechnical"></a>xmlUCSIsMiscellaneousTechnical ()</h3><pre class="programlisting">int         xmlUCSIsMiscellaneousTechnical  (int code);</pre><p>
 Check whether the character is part of MiscellaneousTechnical UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsMongolian"></a>xmlUCSIsMongolian ()</h3><pre class="programlisting">int         xmlUCSIsMongolian               (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsMongolian"></a>xmlUCSIsMongolian ()</h3><pre class="programlisting">int         xmlUCSIsMongolian               (int code);</pre><p>
 Check whether the character is part of Mongolian UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsMusicalSymbols"></a>xmlUCSIsMusicalSymbols ()</h3><pre class="programlisting">int         xmlUCSIsMusicalSymbols          (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsMusicalSymbols"></a>xmlUCSIsMusicalSymbols ()</h3><pre class="programlisting">int         xmlUCSIsMusicalSymbols          (int code);</pre><p>
 Check whether the character is part of MusicalSymbols UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsMyanmar"></a>xmlUCSIsMyanmar ()</h3><pre class="programlisting">int         xmlUCSIsMyanmar                 (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsMyanmar"></a>xmlUCSIsMyanmar ()</h3><pre class="programlisting">int         xmlUCSIsMyanmar                 (int code);</pre><p>
 Check whether the character is part of Myanmar UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsNumberForms"></a>xmlUCSIsNumberForms ()</h3><pre class="programlisting">int         xmlUCSIsNumberForms             (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsNumberForms"></a>xmlUCSIsNumberForms ()</h3><pre class="programlisting">int         xmlUCSIsNumberForms             (int code);</pre><p>
 Check whether the character is part of NumberForms UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsOgham"></a>xmlUCSIsOgham ()</h3><pre class="programlisting">int         xmlUCSIsOgham                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsOgham"></a>xmlUCSIsOgham ()</h3><pre class="programlisting">int         xmlUCSIsOgham                   (int code);</pre><p>
 Check whether the character is part of Ogham UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsOldItalic"></a>xmlUCSIsOldItalic ()</h3><pre class="programlisting">int         xmlUCSIsOldItalic               (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsOldItalic"></a>xmlUCSIsOldItalic ()</h3><pre class="programlisting">int         xmlUCSIsOldItalic               (int code);</pre><p>
 Check whether the character is part of OldItalic UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsOpticalCharacterRecognition"></a>xmlUCSIsOpticalCharacterRecognition ()</h3><pre class="programlisting">int         xmlUCSIsOpticalCharacterRecognition
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsOpticalCharacterRecognition"></a>xmlUCSIsOpticalCharacterRecognition ()</h3><pre class="programlisting">int         xmlUCSIsOpticalCharacterRecognition
                                             (int code);</pre><p>
 Check whether the character is part of OpticalCharacterRecognition UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsOriya"></a>xmlUCSIsOriya ()</h3><pre class="programlisting">int         xmlUCSIsOriya                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsOriya"></a>xmlUCSIsOriya ()</h3><pre class="programlisting">int         xmlUCSIsOriya                   (int code);</pre><p>
 Check whether the character is part of Oriya UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsPrivateUse"></a>xmlUCSIsPrivateUse ()</h3><pre class="programlisting">int         xmlUCSIsPrivateUse              (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsOsmanya"></a>xmlUCSIsOsmanya ()</h3><pre class="programlisting">int         xmlUCSIsOsmanya                 (int code);</pre><p>
+Check whether the character is part of Osmanya UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsPhoneticExtensions"></a>xmlUCSIsPhoneticExtensions ()</h3><pre class="programlisting">int         xmlUCSIsPhoneticExtensions      (int code);</pre><p>
+Check whether the character is part of PhoneticExtensions UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsPrivateUse"></a>xmlUCSIsPrivateUse ()</h3><pre class="programlisting">int         xmlUCSIsPrivateUse              (int code);</pre><p>
 Check whether the character is part of PrivateUse UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsRunic"></a>xmlUCSIsRunic ()</h3><pre class="programlisting">int         xmlUCSIsRunic                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsPrivateUseArea"></a>xmlUCSIsPrivateUseArea ()</h3><pre class="programlisting">int         xmlUCSIsPrivateUseArea          (int code);</pre><p>
+Check whether the character is part of PrivateUseArea UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsRunic"></a>xmlUCSIsRunic ()</h3><pre class="programlisting">int         xmlUCSIsRunic                   (int code);</pre><p>
 Check whether the character is part of Runic UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsSinhala"></a>xmlUCSIsSinhala ()</h3><pre class="programlisting">int         xmlUCSIsSinhala                 (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsShavian"></a>xmlUCSIsShavian ()</h3><pre class="programlisting">int         xmlUCSIsShavian                 (int code);</pre><p>
+Check whether the character is part of Shavian UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsSinhala"></a>xmlUCSIsSinhala ()</h3><pre class="programlisting">int         xmlUCSIsSinhala                 (int code);</pre><p>
 Check whether the character is part of Sinhala UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsSmallFormVariants"></a>xmlUCSIsSmallFormVariants ()</h3><pre class="programlisting">int         xmlUCSIsSmallFormVariants       (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsSmallFormVariants"></a>xmlUCSIsSmallFormVariants ()</h3><pre class="programlisting">int         xmlUCSIsSmallFormVariants       (int code);</pre><p>
 Check whether the character is part of SmallFormVariants UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsSpacingModifierLetters"></a>xmlUCSIsSpacingModifierLetters ()</h3><pre class="programlisting">int         xmlUCSIsSpacingModifierLetters  (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsSpacingModifierLetters"></a>xmlUCSIsSpacingModifierLetters ()</h3><pre class="programlisting">int         xmlUCSIsSpacingModifierLetters  (int code);</pre><p>
 Check whether the character is part of SpacingModifierLetters UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsSpecials"></a>xmlUCSIsSpecials ()</h3><pre class="programlisting">int         xmlUCSIsSpecials                (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsSpecials"></a>xmlUCSIsSpecials ()</h3><pre class="programlisting">int         xmlUCSIsSpecials                (int code);</pre><p>
 Check whether the character is part of Specials UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsSuperscriptsandSubscripts"></a>xmlUCSIsSuperscriptsandSubscripts ()</h3><pre class="programlisting">int         xmlUCSIsSuperscriptsandSubscripts
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsSuperscriptsandSubscripts"></a>xmlUCSIsSuperscriptsandSubscripts ()</h3><pre class="programlisting">int         xmlUCSIsSuperscriptsandSubscripts
                                             (int code);</pre><p>
 Check whether the character is part of SuperscriptsandSubscripts UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsSyriac"></a>xmlUCSIsSyriac ()</h3><pre class="programlisting">int         xmlUCSIsSyriac                  (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsSupplementalArrowsA"></a>xmlUCSIsSupplementalArrowsA ()</h3><pre class="programlisting">int         xmlUCSIsSupplementalArrowsA     (int code);</pre><p>
+Check whether the character is part of SupplementalArrows-A UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsSupplementalArrowsB"></a>xmlUCSIsSupplementalArrowsB ()</h3><pre class="programlisting">int         xmlUCSIsSupplementalArrowsB     (int code);</pre><p>
+Check whether the character is part of SupplementalArrows-B UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsSupplementalMathematicalOperators"></a>xmlUCSIsSupplementalMathematicalOperators ()</h3><pre class="programlisting">int         xmlUCSIsSupplementalMathematicalOperators
+                                            (int code);</pre><p>
+Check whether the character is part of SupplementalMathematicalOperators UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsSupplementaryPrivateUseAreaA"></a>xmlUCSIsSupplementaryPrivateUseAreaA ()</h3><pre class="programlisting">int         xmlUCSIsSupplementaryPrivateUseAreaA
+                                            (int code);</pre><p>
+Check whether the character is part of SupplementaryPrivateUseArea-A UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsSupplementaryPrivateUseAreaB"></a>xmlUCSIsSupplementaryPrivateUseAreaB ()</h3><pre class="programlisting">int         xmlUCSIsSupplementaryPrivateUseAreaB
+                                            (int code);</pre><p>
+Check whether the character is part of SupplementaryPrivateUseArea-B UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsSyriac"></a>xmlUCSIsSyriac ()</h3><pre class="programlisting">int         xmlUCSIsSyriac                  (int code);</pre><p>
 Check whether the character is part of Syriac UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsTags"></a>xmlUCSIsTags ()</h3><pre class="programlisting">int         xmlUCSIsTags                    (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsTagalog"></a>xmlUCSIsTagalog ()</h3><pre class="programlisting">int         xmlUCSIsTagalog                 (int code);</pre><p>
+Check whether the character is part of Tagalog UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsTagbanwa"></a>xmlUCSIsTagbanwa ()</h3><pre class="programlisting">int         xmlUCSIsTagbanwa                (int code);</pre><p>
+Check whether the character is part of Tagbanwa UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsTags"></a>xmlUCSIsTags ()</h3><pre class="programlisting">int         xmlUCSIsTags                    (int code);</pre><p>
 Check whether the character is part of Tags UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsTamil"></a>xmlUCSIsTamil ()</h3><pre class="programlisting">int         xmlUCSIsTamil                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsTaiLe"></a>xmlUCSIsTaiLe ()</h3><pre class="programlisting">int         xmlUCSIsTaiLe                   (int code);</pre><p>
+Check whether the character is part of TaiLe UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsTaiXuanJingSymbols"></a>xmlUCSIsTaiXuanJingSymbols ()</h3><pre class="programlisting">int         xmlUCSIsTaiXuanJingSymbols      (int code);</pre><p>
+Check whether the character is part of TaiXuanJingSymbols UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsTamil"></a>xmlUCSIsTamil ()</h3><pre class="programlisting">int         xmlUCSIsTamil                   (int code);</pre><p>
 Check whether the character is part of Tamil UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsTelugu"></a>xmlUCSIsTelugu ()</h3><pre class="programlisting">int         xmlUCSIsTelugu                  (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsTelugu"></a>xmlUCSIsTelugu ()</h3><pre class="programlisting">int         xmlUCSIsTelugu                  (int code);</pre><p>
 Check whether the character is part of Telugu UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsThaana"></a>xmlUCSIsThaana ()</h3><pre class="programlisting">int         xmlUCSIsThaana                  (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsThaana"></a>xmlUCSIsThaana ()</h3><pre class="programlisting">int         xmlUCSIsThaana                  (int code);</pre><p>
 Check whether the character is part of Thaana UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsThai"></a>xmlUCSIsThai ()</h3><pre class="programlisting">int         xmlUCSIsThai                    (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsThai"></a>xmlUCSIsThai ()</h3><pre class="programlisting">int         xmlUCSIsThai                    (int code);</pre><p>
 Check whether the character is part of Thai UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsTibetan"></a>xmlUCSIsTibetan ()</h3><pre class="programlisting">int         xmlUCSIsTibetan                 (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsTibetan"></a>xmlUCSIsTibetan ()</h3><pre class="programlisting">int         xmlUCSIsTibetan                 (int code);</pre><p>
 Check whether the character is part of Tibetan UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsUnifiedCanadianAboriginalSyllabics"></a>xmlUCSIsUnifiedCanadianAboriginalSyllabics ()</h3><pre class="programlisting">int         xmlUCSIsUnifiedCanadianAboriginalSyllabics
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsUgaritic"></a>xmlUCSIsUgaritic ()</h3><pre class="programlisting">int         xmlUCSIsUgaritic                (int code);</pre><p>
+Check whether the character is part of Ugaritic UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsUnifiedCanadianAboriginalSyllabics"></a>xmlUCSIsUnifiedCanadianAboriginalSyllabics ()</h3><pre class="programlisting">int         xmlUCSIsUnifiedCanadianAboriginalSyllabics
                                             (int code);</pre><p>
 Check whether the character is part of UnifiedCanadianAboriginalSyllabics UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsYiRadicals"></a>xmlUCSIsYiRadicals ()</h3><pre class="programlisting">int         xmlUCSIsYiRadicals              (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsVariationSelectors"></a>xmlUCSIsVariationSelectors ()</h3><pre class="programlisting">int         xmlUCSIsVariationSelectors      (int code);</pre><p>
+Check whether the character is part of VariationSelectors UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsVariationSelectorsSupplement"></a>xmlUCSIsVariationSelectorsSupplement ()</h3><pre class="programlisting">int         xmlUCSIsVariationSelectorsSupplement
+                                            (int code);</pre><p>
+Check whether the character is part of VariationSelectorsSupplement UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsYiRadicals"></a>xmlUCSIsYiRadicals ()</h3><pre class="programlisting">int         xmlUCSIsYiRadicals              (int code);</pre><p>
 Check whether the character is part of YiRadicals UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsYiSyllables"></a>xmlUCSIsYiSyllables ()</h3><pre class="programlisting">int         xmlUCSIsYiSyllables             (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsYiSyllables"></a>xmlUCSIsYiSyllables ()</h3><pre class="programlisting">int         xmlUCSIsYiSyllables             (int code);</pre><p>
 Check whether the character is part of YiSyllables UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsBlock"></a>xmlUCSIsBlock ()</h3><pre class="programlisting">int         xmlUCSIsBlock                   (int code,
-                                             const char *block);</pre><p>
-Check whether the caracter is part of the UCS Block</p><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsYijingHexagramSymbols"></a>xmlUCSIsYijingHexagramSymbols ()</h3><pre class="programlisting">int         xmlUCSIsYijingHexagramSymbols   (int code);</pre><p>
+Check whether the character is part of YijingHexagramSymbols UCS Block</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><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"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true, 0 if false and -1 on unknown block
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatC"></a>xmlUCSIsCatC ()</h3><pre class="programlisting">int         xmlUCSIsCatC                    (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsBlock"></a>xmlUCSIsBlock ()</h3><pre class="programlisting">int         xmlUCSIsBlock                   (int code,
+                                             const char *block);</pre><p>
+Check whether the character is part of the UCS Block</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true, 0 if false and -1 on unknown block
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatC"></a>xmlUCSIsCatC ()</h3><pre class="programlisting">int         xmlUCSIsCatC                    (int code);</pre><p>
 Check whether the character is part of C UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatCc"></a>xmlUCSIsCatCc ()</h3><pre class="programlisting">int         xmlUCSIsCatCc                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatCc"></a>xmlUCSIsCatCc ()</h3><pre class="programlisting">int         xmlUCSIsCatCc                   (int code);</pre><p>
 Check whether the character is part of Cc UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatCf"></a>xmlUCSIsCatCf ()</h3><pre class="programlisting">int         xmlUCSIsCatCf                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatCf"></a>xmlUCSIsCatCf ()</h3><pre class="programlisting">int         xmlUCSIsCatCf                   (int code);</pre><p>
 Check whether the character is part of Cf UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatCo"></a>xmlUCSIsCatCo ()</h3><pre class="programlisting">int         xmlUCSIsCatCo                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatCo"></a>xmlUCSIsCatCo ()</h3><pre class="programlisting">int         xmlUCSIsCatCo                   (int code);</pre><p>
 Check whether the character is part of Co UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatCs"></a>xmlUCSIsCatCs ()</h3><pre class="programlisting">int         xmlUCSIsCatCs                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatCs"></a>xmlUCSIsCatCs ()</h3><pre class="programlisting">int         xmlUCSIsCatCs                   (int code);</pre><p>
 Check whether the character is part of Cs UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatL"></a>xmlUCSIsCatL ()</h3><pre class="programlisting">int         xmlUCSIsCatL                    (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatL"></a>xmlUCSIsCatL ()</h3><pre class="programlisting">int         xmlUCSIsCatL                    (int code);</pre><p>
 Check whether the character is part of L UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatLl"></a>xmlUCSIsCatLl ()</h3><pre class="programlisting">int         xmlUCSIsCatLl                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatLl"></a>xmlUCSIsCatLl ()</h3><pre class="programlisting">int         xmlUCSIsCatLl                   (int code);</pre><p>
 Check whether the character is part of Ll UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatLm"></a>xmlUCSIsCatLm ()</h3><pre class="programlisting">int         xmlUCSIsCatLm                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatLm"></a>xmlUCSIsCatLm ()</h3><pre class="programlisting">int         xmlUCSIsCatLm                   (int code);</pre><p>
 Check whether the character is part of Lm UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatLo"></a>xmlUCSIsCatLo ()</h3><pre class="programlisting">int         xmlUCSIsCatLo                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatLo"></a>xmlUCSIsCatLo ()</h3><pre class="programlisting">int         xmlUCSIsCatLo                   (int code);</pre><p>
 Check whether the character is part of Lo UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatLt"></a>xmlUCSIsCatLt ()</h3><pre class="programlisting">int         xmlUCSIsCatLt                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatLt"></a>xmlUCSIsCatLt ()</h3><pre class="programlisting">int         xmlUCSIsCatLt                   (int code);</pre><p>
 Check whether the character is part of Lt UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatLu"></a>xmlUCSIsCatLu ()</h3><pre class="programlisting">int         xmlUCSIsCatLu                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatLu"></a>xmlUCSIsCatLu ()</h3><pre class="programlisting">int         xmlUCSIsCatLu                   (int code);</pre><p>
 Check whether the character is part of Lu UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatM"></a>xmlUCSIsCatM ()</h3><pre class="programlisting">int         xmlUCSIsCatM                    (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatM"></a>xmlUCSIsCatM ()</h3><pre class="programlisting">int         xmlUCSIsCatM                    (int code);</pre><p>
 Check whether the character is part of M UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatMc"></a>xmlUCSIsCatMc ()</h3><pre class="programlisting">int         xmlUCSIsCatMc                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatMc"></a>xmlUCSIsCatMc ()</h3><pre class="programlisting">int         xmlUCSIsCatMc                   (int code);</pre><p>
 Check whether the character is part of Mc UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatMe"></a>xmlUCSIsCatMe ()</h3><pre class="programlisting">int         xmlUCSIsCatMe                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatMe"></a>xmlUCSIsCatMe ()</h3><pre class="programlisting">int         xmlUCSIsCatMe                   (int code);</pre><p>
 Check whether the character is part of Me UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatMn"></a>xmlUCSIsCatMn ()</h3><pre class="programlisting">int         xmlUCSIsCatMn                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatMn"></a>xmlUCSIsCatMn ()</h3><pre class="programlisting">int         xmlUCSIsCatMn                   (int code);</pre><p>
 Check whether the character is part of Mn UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatN"></a>xmlUCSIsCatN ()</h3><pre class="programlisting">int         xmlUCSIsCatN                    (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatN"></a>xmlUCSIsCatN ()</h3><pre class="programlisting">int         xmlUCSIsCatN                    (int code);</pre><p>
 Check whether the character is part of N UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatNd"></a>xmlUCSIsCatNd ()</h3><pre class="programlisting">int         xmlUCSIsCatNd                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatNd"></a>xmlUCSIsCatNd ()</h3><pre class="programlisting">int         xmlUCSIsCatNd                   (int code);</pre><p>
 Check whether the character is part of Nd UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatNl"></a>xmlUCSIsCatNl ()</h3><pre class="programlisting">int         xmlUCSIsCatNl                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatNl"></a>xmlUCSIsCatNl ()</h3><pre class="programlisting">int         xmlUCSIsCatNl                   (int code);</pre><p>
 Check whether the character is part of Nl UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatNo"></a>xmlUCSIsCatNo ()</h3><pre class="programlisting">int         xmlUCSIsCatNo                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatNo"></a>xmlUCSIsCatNo ()</h3><pre class="programlisting">int         xmlUCSIsCatNo                   (int code);</pre><p>
 Check whether the character is part of No UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatP"></a>xmlUCSIsCatP ()</h3><pre class="programlisting">int         xmlUCSIsCatP                    (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatP"></a>xmlUCSIsCatP ()</h3><pre class="programlisting">int         xmlUCSIsCatP                    (int code);</pre><p>
 Check whether the character is part of P UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatPc"></a>xmlUCSIsCatPc ()</h3><pre class="programlisting">int         xmlUCSIsCatPc                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatPc"></a>xmlUCSIsCatPc ()</h3><pre class="programlisting">int         xmlUCSIsCatPc                   (int code);</pre><p>
 Check whether the character is part of Pc UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatPd"></a>xmlUCSIsCatPd ()</h3><pre class="programlisting">int         xmlUCSIsCatPd                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatPd"></a>xmlUCSIsCatPd ()</h3><pre class="programlisting">int         xmlUCSIsCatPd                   (int code);</pre><p>
 Check whether the character is part of Pd UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatPe"></a>xmlUCSIsCatPe ()</h3><pre class="programlisting">int         xmlUCSIsCatPe                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatPe"></a>xmlUCSIsCatPe ()</h3><pre class="programlisting">int         xmlUCSIsCatPe                   (int code);</pre><p>
 Check whether the character is part of Pe UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatPf"></a>xmlUCSIsCatPf ()</h3><pre class="programlisting">int         xmlUCSIsCatPf                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatPf"></a>xmlUCSIsCatPf ()</h3><pre class="programlisting">int         xmlUCSIsCatPf                   (int code);</pre><p>
 Check whether the character is part of Pf UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatPi"></a>xmlUCSIsCatPi ()</h3><pre class="programlisting">int         xmlUCSIsCatPi                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatPi"></a>xmlUCSIsCatPi ()</h3><pre class="programlisting">int         xmlUCSIsCatPi                   (int code);</pre><p>
 Check whether the character is part of Pi UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatPo"></a>xmlUCSIsCatPo ()</h3><pre class="programlisting">int         xmlUCSIsCatPo                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatPo"></a>xmlUCSIsCatPo ()</h3><pre class="programlisting">int         xmlUCSIsCatPo                   (int code);</pre><p>
 Check whether the character is part of Po UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatPs"></a>xmlUCSIsCatPs ()</h3><pre class="programlisting">int         xmlUCSIsCatPs                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatPs"></a>xmlUCSIsCatPs ()</h3><pre class="programlisting">int         xmlUCSIsCatPs                   (int code);</pre><p>
 Check whether the character is part of Ps UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatS"></a>xmlUCSIsCatS ()</h3><pre class="programlisting">int         xmlUCSIsCatS                    (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatS"></a>xmlUCSIsCatS ()</h3><pre class="programlisting">int         xmlUCSIsCatS                    (int code);</pre><p>
 Check whether the character is part of S UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatSc"></a>xmlUCSIsCatSc ()</h3><pre class="programlisting">int         xmlUCSIsCatSc                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatSc"></a>xmlUCSIsCatSc ()</h3><pre class="programlisting">int         xmlUCSIsCatSc                   (int code);</pre><p>
 Check whether the character is part of Sc UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatSk"></a>xmlUCSIsCatSk ()</h3><pre class="programlisting">int         xmlUCSIsCatSk                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatSk"></a>xmlUCSIsCatSk ()</h3><pre class="programlisting">int         xmlUCSIsCatSk                   (int code);</pre><p>
 Check whether the character is part of Sk UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatSm"></a>xmlUCSIsCatSm ()</h3><pre class="programlisting">int         xmlUCSIsCatSm                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatSm"></a>xmlUCSIsCatSm ()</h3><pre class="programlisting">int         xmlUCSIsCatSm                   (int code);</pre><p>
 Check whether the character is part of Sm UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatSo"></a>xmlUCSIsCatSo ()</h3><pre class="programlisting">int         xmlUCSIsCatSo                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatSo"></a>xmlUCSIsCatSo ()</h3><pre class="programlisting">int         xmlUCSIsCatSo                   (int code);</pre><p>
 Check whether the character is part of So UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatZ"></a>xmlUCSIsCatZ ()</h3><pre class="programlisting">int         xmlUCSIsCatZ                    (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatZ"></a>xmlUCSIsCatZ ()</h3><pre class="programlisting">int         xmlUCSIsCatZ                    (int code);</pre><p>
 Check whether the character is part of Z UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatZl"></a>xmlUCSIsCatZl ()</h3><pre class="programlisting">int         xmlUCSIsCatZl                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatZl"></a>xmlUCSIsCatZl ()</h3><pre class="programlisting">int         xmlUCSIsCatZl                   (int code);</pre><p>
 Check whether the character is part of Zl UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatZp"></a>xmlUCSIsCatZp ()</h3><pre class="programlisting">int         xmlUCSIsCatZp                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatZp"></a>xmlUCSIsCatZp ()</h3><pre class="programlisting">int         xmlUCSIsCatZp                   (int code);</pre><p>
 Check whether the character is part of Zp UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatZs"></a>xmlUCSIsCatZs ()</h3><pre class="programlisting">int         xmlUCSIsCatZs                   (int code);</pre><p>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCatZs"></a>xmlUCSIsCatZs ()</h3><pre class="programlisting">int         xmlUCSIsCatZs                   (int code);</pre><p>
 Check whether the character is part of Zs UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>code</tt></i> :</span></td><td> UCS code point
-</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true 0 otherwise
-</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlUCSIsCat"></a>xmlUCSIsCat ()</h3><pre class="programlisting">int         xmlUCSIsCat                     (int code,
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>code</tt></i>:</span></td><td> UCS code point
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlUCSIsCat"></a>xmlUCSIsCat ()</h3><pre class="programlisting">int         xmlUCSIsCat                     (int code,
                                              const char *cat);</pre><p>
-Check whether the caracter is part of the UCS Category</p><p>
+Check whether the character is part of the UCS Category</p><p>
 
-</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><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"><span class="emphasis"><em>Returns</em></span> :</span></td><td>1 if true, 0 if false and -1 on unknown category
-</td></tr></tbody></table></div></div></div></div><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xmlautomata.html"><b>&lt;&lt; xmlautomata</b></a></td><td align="right"><a accesskey="n" href="libxml-xmlschemas.html"><b>xmlschemas &gt;&gt;</b></a></td></tr></table></body></html>
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true, 0 if false and -1 on unknown category
+</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-globals.html"><b>&lt;&lt; globals</b></a></td><td align="right"><a accesskey="n" href="libxml-xmlexports.html"><b>xmlexports &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-xmlversion.html b/doc/html/libxml-xmlversion.html
index 631adc8..ab39bd5 100644
--- a/doc/html/libxml-xmlversion.html
+++ b/doc/html/libxml-xmlversion.html
@@ -28,10 +28,11 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xpathInternals.html" title="xpathInternals"><link rel="next" href="libxml-list.html" title="list"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xpathInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-list.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xmlversion"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlversion</h2><p>xmlversion &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2693440"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xpathInternals.html" title="xpathInternals"><link rel="next" href="libxml-list.html" title="list"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xpathInternals.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-list.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xmlversion"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlversion</h2><p>xmlversion &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2772164"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
+void        <a href="libxml-xmlwin32version.html#xmlCheckVersion">xmlCheckVersion</a>                 (int version);
 #define     <a href="libxml-xmlwin32version.html#LIBXML-DOTTED-VERSION-CAPS">LIBXML_DOTTED_VERSION</a>
 #define     <a href="libxml-xmlwin32version.html#LIBXML-VERSION-CAPS">LIBXML_VERSION</a>
 #define     <a href="libxml-xmlwin32version.html#LIBXML-VERSION-STRING-CAPS">LIBXML_VERSION_STRING</a>
@@ -67,7 +68,14 @@
 #define     <a href="libxml-xmlwin32version.html#ATTRIBUTE-UNUSED-CAPS">ATTRIBUTE_UNUSED</a>
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
-</p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="LIBXML-DOTTED-VERSION-CAPS"></a>LIBXML_DOTTED_VERSION</h3><pre class="programlisting">#define     LIBXML_DOTTED_VERSION</pre><p>
+</p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlCheckVersion"></a>xmlCheckVersion ()</h3><pre class="programlisting">void        xmlCheckVersion                 (int version);</pre><p>
+check the compiled lib version against the include one.
+This can warn or immediately kill the application</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>version</tt></i>:</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="LIBXML-DOTTED-VERSION-CAPS"></a>LIBXML_DOTTED_VERSION</h3><pre class="programlisting">#define     LIBXML_DOTTED_VERSION</pre><p>
 the version string like "1.2.3"</p><p>
 
 </p></div><hr><div class="refsect2"><h3><a name="LIBXML-VERSION-CAPS"></a>LIBXML_VERSION</h3><pre class="programlisting">#define     LIBXML_VERSION</pre><p>
diff --git a/doc/html/libxml-xmlwin32version.html b/doc/html/libxml-xmlwin32version.html
index 37e5756..58b59c4 100644
--- a/doc/html/libxml-xmlwin32version.html
+++ b/doc/html/libxml-xmlwin32version.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xmlerror.html" title="xmlerror"><link rel="next" href="libxml-DOCBparser.html" title="DOCBparser"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlerror.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-DOCBparser.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xmlwin32version"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlwin32version</h2><p>xmlwin32version &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2631331"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xmlerror.html" title="xmlerror"><link rel="next" href="libxml-DOCBparser.html" title="DOCBparser"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlerror.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-DOCBparser.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xmlwin32version"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlwin32version</h2><p>xmlwin32version &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2699818"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
diff --git a/doc/html/libxml-xmlwriter.html b/doc/html/libxml-xmlwriter.html
index 83a2139..1ae2bf7 100644
--- a/doc/html/libxml-xmlwriter.html
+++ b/doc/html/libxml-xmlwriter.html
@@ -28,17 +28,257 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-debugXML.html" title="debugXML"><link rel="next" href="libxml-xmlschemas.html" title="xmlschemas"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-debugXML.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-xmlschemas.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xmlwriter"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlwriter</h2><p>xmlwriter &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2721958"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-debugXML.html" title="debugXML"><link rel="next" href="libxml-xmlschemas.html" title="xmlschemas"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-debugXML.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-xmlschemas.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xmlwriter"></a><div class="titlepage"></div><div class="refnamediv"><h2>xmlwriter</h2><p>xmlwriter &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2771402"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
 struct      <a href="libxml-xmlwriter.html#xmlTextWriter">xmlTextWriter</a>;
 typedef     <a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>;
+<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> <a href="libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a>           (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
+<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> <a href="libxml-xmlwriter.html#xmlNewTextWriterFilename">xmlNewTextWriterFilename</a>   (const char *uri,
+                                             int compression);
+<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> <a href="libxml-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a>     (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             int compression);
+void        <a href="libxml-xmlwriter.html#xmlFreeTextWriter">xmlFreeTextWriter</a>               (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a>      (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const char *version,
+                                             const char *encoding,
+                                             const char *standalone);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a>        (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a> (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const char *format,
+                                             ...);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteVFormatComment">xmlTextWriterWriteVFormatComment</a>
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const char *format,
+                                             va_list argptr);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a>       (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterStartElement">xmlTextWriterStartElement</a>       (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterStartElementNS">xmlTextWriterStartElementNS</a>     (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *namespaceURI);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterEndElement">xmlTextWriterEndElement</a>         (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterFullEndElement">xmlTextWriterFullEndElement</a>     (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatElement</a> (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const char *format,
+                                             ...);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteVFormatElement">xmlTextWriterWriteVFormatElement</a>
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const char *format,
+                                             va_list argptr);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteElement">xmlTextWriterWriteElement</a>       (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteFormatElementNS">xmlTextWriterWriteFormatElementNS</a>
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *namespaceURI,
+                                             const char *format,
+                                             ...);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteVFormatElementNS">xmlTextWriterWriteVFormatElementNS</a>
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *namespaceURI,
+                                             const char *format,
+                                             va_list argptr);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteElementNS">xmlTextWriterWriteElementNS</a>     (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *namespaceURI,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteFormatRaw">xmlTextWriterWriteFormatRaw</a>     (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const char *format,
+                                             ...);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteVFormatRaw">xmlTextWriterWriteVFormatRaw</a>    (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const char *format,
+                                             va_list argptr);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteRawLen">xmlTextWriterWriteRawLen</a>        (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content,
+                                             int len);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteRaw">xmlTextWriterWriteRaw</a>           (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteFormatString">xmlTextWriterWriteFormatString</a>  (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const char *format,
+                                             ...);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteVFormatString">xmlTextWriterWriteVFormatString</a> (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const char *format,
+                                             va_list argptr);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteString">xmlTextWriterWriteString</a>        (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteBase64">xmlTextWriterWriteBase64</a>        (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const char *data,
+                                             int start,
+                                             int len);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteBinHex">xmlTextWriterWriteBinHex</a>        (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const char *data,
+                                             int start,
+                                             int len);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterStartAttribute">xmlTextWriterStartAttribute</a>     (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterStartAttributeNS">xmlTextWriterStartAttributeNS</a>   (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *namespaceURI);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterEndAttribute">xmlTextWriterEndAttribute</a>       (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteFormatAttribute">xmlTextWriterWriteFormatAttribute</a>
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const char *format,
+                                             ...);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteVFormatAttribute">xmlTextWriterWriteVFormatAttribute</a>
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const char *format,
+                                             va_list argptr);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteAttribute">xmlTextWriterWriteAttribute</a>     (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteFormatAttributeNS">xmlTextWriterWriteFormatAttributeNS</a>
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *namespaceURI,
+                                             const char *format,
+                                             ...);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteVFormatAttributeNS">xmlTextWriterWriteVFormatAttributeNS</a>
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *namespaceURI,
+                                             const char *format,
+                                             va_list argptr);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteAttributeNS">xmlTextWriterWriteAttributeNS</a>   (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *namespaceURI,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterStartPI">xmlTextWriterStartPI</a>            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *target);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterEndPI">xmlTextWriterEndPI</a>              (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteFormatPI">xmlTextWriterWriteFormatPI</a>      (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *target,
+                                             const char *format,
+                                             ...);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteVFormatPI">xmlTextWriterWriteVFormatPI</a>     (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *target,
+                                             const char *format,
+                                             va_list argptr);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWritePI">xmlTextWriterWritePI</a>            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *target,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
 #define     <a href="libxml-xmlwriter.html#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a>
+int         <a href="libxml-xmlwriter.html#xmlTextWriterStartCDATA">xmlTextWriterStartCDATA</a>         (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterEndCDATA">xmlTextWriterEndCDATA</a>           (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteFormatCDATA">xmlTextWriterWriteFormatCDATA</a>   (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const char *format,
+                                             ...);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteVFormatCDATA">xmlTextWriterWriteVFormatCDATA</a>  (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const char *format,
+                                             va_list argptr);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteCDATA">xmlTextWriterWriteCDATA</a>         (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterStartDTD">xmlTextWriterStartDTD</a>           (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubid,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysid);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterEndDTD">xmlTextWriterEndDTD</a>             (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteFormatDTD">xmlTextWriterWriteFormatDTD</a>     (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubid,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysid,
+                                             const char *format,
+                                             ...);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTD">xmlTextWriterWriteVFormatDTD</a>    (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubid,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysid,
+                                             const char *format,
+                                             va_list argptr);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteDTD">xmlTextWriterWriteDTD</a>           (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubid,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysid,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *subset);
 #define     <a href="libxml-xmlwriter.html#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a>
+int         <a href="libxml-xmlwriter.html#xmlTextWriterStartDTDElement">xmlTextWriterStartDTDElement</a>    (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
 #define     <a href="libxml-xmlwriter.html#xmlTextWriterEndDTDElement">xmlTextWriterEndDTDElement</a>
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDElement">xmlTextWriterWriteFormatDTDElement</a>
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const char *format,
+                                             ...);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDElement">xmlTextWriterWriteVFormatDTDElement</a>
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const char *format,
+                                             va_list argptr);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteDTDElement">xmlTextWriterWriteDTDElement</a>    (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterStartDTDAttlist">xmlTextWriterStartDTDAttlist</a>    (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
 #define     <a href="libxml-xmlwriter.html#xmlTextWriterEndDTDAttlist">xmlTextWriterEndDTDAttlist</a>
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDAttlist">xmlTextWriterWriteFormatDTDAttlist</a>
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const char *format,
+                                             ...);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDAttlist">xmlTextWriterWriteVFormatDTDAttlist</a>
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const char *format,
+                                             va_list argptr);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteDTDAttlist">xmlTextWriterWriteDTDAttlist</a>    (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterStartDTDEntity">xmlTextWriterStartDTDEntity</a>     (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             int pe,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
 #define     <a href="libxml-xmlwriter.html#xmlTextWriterEndDTDEntity">xmlTextWriterEndDTDEntity</a>
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteFormatDTDInternalEntity">xmlTextWriterWriteFormatDTDInternalEntity</a>
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             int pe,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const char *format,
+                                             ...);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteVFormatDTDInternalEntity">xmlTextWriterWriteVFormatDTDInternalEntity</a>
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             int pe,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const char *format,
+                                             va_list argptr);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteDTDInternalEntity">xmlTextWriterWriteDTDInternalEntity</a>
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             int pe,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteDTDExternalEntity">xmlTextWriterWriteDTDExternalEntity</a>
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             int pe,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubid,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysid,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ndataid);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteDTDEntity">xmlTextWriterWriteDTDEntity</a>     (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             int pe,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubid,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysid,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ndataid,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterWriteDTDNotation">xmlTextWriterWriteDTDNotation</a>   (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubid,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysid);
+int         <a href="libxml-xmlwriter.html#xmlTextWriterFlush">xmlTextWriterFlush</a>              (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlTextWriter"></a>struct xmlTextWriter</h3><pre class="programlisting">struct xmlTextWriter;</pre><p>
@@ -46,19 +286,703 @@
 </p></div><hr><div class="refsect2"><h3><a name="xmlTextWriterPtr"></a>xmlTextWriterPtr</h3><pre class="programlisting">typedef xmlTextWriter *xmlTextWriterPtr;
 </pre><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="xmlTextWriterWriteProcessingInstruction"></a>xmlTextWriterWriteProcessingInstruction</h3><pre class="programlisting">#define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI
+</p></div><hr><div class="refsect2"><h3><a name="xmlNewTextWriter"></a>xmlNewTextWriter ()</h3><pre class="programlisting"><a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> xmlNewTextWriter           (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);</pre><p>
+Create a new xmlNewTextWriter structure using an xmlOutputBufferPtr</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>  an xmlOutputBufferPtr
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new xmlTextWriterPtr or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewTextWriterFilename"></a>xmlNewTextWriterFilename ()</h3><pre class="programlisting"><a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> xmlNewTextWriterFilename   (const char *uri,
+                                             int compression);</pre><p>
+Create a new xmlNewTextWriter structure with <i><tt>uri</tt></i> as output</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new xmlTextWriterPtr or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlNewTextWriterMemory"></a>xmlNewTextWriterMemory ()</h3><pre class="programlisting"><a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> xmlNewTextWriterMemory     (<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf,
+                                             int compression);</pre><p>
+Create a new xmlNewTextWriter structure with <i><tt>buf</tt></i> as output
+TODO: handle compression</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>  xmlBufferPtr
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new xmlTextWriterPtr or NULL in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlFreeTextWriter"></a>xmlFreeTextWriter ()</h3><pre class="programlisting">void        xmlFreeTextWriter               (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);</pre><p>
+Deallocate all the resources associated to the writer</p><p>
+
+</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 xmlTextWriterPtr
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextWriterStartDocument"></a>xmlTextWriterStartDocument ()</h3><pre class="programlisting">int         xmlTextWriterStartDocument      (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const char *version,
+                                             const char *encoding,
+                                             const char *standalone);</pre><p>
+Start a new xml document</p><p>
+
+</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 xmlTextWriterPtr
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterEndDocument"></a>xmlTextWriterEndDocument ()</h3><pre class="programlisting">int         xmlTextWriterEndDocument        (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);</pre><p>
+End an xml document. All open elements are closed</p><p>
+
+</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 xmlTextWriterPtr
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteFormatComment"></a>xmlTextWriterWriteFormatComment ()</h3><pre class="programlisting">int         xmlTextWriterWriteFormatComment (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const char *format,
+                                             ...);</pre><p>
+Write an xml comment.</p><p>
+
+</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 xmlTextWriterPtr
+</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>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteVFormatComment"></a>xmlTextWriterWriteVFormatComment ()</h3><pre class="programlisting">int         xmlTextWriterWriteVFormatComment
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const char *format,
+                                             va_list argptr);</pre><p>
+Write an xml comment.</p><p>
+
+</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 xmlTextWriterPtr
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteComment"></a>xmlTextWriterWriteComment ()</h3><pre class="programlisting">int         xmlTextWriterWriteComment       (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+Write an xml comment.</p><p>
+
+</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 xmlTextWriterPtr
+</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>  comment string
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterStartElement"></a>xmlTextWriterStartElement ()</h3><pre class="programlisting">int         xmlTextWriterStartElement       (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Start an xml element.</p><p>
+
+</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 xmlTextWriterPtr
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>  element name
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterStartElementNS"></a>xmlTextWriterStartElementNS ()</h3><pre class="programlisting">int         xmlTextWriterStartElementNS     (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *namespaceURI);</pre><p>
+Start an xml element with namespace support.</p><p>
+
+</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 xmlTextWriterPtr
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterEndElement"></a>xmlTextWriterEndElement ()</h3><pre class="programlisting">int         xmlTextWriterEndElement         (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);</pre><p>
+End the current xml element.</p><p>
+
+</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 xmlTextWriterPtr
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterFullEndElement"></a>xmlTextWriterFullEndElement ()</h3><pre class="programlisting">int         xmlTextWriterFullEndElement     (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);</pre><p>
+End the current xml element. Writes an end tag even if the element is empty</p><p>
+
+</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 xmlTextWriterPtr
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteFormatElement"></a>xmlTextWriterWriteFormatElement ()</h3><pre class="programlisting">int         xmlTextWriterWriteFormatElement (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const char *format,
+                                             ...);</pre><p>
+Write a formatted xml element.</p><p>
+
+</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 xmlTextWriterPtr
+</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>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteVFormatElement"></a>xmlTextWriterWriteVFormatElement ()</h3><pre class="programlisting">int         xmlTextWriterWriteVFormatElement
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const char *format,
+                                             va_list argptr);</pre><p>
+Write a formatted xml element.</p><p>
+
+</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 xmlTextWriterPtr
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteElement"></a>xmlTextWriterWriteElement ()</h3><pre class="programlisting">int         xmlTextWriterWriteElement       (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+Write an xml element.</p><p>
+
+</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 xmlTextWriterPtr
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteFormatElementNS"></a>xmlTextWriterWriteFormatElementNS ()</h3><pre class="programlisting">int         xmlTextWriterWriteFormatElementNS
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *namespaceURI,
+                                             const char *format,
+                                             ...);</pre><p>
+Write a formatted xml element with namespace support.</p><p>
+
+</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 xmlTextWriterPtr
+</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>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteVFormatElementNS"></a>xmlTextWriterWriteVFormatElementNS ()</h3><pre class="programlisting">int         xmlTextWriterWriteVFormatElementNS
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *namespaceURI,
+                                             const char *format,
+                                             va_list argptr);</pre><p>
+Write a formatted xml element with namespace support.</p><p>
+
+</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 xmlTextWriterPtr
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteElementNS"></a>xmlTextWriterWriteElementNS ()</h3><pre class="programlisting">int         xmlTextWriterWriteElementNS     (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *namespaceURI,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+Write an xml element with namespace support.</p><p>
+
+</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 xmlTextWriterPtr
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteFormatRaw"></a>xmlTextWriterWriteFormatRaw ()</h3><pre class="programlisting">int         xmlTextWriterWriteFormatRaw     (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const char *format,
+                                             ...);</pre><p>
+Write a formatted raw xml text.</p><p>
+
+</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 xmlTextWriterPtr
+</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>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteVFormatRaw"></a>xmlTextWriterWriteVFormatRaw ()</h3><pre class="programlisting">int         xmlTextWriterWriteVFormatRaw    (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const char *format,
+                                             va_list argptr);</pre><p>
+Write a formatted raw xml text.</p><p>
+
+</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 xmlTextWriterPtr
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteRawLen"></a>xmlTextWriterWriteRawLen ()</h3><pre class="programlisting">int         xmlTextWriterWriteRawLen        (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content,
+                                             int len);</pre><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextWriterWriteRaw"></a>xmlTextWriterWriteRaw ()</h3><pre class="programlisting">int         xmlTextWriterWriteRaw           (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+Write a raw xml text.</p><p>
+
+</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 xmlTextWriterPtr
+</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>  text string
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteFormatString"></a>xmlTextWriterWriteFormatString ()</h3><pre class="programlisting">int         xmlTextWriterWriteFormatString  (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const char *format,
+                                             ...);</pre><p>
+Write a formatted xml text.</p><p>
+
+</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 xmlTextWriterPtr
+</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>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteVFormatString"></a>xmlTextWriterWriteVFormatString ()</h3><pre class="programlisting">int         xmlTextWriterWriteVFormatString (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const char *format,
+                                             va_list argptr);</pre><p>
+Write a formatted xml text.</p><p>
+
+</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 xmlTextWriterPtr
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteString"></a>xmlTextWriterWriteString ()</h3><pre class="programlisting">int         xmlTextWriterWriteString        (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+Write an xml text.</p><p>
+
+</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 xmlTextWriterPtr
+</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>  text string
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteBase64"></a>xmlTextWriterWriteBase64 ()</h3><pre class="programlisting">int         xmlTextWriterWriteBase64        (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const char *data,
+                                             int start,
+                                             int len);</pre><p>
+Write an base64 encoded xml text.</p><p>
+
+</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 xmlTextWriterPtr
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteBinHex"></a>xmlTextWriterWriteBinHex ()</h3><pre class="programlisting">int         xmlTextWriterWriteBinHex        (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const char *data,
+                                             int start,
+                                             int len);</pre><p>
+Write a BinHex encoded xml text.</p><p>
+
+</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 xmlTextWriterPtr
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterStartAttribute"></a>xmlTextWriterStartAttribute ()</h3><pre class="programlisting">int         xmlTextWriterStartAttribute     (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Start an xml attribute.</p><p>
+
+</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 xmlTextWriterPtr
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>  element name
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterStartAttributeNS"></a>xmlTextWriterStartAttributeNS ()</h3><pre class="programlisting">int         xmlTextWriterStartAttributeNS   (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *namespaceURI);</pre><p>
+Start an xml attribute with namespace support.</p><p>
+
+</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 xmlTextWriterPtr
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterEndAttribute"></a>xmlTextWriterEndAttribute ()</h3><pre class="programlisting">int         xmlTextWriterEndAttribute       (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);</pre><p>
+End the current xml element.</p><p>
+
+</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 xmlTextWriterPtr
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteFormatAttribute"></a>xmlTextWriterWriteFormatAttribute ()</h3><pre class="programlisting">int         xmlTextWriterWriteFormatAttribute
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const char *format,
+                                             ...);</pre><p>
+Write a formatted xml attribute.</p><p>
+
+</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 xmlTextWriterPtr
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>  attribute 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>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteVFormatAttribute"></a>xmlTextWriterWriteVFormatAttribute ()</h3><pre class="programlisting">int         xmlTextWriterWriteVFormatAttribute
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const char *format,
+                                             va_list argptr);</pre><p>
+Write a formatted xml attribute.</p><p>
+
+</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 xmlTextWriterPtr
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>  attribute 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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteAttribute"></a>xmlTextWriterWriteAttribute ()</h3><pre class="programlisting">int         xmlTextWriterWriteAttribute     (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+Write an xml attribute.</p><p>
+
+</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 xmlTextWriterPtr
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>  attribute name
+</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>  attribute content
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteFormatAttributeNS"></a>xmlTextWriterWriteFormatAttributeNS ()</h3><pre class="programlisting">int         xmlTextWriterWriteFormatAttributeNS
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *namespaceURI,
+                                             const char *format,
+                                             ...);</pre><p>
+Write a formatted xml attribute.with namespace support</p><p>
+
+</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 xmlTextWriterPtr
+</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>  attribute 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>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteVFormatAttributeNS"></a>xmlTextWriterWriteVFormatAttributeNS ()</h3><pre class="programlisting">int         xmlTextWriterWriteVFormatAttributeNS
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *namespaceURI,
+                                             const char *format,
+                                             va_list argptr);</pre><p>
+Write a formatted xml attribute.with namespace support</p><p>
+
+</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 xmlTextWriterPtr
+</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>  attribute 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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteAttributeNS"></a>xmlTextWriterWriteAttributeNS ()</h3><pre class="programlisting">int         xmlTextWriterWriteAttributeNS   (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *namespaceURI,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+Write an xml attribute.</p><p>
+
+</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 xmlTextWriterPtr
+</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>  attribute 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>  attribute content
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterStartPI"></a>xmlTextWriterStartPI ()</h3><pre class="programlisting">int         xmlTextWriterStartPI            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *target);</pre><p>
+Start an xml PI.</p><p>
+
+</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 xmlTextWriterPtr
+</td></tr><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>  PI target
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterEndPI"></a>xmlTextWriterEndPI ()</h3><pre class="programlisting">int         xmlTextWriterEndPI              (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);</pre><p>
+End the current xml PI.</p><p>
+
+</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 xmlTextWriterPtr
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteFormatPI"></a>xmlTextWriterWriteFormatPI ()</h3><pre class="programlisting">int         xmlTextWriterWriteFormatPI      (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *target,
+                                             const char *format,
+                                             ...);</pre><p>
+Write a formatted PI.</p><p>
+
+</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 xmlTextWriterPtr
+</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>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteVFormatPI"></a>xmlTextWriterWriteVFormatPI ()</h3><pre class="programlisting">int         xmlTextWriterWriteVFormatPI     (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *target,
+                                             const char *format,
+                                             va_list argptr);</pre><p>
+Write a formatted xml PI.</p><p>
+
+</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 xmlTextWriterPtr
+</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>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWritePI"></a>xmlTextWriterWritePI ()</h3><pre class="programlisting">int         xmlTextWriterWritePI            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *target,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+Write an xml PI.</p><p>
+
+</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 xmlTextWriterPtr
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteProcessingInstruction"></a>xmlTextWriterWriteProcessingInstruction</h3><pre class="programlisting">#define xmlTextWriterWriteProcessingInstruction xmlTextWriterWritePI
 </pre><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="xmlTextWriterWriteDocType"></a>xmlTextWriterWriteDocType</h3><pre class="programlisting">#define xmlTextWriterWriteDocType xmlTextWriterWriteDTD
+</p></div><hr><div class="refsect2"><h3><a name="xmlTextWriterStartCDATA"></a>xmlTextWriterStartCDATA ()</h3><pre class="programlisting">int         xmlTextWriterStartCDATA         (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);</pre><p>
+Start an xml CDATA section.</p><p>
+
+</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 xmlTextWriterPtr
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterEndCDATA"></a>xmlTextWriterEndCDATA ()</h3><pre class="programlisting">int         xmlTextWriterEndCDATA           (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);</pre><p>
+End an xml CDATA section.</p><p>
+
+</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 xmlTextWriterPtr
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteFormatCDATA"></a>xmlTextWriterWriteFormatCDATA ()</h3><pre class="programlisting">int         xmlTextWriterWriteFormatCDATA   (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const char *format,
+                                             ...);</pre><p>
+Write a formatted xml CDATA.</p><p>
+
+</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 xmlTextWriterPtr
+</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>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteVFormatCDATA"></a>xmlTextWriterWriteVFormatCDATA ()</h3><pre class="programlisting">int         xmlTextWriterWriteVFormatCDATA  (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const char *format,
+                                             va_list argptr);</pre><p>
+Write a formatted xml CDATA.</p><p>
+
+</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 xmlTextWriterPtr
+</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>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteCDATA"></a>xmlTextWriterWriteCDATA ()</h3><pre class="programlisting">int         xmlTextWriterWriteCDATA         (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+Write an xml CDATA.</p><p>
+
+</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 xmlTextWriterPtr
+</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>  CDATA content
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterStartDTD"></a>xmlTextWriterStartDTD ()</h3><pre class="programlisting">int         xmlTextWriterStartDTD           (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubid,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysid);</pre><p>
+Start an xml DTD.</p><p>
+
+</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 xmlTextWriterPtr
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterEndDTD"></a>xmlTextWriterEndDTD ()</h3><pre class="programlisting">int         xmlTextWriterEndDTD             (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);</pre><p>
+End an xml DTD.</p><p>
+
+</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 xmlTextWriterPtr
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteFormatDTD"></a>xmlTextWriterWriteFormatDTD ()</h3><pre class="programlisting">int         xmlTextWriterWriteFormatDTD     (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubid,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysid,
+                                             const char *format,
+                                             ...);</pre><p>
+Write a DTD with a formatted markup declarations part.</p><p>
+
+</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 xmlTextWriterPtr
+</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>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteVFormatDTD"></a>xmlTextWriterWriteVFormatDTD ()</h3><pre class="programlisting">int         xmlTextWriterWriteVFormatDTD    (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubid,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysid,
+                                             const char *format,
+                                             va_list argptr);</pre><p>
+Write a DTD with a formatted markup declarations part.</p><p>
+
+</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 xmlTextWriterPtr
+</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>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteDTD"></a>xmlTextWriterWriteDTD ()</h3><pre class="programlisting">int         xmlTextWriterWriteDTD           (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubid,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysid,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *subset);</pre><p>
+Write a DTD.</p><p>
+
+</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 xmlTextWriterPtr
+</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>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlTextWriterWriteDocType"></a>xmlTextWriterWriteDocType</h3><pre class="programlisting">#define xmlTextWriterWriteDocType xmlTextWriterWriteDTD
 </pre><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="xmlTextWriterEndDTDElement"></a>xmlTextWriterEndDTDElement</h3><pre class="programlisting">#define xmlTextWriterEndDTDElement xmlTextWriterEndDTD
+</p></div><hr><div class="refsect2"><h3><a name="xmlTextWriterStartDTDElement"></a>xmlTextWriterStartDTDElement ()</h3><pre class="programlisting">int         xmlTextWriterStartDTDElement    (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextWriterEndDTDElement"></a>xmlTextWriterEndDTDElement</h3><pre class="programlisting">#define xmlTextWriterEndDTDElement xmlTextWriterEndDTD
 </pre><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="xmlTextWriterEndDTDAttlist"></a>xmlTextWriterEndDTDAttlist</h3><pre class="programlisting">#define xmlTextWriterEndDTDAttlist xmlTextWriterEndDTD
+</p></div><hr><div class="refsect2"><h3><a name="xmlTextWriterWriteFormatDTDElement"></a>xmlTextWriterWriteFormatDTDElement ()</h3><pre class="programlisting">int         xmlTextWriterWriteFormatDTDElement
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const char *format,
+                                             ...);</pre><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextWriterWriteVFormatDTDElement"></a>xmlTextWriterWriteVFormatDTDElement ()</h3><pre class="programlisting">int         xmlTextWriterWriteVFormatDTDElement
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const char *format,
+                                             va_list argptr);</pre><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextWriterWriteDTDElement"></a>xmlTextWriterWriteDTDElement ()</h3><pre class="programlisting">int         xmlTextWriterWriteDTDElement    (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextWriterStartDTDAttlist"></a>xmlTextWriterStartDTDAttlist ()</h3><pre class="programlisting">int         xmlTextWriterStartDTDAttlist    (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextWriterEndDTDAttlist"></a>xmlTextWriterEndDTDAttlist</h3><pre class="programlisting">#define xmlTextWriterEndDTDAttlist xmlTextWriterEndDTD
 </pre><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="xmlTextWriterEndDTDEntity"></a>xmlTextWriterEndDTDEntity</h3><pre class="programlisting">#define xmlTextWriterEndDTDEntity xmlTextWriterEndDTD
+</p></div><hr><div class="refsect2"><h3><a name="xmlTextWriterWriteFormatDTDAttlist"></a>xmlTextWriterWriteFormatDTDAttlist ()</h3><pre class="programlisting">int         xmlTextWriterWriteFormatDTDAttlist
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const char *format,
+                                             ...);</pre><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextWriterWriteVFormatDTDAttlist"></a>xmlTextWriterWriteVFormatDTDAttlist ()</h3><pre class="programlisting">int         xmlTextWriterWriteVFormatDTDAttlist
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const char *format,
+                                             va_list argptr);</pre><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextWriterWriteDTDAttlist"></a>xmlTextWriterWriteDTDAttlist ()</h3><pre class="programlisting">int         xmlTextWriterWriteDTDAttlist    (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextWriterStartDTDEntity"></a>xmlTextWriterStartDTDEntity ()</h3><pre class="programlisting">int         xmlTextWriterStartDTDEntity     (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             int pe,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>pe</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextWriterEndDTDEntity"></a>xmlTextWriterEndDTDEntity</h3><pre class="programlisting">#define xmlTextWriterEndDTDEntity xmlTextWriterEndDTD
 </pre><p>
 
-</p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-debugXML.html"><b>&lt;&lt; debugXML</b></a></td><td align="right"><a accesskey="n" href="libxml-xmlschemas.html"><b>xmlschemas &gt;&gt;</b></a></td></tr></table></body></html>
+</p></div><hr><div class="refsect2"><h3><a name="xmlTextWriterWriteFormatDTDInternalEntity"></a>xmlTextWriterWriteFormatDTDInternalEntity ()</h3><pre class="programlisting">int         xmlTextWriterWriteFormatDTDInternalEntity
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             int pe,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const char *format,
+                                             ...);</pre><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>pe</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextWriterWriteVFormatDTDInternalEntity"></a>xmlTextWriterWriteVFormatDTDInternalEntity ()</h3><pre class="programlisting">int         xmlTextWriterWriteVFormatDTDInternalEntity
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             int pe,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const char *format,
+                                             va_list argptr);</pre><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>pe</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextWriterWriteDTDInternalEntity"></a>xmlTextWriterWriteDTDInternalEntity ()</h3><pre class="programlisting">int         xmlTextWriterWriteDTDInternalEntity
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             int pe,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>pe</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextWriterWriteDTDExternalEntity"></a>xmlTextWriterWriteDTDExternalEntity ()</h3><pre class="programlisting">int         xmlTextWriterWriteDTDExternalEntity
+                                            (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             int pe,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubid,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysid,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ndataid);</pre><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>pe</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>pubid</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>ndataid</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextWriterWriteDTDEntity"></a>xmlTextWriterWriteDTDEntity ()</h3><pre class="programlisting">int         xmlTextWriterWriteDTDEntity     (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             int pe,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubid,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysid,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ndataid,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *content);</pre><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>pe</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>pubid</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>ndataid</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextWriterWriteDTDNotation"></a>xmlTextWriterWriteDTDNotation ()</h3><pre class="programlisting">int         xmlTextWriterWriteDTDNotation   (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *pubid,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *sysid);</pre><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>writer</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>pubid</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>
+
+
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlTextWriterFlush"></a>xmlTextWriterFlush ()</h3><pre class="programlisting">int         xmlTextWriterFlush              (<a href="libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);</pre><p>
+Flush the output buffer.</p><p>
+
+</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 xmlTextWriterPtr
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the bytes written (may be 0 because of buffering) or -1 in case of error
+</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-debugXML.html"><b>&lt;&lt; debugXML</b></a></td><td align="right"><a accesskey="n" href="libxml-xmlschemas.html"><b>xmlschemas &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-xpath.html b/doc/html/libxml-xpath.html
index b5963af..31928cc 100644
--- a/doc/html/libxml-xpath.html
+++ b/doc/html/libxml-xpath.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xmlIO.html" title="xmlIO"><link rel="next" href="libxml-chvalid.html" title="chvalid"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlIO.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-chvalid.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xpath"></a><div class="titlepage"></div><div class="refnamediv"><h2>xpath</h2><p>xpath &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2591929"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xmlIO.html" title="xmlIO"><link rel="next" href="libxml-SAX.html" title="SAX"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlIO.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-SAX.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xpath"></a><div class="titlepage"></div><div class="refnamediv"><h2>xpath</h2><p>xpath &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2610919"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -63,9 +63,49 @@
 extern      double <a href="libxml-xpath.html#xmlXPathNAN">xmlXPathNAN</a>;
 extern      double <a href="libxml-xpath.html#xmlXPathPINF">xmlXPathPINF</a>;
 extern      double <a href="libxml-xpath.html#xmlXPathNINF">xmlXPathNINF</a>;
+int         <a href="libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a>                   (<GTKDOCLINK HREF="double">double</GTKDOCLINK> val);
+int         <a href="libxml-xpath.html#xmlXPathIsInf">xmlXPathIsInf</a>                   (<GTKDOCLINK HREF="double">double</GTKDOCLINK> val);
 #define     <a href="libxml-xpath.html#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a>        (ns)
 #define     <a href="libxml-xpath.html#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a>             (ns, index)
 #define     <a href="libxml-xpath.html#xmlXPathNodeSetIsEmpty">xmlXPathNodeSetIsEmpty</a>          (ns)
+void        <a href="libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a>              (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj);
+<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpath.html#xmlXPathNodeSetCreate">xmlXPathNodeSetCreate</a>         (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);
+void        <a href="libxml-xpath.html#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a>         (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj);
+void        <a href="libxml-xpath.html#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a>             (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> obj);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpath.html#xmlXPathObjectCopy">xmlXPathObjectCopy</a>        (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
+int         <a href="libxml-xpath.html#xmlXPathCmpNodes">xmlXPathCmpNodes</a>                (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node1,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
+int         <a href="libxml-xpath.html#xmlXPathCastNumberToBoolean">xmlXPathCastNumberToBoolean</a>     (<GTKDOCLINK HREF="double">double</GTKDOCLINK> val);
+int         <a href="libxml-xpath.html#xmlXPathCastStringToBoolean">xmlXPathCastStringToBoolean</a>     (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);
+int         <a href="libxml-xpath.html#xmlXPathCastNodeSetToBoolean">xmlXPathCastNodeSetToBoolean</a>    (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);
+int         <a href="libxml-xpath.html#xmlXPathCastToBoolean">xmlXPathCastToBoolean</a>           (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
+<GTKDOCLINK HREF="double">double</GTKDOCLINK>      <a href="libxml-xpath.html#xmlXPathCastBooleanToNumber">xmlXPathCastBooleanToNumber</a>     (int val);
+<GTKDOCLINK HREF="double">double</GTKDOCLINK>      <a href="libxml-xpath.html#xmlXPathCastStringToNumber">xmlXPathCastStringToNumber</a>      (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);
+<GTKDOCLINK HREF="double">double</GTKDOCLINK>      <a href="libxml-xpath.html#xmlXPathCastNodeToNumber">xmlXPathCastNodeToNumber</a>        (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+<GTKDOCLINK HREF="double">double</GTKDOCLINK>      <a href="libxml-xpath.html#xmlXPathCastNodeSetToNumber">xmlXPathCastNodeSetToNumber</a>     (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);
+<GTKDOCLINK HREF="double">double</GTKDOCLINK>      <a href="libxml-xpath.html#xmlXPathCastToNumber">xmlXPathCastToNumber</a>            (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xpath.html#xmlXPathCastBooleanToString">xmlXPathCastBooleanToString</a>     (int val);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xpath.html#xmlXPathCastNumberToString">xmlXPathCastNumberToString</a>      (<GTKDOCLINK HREF="double">double</GTKDOCLINK> val);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xpath.html#xmlXPathCastNodeToString">xmlXPathCastNodeToString</a>        (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xpath.html#xmlXPathCastNodeSetToString">xmlXPathCastNodeSetToString</a>     (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xpath.html#xmlXPathCastToString">xmlXPathCastToString</a>            (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpath.html#xmlXPathConvertBoolean">xmlXPathConvertBoolean</a>    (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpath.html#xmlXPathConvertNumber">xmlXPathConvertNumber</a>     (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpath.html#xmlXPathConvertString">xmlXPathConvertString</a>     (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
+void        <a href="libxml-xpath.html#xmlXPathInit">xmlXPathInit</a>                    (void);
+<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> <a href="libxml-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a>       (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+void        <a href="libxml-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a>             (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
+<GTKDOCLINK HREF="long">long</GTKDOCLINK>        <a href="libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a>           (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpath.html#xmlXPathEval">xmlXPathEval</a>              (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a>    (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
+int         <a href="libxml-xpath.html#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a>           (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res);
+<a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> <a href="libxml-xpath.html#xmlXPathCompile">xmlXPathCompile</a>         (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpath.html#xmlXPathCompiledEval">xmlXPathCompiledEval</a>      (<a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp,
+                                             <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
+void        <a href="libxml-xpath.html#xmlXPathFreeCompExpr">xmlXPathFreeCompExpr</a>            (<a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlXPathContext"></a>struct xmlXPathContext</h3><pre class="programlisting">struct xmlXPathContext {
@@ -321,7 +361,21 @@
 </p></div><hr><div class="refsect2"><h3><a name="xmlXPathNINF"></a>xmlXPathNINF</h3><pre class="programlisting">extern double xmlXPathNINF;
 </pre><p>
 
-</p></div><hr><div class="refsect2"><h3><a name="xmlXPathNodeSetGetLength"></a>xmlXPathNodeSetGetLength()</h3><pre class="programlisting">#define xmlXPathNodeSetGetLength(ns) ((ns) ? (ns)-&gt;nodeNr : 0)
+</p></div><hr><div class="refsect2"><h3><a name="xmlXPathIsNaN"></a>xmlXPathIsNaN ()</h3><pre class="programlisting">int         xmlXPathIsNaN                   (<GTKDOCLINK HREF="double">double</GTKDOCLINK> val);</pre><p>
+Provides a portable <GTKDOCLINK HREF="isnan">isnan</GTKDOCLINK>() function to detect whether a double
+is a NotaNumber. Based on trio code
+http://sourceforge.net/projects/ctrio/</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  a double value
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if the value is a NaN, 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathIsInf"></a>xmlXPathIsInf ()</h3><pre class="programlisting">int         xmlXPathIsInf                   (<GTKDOCLINK HREF="double">double</GTKDOCLINK> val);</pre><p>
+Provides a portable <GTKDOCLINK HREF="isinf">isinf</GTKDOCLINK>() function to detect whether a double
+is a +Infinite or -Infinite. Based on trio code
+http://sourceforge.net/projects/ctrio/</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  a double value
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 vi the value is +Infinite, -1 if -Infinite, 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNodeSetGetLength"></a>xmlXPathNodeSetGetLength()</h3><pre class="programlisting">#define xmlXPathNodeSetGetLength(ns) ((ns) ? (ns)-&gt;nodeNr : 0)
 </pre><p>
 Implement a functionality similar to the DOM NodeList.length.</p><p>
 
@@ -335,4 +389,195 @@
 Checks whether <i><tt>ns</tt></i> is empty or not.</p><p>
 
 </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></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xmlIO.html"><b>&lt;&lt; xmlIO</b></a></td><td align="right"><a accesskey="n" href="libxml-chvalid.html"><b>chvalid &gt;&gt;</b></a></td></tr></table></body></html>
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathFreeObject"></a>xmlXPathFreeObject ()</h3><pre class="programlisting">void        xmlXPathFreeObject              (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj);</pre><p>
+Free up an xmlXPathObjectPtr object.</p><p>
+
+</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"><h3><a name="xmlXPathNodeSetCreate"></a>xmlXPathNodeSetCreate ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathNodeSetCreate         (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);</pre><p>
+Create a new xmlNodeSetPtr of type double and of value <i><tt>val</tt></i></p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  an initial xmlNodePtr, or NULL
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathFreeNodeSetList"></a>xmlXPathFreeNodeSetList ()</h3><pre class="programlisting">void        xmlXPathFreeNodeSetList         (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj);</pre><p>
+Free up the xmlXPathObjectPtr <i><tt>obj</tt></i> but don't deallocate the objects in
+the list contrary to <a href="libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a>().</p><p>
+
+</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"><h3><a name="xmlXPathFreeNodeSet"></a>xmlXPathFreeNodeSet ()</h3><pre class="programlisting">void        xmlXPathFreeNodeSet             (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> obj);</pre><p>
+Free the NodeSet compound (not the actual nodes !).</p><p>
+
+</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 xmlNodeSetPtr to free
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathObjectCopy"></a>xmlXPathObjectCopy ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathObjectCopy        (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);</pre><p>
+allocate a new copy of a given object</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  the original object
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathCmpNodes"></a>xmlXPathCmpNodes ()</h3><pre class="programlisting">int         xmlXPathCmpNodes                (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node1,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2);</pre><p>
+Compare two nodes w.r.t document order</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>-2 in case of error 1 if first point &lt; second point, 0 if
+        that's the same node, -1 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathCastNumberToBoolean"></a>xmlXPathCastNumberToBoolean ()</h3><pre class="programlisting">int         xmlXPathCastNumberToBoolean     (<GTKDOCLINK HREF="double">double</GTKDOCLINK> val);</pre><p>
+Converts a number to its boolean value</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  a number
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the boolean value
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathCastStringToBoolean"></a>xmlXPathCastStringToBoolean ()</h3><pre class="programlisting">int         xmlXPathCastStringToBoolean     (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);</pre><p>
+Converts a string to its boolean value</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  a string
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the boolean value
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathCastNodeSetToBoolean"></a>xmlXPathCastNodeSetToBoolean ()</h3><pre class="programlisting">int         xmlXPathCastNodeSetToBoolean    (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);</pre><p>
+Converts a node-set to its boolean value</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the boolean value
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathCastToBoolean"></a>xmlXPathCastToBoolean ()</h3><pre class="programlisting">int         xmlXPathCastToBoolean           (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);</pre><p>
+Converts an XPath object to its boolean value</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  an XPath object
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the boolean value
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathCastBooleanToNumber"></a>xmlXPathCastBooleanToNumber ()</h3><pre class="programlisting"><GTKDOCLINK HREF="double">double</GTKDOCLINK>      xmlXPathCastBooleanToNumber     (int val);</pre><p>
+Converts a boolean to its number value</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  a boolean
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number value
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathCastStringToNumber"></a>xmlXPathCastStringToNumber ()</h3><pre class="programlisting"><GTKDOCLINK HREF="double">double</GTKDOCLINK>      xmlXPathCastStringToNumber      (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);</pre><p>
+Converts a string to its number value</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  a string
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number value
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathCastNodeToNumber"></a>xmlXPathCastNodeToNumber ()</h3><pre class="programlisting"><GTKDOCLINK HREF="double">double</GTKDOCLINK>      xmlXPathCastNodeToNumber        (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
+Converts a node to its number value</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number value
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathCastNodeSetToNumber"></a>xmlXPathCastNodeSetToNumber ()</h3><pre class="programlisting"><GTKDOCLINK HREF="double">double</GTKDOCLINK>      xmlXPathCastNodeSetToNumber     (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);</pre><p>
+Converts a node-set to its number value</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number value
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathCastToNumber"></a>xmlXPathCastToNumber ()</h3><pre class="programlisting"><GTKDOCLINK HREF="double">double</GTKDOCLINK>      xmlXPathCastToNumber            (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);</pre><p>
+Converts an XPath object to its number value</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  an XPath object
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number value
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathCastBooleanToString"></a>xmlXPathCastBooleanToString ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlXPathCastBooleanToString     (int val);</pre><p>
+Converts a boolean to its string value.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  a boolean
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a newly allocated string.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathCastNumberToString"></a>xmlXPathCastNumberToString ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlXPathCastNumberToString      (<GTKDOCLINK HREF="double">double</GTKDOCLINK> val);</pre><p>
+Converts a number to its string value.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  a number
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a newly allocated string.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathCastNodeToString"></a>xmlXPathCastNodeToString ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlXPathCastNodeToString        (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
+Converts a node to its string value.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a newly allocated string.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathCastNodeSetToString"></a>xmlXPathCastNodeSetToString ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlXPathCastNodeSetToString     (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);</pre><p>
+Converts a node-set to its string value.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a newly allocated string.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathCastToString"></a>xmlXPathCastToString ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlXPathCastToString            (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);</pre><p>
+Converts an existing object to its <GTKDOCLINK HREF="string">string</GTKDOCLINK>() equivalent</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  an XPath object
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the string value of the object, NULL in case of error.
+        A new string is allocated only if needed (<i><tt>val</tt></i> isn't a
+        string object).
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathConvertBoolean"></a>xmlXPathConvertBoolean ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathConvertBoolean    (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);</pre><p>
+Converts an existing object to its <GTKDOCLINK HREF="boolean">boolean</GTKDOCLINK>() equivalent</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  an XPath object
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new object, the old one is freed (or the operation
+        is done directly on <i><tt>val</tt></i>)
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathConvertNumber"></a>xmlXPathConvertNumber ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathConvertNumber     (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);</pre><p>
+Converts an existing object to its <GTKDOCLINK HREF="number">number</GTKDOCLINK>() equivalent</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  an XPath object
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new object, the old one is freed (or the operation
+        is done directly on <i><tt>val</tt></i>)
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathConvertString"></a>xmlXPathConvertString ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathConvertString     (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);</pre><p>
+Converts an existing object to its <GTKDOCLINK HREF="string">string</GTKDOCLINK>() equivalent</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  an XPath object
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new object, the old one is freed (or the operation
+        is done directly on <i><tt>val</tt></i>)
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathInit"></a>xmlXPathInit ()</h3><pre class="programlisting">void        xmlXPathInit                    (void);</pre><p>
+Initialize the XPath environment</p><p>
+
+</p></div><hr><div class="refsect2"><h3><a name="xmlXPathNewContext"></a>xmlXPathNewContext ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> xmlXPathNewContext       (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</pre><p>
+Create a new xmlXPathContext</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the XML document
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlXPathContext just allocated. The caller will need to free it.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathFreeContext"></a>xmlXPathFreeContext ()</h3><pre class="programlisting">void        xmlXPathFreeContext             (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);</pre><p>
+Free up an xmlXPathContext</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the context to free
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathOrderDocElems"></a>xmlXPathOrderDocElems ()</h3><pre class="programlisting"><GTKDOCLINK HREF="long">long</GTKDOCLINK>        xmlXPathOrderDocElems           (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc);</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 (startting at -1)
+to be able to differenciate from line numbers.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  an input document
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of element found in the document or -1 in case
+   of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathEval"></a>xmlXPathEval ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathEval              (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);</pre><p>
+Evaluate the XPath Location Path in the given context.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlXPathObjectPtr resulting from the evaluation or NULL.
+        the caller has to free the object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathEvalExpression"></a>xmlXPathEvalExpression ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathEvalExpression    (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);</pre><p>
+Evaluate the XPath expression in the given context.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlXPathObjectPtr resulting from the evaluation or NULL.
+        the caller has to free the object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathEvalPredicate"></a>xmlXPathEvalPredicate ()</h3><pre class="programlisting">int         xmlXPathEvalPredicate           (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if predicate is true, 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathCompile"></a>xmlXPathCompile ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> xmlXPathCompile         (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);</pre><p>
+Compile an XPath expression</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlXPathCompExprPtr resulting from the compilation or NULL.
+        the caller has to free the object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathCompiledEval"></a>xmlXPathCompiledEval ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathCompiledEval      (<a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp,
+                                             <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);</pre><p>
+Evaluate the Precompiled XPath expression in the given context.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlXPathObjectPtr resulting from the evaluation or NULL.
+        the caller has to free the object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathFreeCompExpr"></a>xmlXPathFreeCompExpr ()</h3><pre class="programlisting">void        xmlXPathFreeCompExpr            (<a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp);</pre><p>
+Free up the memory allocated by <i><tt>comp</tt></i></p><p>
+
+</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></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xmlIO.html"><b>&lt;&lt; xmlIO</b></a></td><td align="right"><a accesskey="n" href="libxml-SAX.html"><b>SAX &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-xpathInternals.html b/doc/html/libxml-xpathInternals.html
index 692f47d..2a73d1d 100644
--- a/doc/html/libxml-xpathInternals.html
+++ b/doc/html/libxml-xpathInternals.html
@@ -28,7 +28,7 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-relaxng.html" title="relaxng"><link rel="next" href="libxml-xmlversion.html" title="xmlversion"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-relaxng.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-xmlversion.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xpathInternals"></a><div class="titlepage"></div><div class="refnamediv"><h2>xpathInternals</h2><p>xpathInternals &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2626358"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-relaxng.html" title="relaxng"><link rel="next" href="libxml-xmlversion.html" title="xmlversion"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-relaxng.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-xmlversion.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xpathInternals"></a><div class="titlepage"></div><div class="refnamediv"><h2>xpathInternals</h2><p>xpathInternals &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2757503"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
@@ -39,6 +39,11 @@
 #define     <a href="libxml-xpathInternals.html#xmlXPathCheckError">xmlXPathCheckError</a>              (ctxt)
 #define     <a href="libxml-xpathInternals.html#xmlXPathGetDocument">xmlXPathGetDocument</a>             (ctxt)
 #define     <a href="libxml-xpathInternals.html#xmlXPathGetContextNode">xmlXPathGetContextNode</a>          (ctxt)
+int         <a href="libxml-xpathInternals.html#xmlXPathPopBoolean">xmlXPathPopBoolean</a>              (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+<GTKDOCLINK HREF="double">double</GTKDOCLINK>      <a href="libxml-xpathInternals.html#xmlXPathPopNumber">xmlXPathPopNumber</a>               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xpathInternals.html#xmlXPathPopString">xmlXPathPopString</a>               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathPopNodeSet">xmlXPathPopNodeSet</a>            (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+void*       <a href="libxml-xpathInternals.html#xmlXPathPopExternal">xmlXPathPopExternal</a>             (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
 #define     <a href="libxml-xpathInternals.html#xmlXPathReturnBoolean">xmlXPathReturnBoolean</a>           (ctxt, val)
 #define     <a href="libxml-xpathInternals.html#xmlXPathReturnTrue">xmlXPathReturnTrue</a>              (ctxt)
 #define     <a href="libxml-xpathInternals.html#xmlXPathReturnFalse">xmlXPathReturnFalse</a>             (ctxt)
@@ -65,9 +70,217 @@
                                             (void *ctxt,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri);
+void        <a href="libxml-xpathInternals.html#xmlXPathRegisterVariableLookup">xmlXPathRegisterVariableLookup</a>  (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             <a href="libxml-xpathInternals.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a> f,
+                                             void *data);
 <a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> (<a href="libxml-xpathInternals.html#xmlXPathFuncLookupFunc">*xmlXPathFuncLookupFunc</a>)  (void *ctxt,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri);
+void        <a href="libxml-xpathInternals.html#xmlXPathRegisterFuncLookup">xmlXPathRegisterFuncLookup</a>      (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             <a href="libxml-xpathInternals.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a> f,
+                                             void *funcCtxt);
+void        <a href="libxml-xpathInternals.html#xmlXPatherror">xmlXPatherror</a>                   (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             const char *file,
+                                             int line,
+                                             int no);
+void        <a href="libxml-xpathInternals.html#xmlXPathErr">xmlXPathErr</a>                     (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int error);
+void        <a href="libxml-xpathInternals.html#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a>         (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur,
+                                             int depth);
+void        <a href="libxml-xpathInternals.html#xmlXPathDebugDumpCompExpr">xmlXPathDebugDumpCompExpr</a>       (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp,
+                                             int depth);
+int         <a href="libxml-xpathInternals.html#xmlXPathNodeSetContains">xmlXPathNodeSetContains</a>         (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);
+<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a>            (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
+                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
+<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathIntersection">xmlXPathIntersection</a>          (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
+                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
+<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathDistinctSorted">xmlXPathDistinctSorted</a>        (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes);
+<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathDistinct">xmlXPathDistinct</a>              (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes);
+int         <a href="libxml-xpathInternals.html#xmlXPathHasSameNodes">xmlXPathHasSameNodes</a>            (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
+                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
+<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a>     (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathLeadingSorted">xmlXPathLeadingSorted</a>         (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
+                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
+<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNodeLeading">xmlXPathNodeLeading</a>           (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathLeading">xmlXPathLeading</a>               (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
+                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
+<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNodeTrailingSorted">xmlXPathNodeTrailingSorted</a>    (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a>        (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
+                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
+<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a>          (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathTrailing">xmlXPathTrailing</a>              (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
+                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
+int         <a href="libxml-xpathInternals.html#xmlXPathRegisterNs">xmlXPathRegisterNs</a>              (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri);
+const <a href="libxml-tree.html#xmlChar">xmlChar</a>* <a href="libxml-xpathInternals.html#xmlXPathNsLookup">xmlXPathNsLookup</a>             (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);
+void        <a href="libxml-xpathInternals.html#xmlXPathRegisteredNsCleanup">xmlXPathRegisteredNsCleanup</a>     (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
+int         <a href="libxml-xpathInternals.html#xmlXPathRegisterFunc">xmlXPathRegisterFunc</a>            (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             <a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f);
+int         <a href="libxml-xpathInternals.html#xmlXPathRegisterFuncNS">xmlXPathRegisterFuncNS</a>          (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri,
+                                             <a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f);
+int         <a href="libxml-xpathInternals.html#xmlXPathRegisterVariable">xmlXPathRegisterVariable</a>        (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);
+int         <a href="libxml-xpathInternals.html#xmlXPathRegisterVariableNS">xmlXPathRegisterVariableNS</a>      (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri,
+                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);
+<a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> <a href="libxml-xpathInternals.html#xmlXPathFunctionLookup">xmlXPathFunctionLookup</a>     (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+<a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> <a href="libxml-xpathInternals.html#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</a>   (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri);
+void        <a href="libxml-xpathInternals.html#xmlXPathRegisteredFuncsCleanup">xmlXPathRegisteredFuncsCleanup</a>  (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathVariableLookup">xmlXPathVariableLookup</a>    (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathVariableLookupNS">xmlXPathVariableLookupNS</a>  (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri);
+void        <a href="libxml-xpathInternals.html#xmlXPathRegisteredVariablesCleanup">xmlXPathRegisteredVariablesCleanup</a>
+                                            (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
+<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNewParserContext">xmlXPathNewParserContext</a>
+                                            (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
+void        <a href="libxml-xpathInternals.html#xmlXPathFreeParserContext">xmlXPathFreeParserContext</a>       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#valuePop">valuePop</a>                  (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+int         <a href="libxml-xpathInternals.html#valuePush">valuePush</a>                       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNewString">xmlXPathNewString</a>         (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNewCString">xmlXPathNewCString</a>        (const char *val);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathWrapString">xmlXPathWrapString</a>        (<a href="libxml-tree.html#xmlChar">xmlChar</a> *val);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathWrapCString">xmlXPathWrapCString</a>       (char *val);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNewFloat">xmlXPathNewFloat</a>          (<GTKDOCLINK HREF="double">double</GTKDOCLINK> val);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNewBoolean">xmlXPathNewBoolean</a>        (int val);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNewNodeSet">xmlXPathNewNodeSet</a>        (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNewValueTree">xmlXPathNewValueTree</a>      (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);
+void        <a href="libxml-xpathInternals.html#xmlXPathNodeSetAdd">xmlXPathNodeSetAdd</a>              (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);
+void        <a href="libxml-xpathInternals.html#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a>        (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);
+void        <a href="libxml-xpathInternals.html#xmlXPathNodeSetAddNs">xmlXPathNodeSetAddNs</a>            (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns);
+void        <a href="libxml-xpathInternals.html#xmlXPathNodeSetSort">xmlXPathNodeSetSort</a>             (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set);
+void        <a href="libxml-xpathInternals.html#xmlXPathRoot">xmlXPathRoot</a>                    (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+void        <a href="libxml-xpathInternals.html#xmlXPathEvalExpr">xmlXPathEvalExpr</a>                (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xpathInternals.html#xmlXPathParseName">xmlXPathParseName</a>               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+<a href="libxml-tree.html#xmlChar">xmlChar</a>*    <a href="libxml-xpathInternals.html#xmlXPathParseNCName">xmlXPathParseNCName</a>             (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+<GTKDOCLINK HREF="double">double</GTKDOCLINK>      <a href="libxml-xpathInternals.html#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a>        (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);
+int         <a href="libxml-xpathInternals.html#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a> (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res);
+void        <a href="libxml-xpathInternals.html#xmlXPathRegisterAllFunctions">xmlXPathRegisterAllFunctions</a>    (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
+<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNodeSetMerge">xmlXPathNodeSetMerge</a>          (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val1,
+                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val2);
+void        <a href="libxml-xpathInternals.html#xmlXPathNodeSetDel">xmlXPathNodeSetDel</a>              (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);
+void        <a href="libxml-xpathInternals.html#xmlXPathNodeSetRemove">xmlXPathNodeSetRemove</a>           (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur,
+                                             int val);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathNewNodeSetList">xmlXPathNewNodeSetList</a>    (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathWrapNodeSet">xmlXPathWrapNodeSet</a>       (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpathInternals.html#xmlXPathWrapExternal">xmlXPathWrapExternal</a>      (void *val);
+int         <a href="libxml-xpathInternals.html#xmlXPathEqualValues">xmlXPathEqualValues</a>             (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+int         <a href="libxml-xpathInternals.html#xmlXPathNotEqualValues">xmlXPathNotEqualValues</a>          (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+int         <a href="libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a>           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int inf,
+                                             int strict);
+void        <a href="libxml-xpathInternals.html#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a>           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+void        <a href="libxml-xpathInternals.html#xmlXPathAddValues">xmlXPathAddValues</a>               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+void        <a href="libxml-xpathInternals.html#xmlXPathSubValues">xmlXPathSubValues</a>               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+void        <a href="libxml-xpathInternals.html#xmlXPathMultValues">xmlXPathMultValues</a>              (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+void        <a href="libxml-xpathInternals.html#xmlXPathDivValues">xmlXPathDivValues</a>               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+void        <a href="libxml-xpathInternals.html#xmlXPathModValues">xmlXPathModValues</a>               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+int         <a href="libxml-xpathInternals.html#xmlXPathIsNodeType">xmlXPathIsNodeType</a>              (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextSelf">xmlXPathNextSelf</a>                (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextChild">xmlXPathNextChild</a>               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextDescendant">xmlXPathNextDescendant</a>          (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextDescendantOrSelf">xmlXPathNextDescendantOrSelf</a>    (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextParent">xmlXPathNextParent</a>              (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a>      (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextFollowingSibling">xmlXPathNextFollowingSibling</a>    (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextFollowing">xmlXPathNextFollowing</a>           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextNamespace">xmlXPathNextNamespace</a>           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextAttribute">xmlXPathNextAttribute</a>           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextPreceding">xmlXPathNextPreceding</a>           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextAncestor">xmlXPathNextAncestor</a>            (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpathInternals.html#xmlXPathNextPrecedingSibling">xmlXPathNextPrecedingSibling</a>    (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+void        <a href="libxml-xpathInternals.html#xmlXPathLastFunction">xmlXPathLastFunction</a>            (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathPositionFunction">xmlXPathPositionFunction</a>        (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathCountFunction">xmlXPathCountFunction</a>           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a>              (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathLocalNameFunction">xmlXPathLocalNameFunction</a>       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathNamespaceURIFunction">xmlXPathNamespaceURIFunction</a>    (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a>          (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a>    (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathConcatFunction">xmlXPathConcatFunction</a>          (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathContainsFunction">xmlXPathContainsFunction</a>        (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathStartsWithFunction">xmlXPathStartsWithFunction</a>      (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a>       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a> (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathSubstringAfterFunction">xmlXPathSubstringAfterFunction</a>  (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a>       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a>       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathNotFunction">xmlXPathNotFunction</a>             (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathTrueFunction">xmlXPathTrueFunction</a>            (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathFalseFunction">xmlXPathFalseFunction</a>           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathLangFunction">xmlXPathLangFunction</a>            (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathNumberFunction">xmlXPathNumberFunction</a>          (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathSumFunction">xmlXPathSumFunction</a>             (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathFloorFunction">xmlXPathFloorFunction</a>           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathCeilingFunction">xmlXPathCeilingFunction</a>         (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathRoundFunction">xmlXPathRoundFunction</a>           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a>         (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+void        <a href="libxml-xpathInternals.html#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a>           (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlXPathSetError"></a>xmlXPathSetError()</h3><pre class="programlisting">#define     xmlXPathSetError(ctxt, err)</pre><p>
@@ -103,6 +316,35 @@
 Get the context node of an XPath context.</p><p>
 
 </p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XPath parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathPopBoolean"></a>xmlXPathPopBoolean ()</h3><pre class="programlisting">int         xmlXPathPopBoolean              (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
+Pops a boolean from the stack, handling conversion if needed.
+Check error with <a href="libxml-xpathInternals.html#xmlXPathCheckError">xmlXPathCheckError</a>.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XPath parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the boolean
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathPopNumber"></a>xmlXPathPopNumber ()</h3><pre class="programlisting"><GTKDOCLINK HREF="double">double</GTKDOCLINK>      xmlXPathPopNumber               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
+Pops a number from the stack, handling conversion if needed.
+Check error with <a href="libxml-xpathInternals.html#xmlXPathCheckError">xmlXPathCheckError</a>.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XPath parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathPopString"></a>xmlXPathPopString ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlXPathPopString               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
+Pops a string from the stack, handling conversion if needed.
+Check error with <a href="libxml-xpathInternals.html#xmlXPathCheckError">xmlXPathCheckError</a>.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XPath parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the string
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathPopNodeSet"></a>xmlXPathPopNodeSet ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathPopNodeSet            (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
+Pops a node-set from the stack, handling conversion if needed.
+Check error with <a href="libxml-xpathInternals.html#xmlXPathCheckError">xmlXPathCheckError</a>.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XPath parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the node-set
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathPopExternal"></a>xmlXPathPopExternal ()</h3><pre class="programlisting">void*       xmlXPathPopExternal             (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
+Pops an external object from the stack, handling conversion if needed.
+Check error with <a href="libxml-xpathInternals.html#xmlXPathCheckError">xmlXPathCheckError</a>.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an XPath parser context
 </td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathReturnBoolean"></a>xmlXPathReturnBoolean()</h3><pre class="programlisting">#define     xmlXPathReturnBoolean(ctxt, val)</pre><p>
 Pushes the boolean <i><tt>val</tt></i> on the context stack.</p><p>
 
@@ -208,6 +450,14 @@
 </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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the XPath object value or NULL if not found.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathRegisterVariableLookup"></a>xmlXPathRegisterVariableLookup ()</h3><pre class="programlisting">void        xmlXPathRegisterVariableLookup  (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             <a href="libxml-xpathInternals.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a> f,
+                                             void *data);</pre><p>
+register an external mechanism to do variable lookup</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathFuncLookupFunc"></a>xmlXPathFuncLookupFunc ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> (*xmlXPathFuncLookupFunc)  (void *ctxt,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
                                              const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri);</pre><p>
@@ -218,4 +468,1005 @@
 </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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the XPath function or NULL if not found.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathRegisterFuncLookup"></a>xmlXPathRegisterFuncLookup ()</h3><pre class="programlisting">void        xmlXPathRegisterFuncLookup      (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             <a href="libxml-xpathInternals.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a> f,
+                                             void *funcCtxt);</pre><p>
+Registers an external mechanism to do function lookup.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPatherror"></a>xmlXPatherror ()</h3><pre class="programlisting">void        xmlXPatherror                   (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             const char *file,
+                                             int line,
+                                             int no);</pre><p>
+Formats an error message.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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 class="refsect2"><h3><a name="xmlXPathErr"></a>xmlXPathErr ()</h3><pre class="programlisting">void        xmlXPathErr                     (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int error);</pre><p>
+Handle a Relax NG Parsing error</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathDebugDumpObject"></a>xmlXPathDebugDumpObject ()</h3><pre class="programlisting">void        xmlXPathDebugDumpObject         (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur,
+                                             int depth);</pre><p>
+Dump the content of the object for debugging purposes</p><p>
+
+</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"><h3><a name="xmlXPathDebugDumpCompExpr"></a>xmlXPathDebugDumpCompExpr ()</h3><pre class="programlisting">void        xmlXPathDebugDumpCompExpr       (<GTKDOCLINK HREF="FILE-CAPS">FILE</GTKDOCLINK> *output,
+                                             <a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp,
+                                             int depth);</pre><p>
+Dumps the tree of the compiled XPath expression.</p><p>
+
+</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"><h3><a name="xmlXPathNodeSetContains"></a>xmlXPathNodeSetContains ()</h3><pre class="programlisting">int         xmlXPathNodeSetContains         (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);</pre><p>
+checks whether <i><tt>cur</tt></i> contains <i><tt>val</tt></i></p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>true (1) if <i><tt>cur</tt></i> contains <i><tt>val</tt></i>, false (0) otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathDifference"></a>xmlXPathDifference ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathDifference            (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
+                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);</pre><p>
+Implements the EXSLT - Sets <GTKDOCLINK HREF="difference">difference</GTKDOCLINK>() function:
+   node-set set:difference (node-set, node-set)</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlXPathIntersection"></a>xmlXPathIntersection ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathIntersection          (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
+                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);</pre><p>
+Implements the EXSLT - Sets <GTKDOCLINK HREF="intersection">intersection</GTKDOCLINK>() function:
+   node-set set:intersection (node-set, node-set)</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</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"><h3><a name="xmlXPathDistinctSorted"></a>xmlXPathDistinctSorted ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathDistinctSorted        (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes);</pre><p>
+Implements the EXSLT - Sets <GTKDOCLINK HREF="distinct">distinct</GTKDOCLINK>() function:
+   node-set set:distinct (node-set)</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a subset of the nodes contained in <i><tt>nodes</tt></i>, or <i><tt>nodes</tt></i> if
+        it is empty
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathDistinct"></a>xmlXPathDistinct ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathDistinct              (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes);</pre><p>
+Implements the EXSLT - Sets <GTKDOCLINK HREF="distinct">distinct</GTKDOCLINK>() function:
+   node-set set:distinct (node-set)
+<i><tt>nodes</tt></i> is sorted by document order, then <GTKDOCLINK HREF="exslSetsDistinctSorted">exslSetsDistinctSorted</GTKDOCLINK>
+is called with the sorted node-set</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a subset of the nodes contained in <i><tt>nodes</tt></i>, or <i><tt>nodes</tt></i> if
+        it is empty
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathHasSameNodes"></a>xmlXPathHasSameNodes ()</h3><pre class="programlisting">int         xmlXPathHasSameNodes            (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
+                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);</pre><p>
+Implements the EXSLT - Sets has-same-nodes function:
+   boolean set:has-same-node(node-set, node-set)</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>true (1) if <i><tt>nodes1</tt></i> shares any node with <i><tt>nodes2</tt></i>, false (0)
+        otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNodeLeadingSorted"></a>xmlXPathNodeLeadingSorted ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathNodeLeadingSorted     (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
+Implements the EXSLT - Sets <GTKDOCLINK HREF="leading">leading</GTKDOCLINK>() function:
+   node-set set:leading (node-set, node-set)</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the nodes in <i><tt>nodes</tt></i> that precede <i><tt>node</tt></i> in document order,
+        <i><tt>nodes</tt></i> if <i><tt>node</tt></i> is NULL or an empty node-set if <i><tt>nodes</tt></i>
+        doesn't contain <i><tt>node</tt></i>
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathLeadingSorted"></a>xmlXPathLeadingSorted ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathLeadingSorted         (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
+                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);</pre><p>
+Implements the EXSLT - Sets <GTKDOCLINK HREF="leading">leading</GTKDOCLINK>() function:
+   node-set set:leading (node-set, node-set)</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the nodes in <i><tt>nodes1</tt></i> that precede the first node in <i><tt>nodes2</tt></i>
+        in document order, <i><tt>nodes1</tt></i> if <i><tt>nodes2</tt></i> is NULL or empty or
+        an empty node-set if <i><tt>nodes1</tt></i> doesn't contain <i><tt>nodes2</tt></i>
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNodeLeading"></a>xmlXPathNodeLeading ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathNodeLeading           (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
+Implements the EXSLT - Sets <GTKDOCLINK HREF="leading">leading</GTKDOCLINK>() function:
+   node-set set:leading (node-set, node-set)
+<i><tt>nodes</tt></i> is sorted by document order, then <GTKDOCLINK HREF="exslSetsNodeLeadingSorted">exslSetsNodeLeadingSorted</GTKDOCLINK>
+is called.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the nodes in <i><tt>nodes</tt></i> that precede <i><tt>node</tt></i> in document order,
+        <i><tt>nodes</tt></i> if <i><tt>node</tt></i> is NULL or an empty node-set if <i><tt>nodes</tt></i>
+        doesn't contain <i><tt>node</tt></i>
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathLeading"></a>xmlXPathLeading ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathLeading               (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
+                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);</pre><p>
+Implements the EXSLT - Sets <GTKDOCLINK HREF="leading">leading</GTKDOCLINK>() function:
+   node-set set:leading (node-set, node-set)
+<i><tt>nodes1</tt></i> and <i><tt>nodes2</tt></i> are sorted by document order, then
+<GTKDOCLINK HREF="exslSetsLeadingSorted">exslSetsLeadingSorted</GTKDOCLINK> is called.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the nodes in <i><tt>nodes1</tt></i> that precede the first node in <i><tt>nodes2</tt></i>
+        in document order, <i><tt>nodes1</tt></i> if <i><tt>nodes2</tt></i> is NULL or empty or
+        an empty node-set if <i><tt>nodes1</tt></i> doesn't contain <i><tt>nodes2</tt></i>
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNodeTrailingSorted"></a>xmlXPathNodeTrailingSorted ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathNodeTrailingSorted    (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
+Implements the EXSLT - Sets <GTKDOCLINK HREF="trailing">trailing</GTKDOCLINK>() function:
+   node-set set:trailing (node-set, node-set)</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the nodes in <i><tt>nodes</tt></i> that follow <i><tt>node</tt></i> in document order,
+        <i><tt>nodes</tt></i> if <i><tt>node</tt></i> is NULL or an empty node-set if <i><tt>nodes</tt></i>
+        doesn't contain <i><tt>node</tt></i>
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathTrailingSorted"></a>xmlXPathTrailingSorted ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathTrailingSorted        (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
+                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);</pre><p>
+Implements the EXSLT - Sets <GTKDOCLINK HREF="trailing">trailing</GTKDOCLINK>() function:
+   node-set set:trailing (node-set, node-set)</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the nodes in <i><tt>nodes1</tt></i> that follow the first node in <i><tt>nodes2</tt></i>
+        in document order, <i><tt>nodes1</tt></i> if <i><tt>nodes2</tt></i> is NULL or empty or
+        an empty node-set if <i><tt>nodes1</tt></i> doesn't contain <i><tt>nodes2</tt></i>
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNodeTrailing"></a>xmlXPathNodeTrailing ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathNodeTrailing          (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node);</pre><p>
+Implements the EXSLT - Sets <GTKDOCLINK HREF="trailing">trailing</GTKDOCLINK>() function:
+   node-set set:trailing (node-set, node-set)
+<i><tt>nodes</tt></i> is sorted by document order, then <a href="libxml-xpathInternals.html#xmlXPathNodeTrailingSorted">xmlXPathNodeTrailingSorted</a>
+is called.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the nodes in <i><tt>nodes</tt></i> that follow <i><tt>node</tt></i> in document order,
+        <i><tt>nodes</tt></i> if <i><tt>node</tt></i> is NULL or an empty node-set if <i><tt>nodes</tt></i>
+        doesn't contain <i><tt>node</tt></i>
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathTrailing"></a>xmlXPathTrailing ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathTrailing              (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1,
+                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);</pre><p>
+Implements the EXSLT - Sets <GTKDOCLINK HREF="trailing">trailing</GTKDOCLINK>() function:
+   node-set set:trailing (node-set, node-set)
+<i><tt>nodes1</tt></i> and <i><tt>nodes2</tt></i> are sorted by document order, then
+<a href="libxml-xpathInternals.html#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a> is called.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the nodes in <i><tt>nodes1</tt></i> that follow the first node in <i><tt>nodes2</tt></i>
+        in document order, <i><tt>nodes1</tt></i> if <i><tt>nodes2</tt></i> is NULL or empty or
+        an empty node-set if <i><tt>nodes1</tt></i> doesn't contain <i><tt>nodes2</tt></i>
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathRegisterNs"></a>xmlXPathRegisterNs ()</h3><pre class="programlisting">int         xmlXPathRegisterNs              (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri);</pre><p>
+Register a new namespace. If <i><tt>ns_uri</tt></i> is NULL it unregisters
+the namespace</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the XPath context
+</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_uri</tt></i>:</span></td><td>  the namespace name
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success, -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNsLookup"></a>xmlXPathNsLookup ()</h3><pre class="programlisting">const <a href="libxml-tree.html#xmlChar">xmlChar</a>* xmlXPathNsLookup             (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *prefix);</pre><p>
+Search in the namespace declaration array of the context for the given
+namespace name associated to the given prefix</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the value or NULL if not found
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathRegisteredNsCleanup"></a>xmlXPathRegisteredNsCleanup ()</h3><pre class="programlisting">void        xmlXPathRegisteredNsCleanup     (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);</pre><p>
+Cleanup the XPath context data associated to registered variables</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the XPath context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathRegisterFunc"></a>xmlXPathRegisterFunc ()</h3><pre class="programlisting">int         xmlXPathRegisterFunc            (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             <a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f);</pre><p>
+Register a new function. If <i><tt>f</tt></i> is NULL it unregisters the function</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success, -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathRegisterFuncNS"></a>xmlXPathRegisterFuncNS ()</h3><pre class="programlisting">int         xmlXPathRegisterFuncNS          (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri,
+                                             <a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f);</pre><p>
+Register a new function. If <i><tt>f</tt></i> is NULL it unregisters the function</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success, -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathRegisterVariable"></a>xmlXPathRegisterVariable ()</h3><pre class="programlisting">int         xmlXPathRegisterVariable        (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);</pre><p>
+Register a new variable value. If <i><tt>value</tt></i> is NULL it unregisters
+the variable</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success, -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathRegisterVariableNS"></a>xmlXPathRegisterVariableNS ()</h3><pre class="programlisting">int         xmlXPathRegisterVariableNS      (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri,
+                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);</pre><p>
+Register a new variable value. If <i><tt>value</tt></i> is NULL it unregisters
+the variable</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success, -1 in case of error
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathFunctionLookup"></a>xmlXPathFunctionLookup ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> xmlXPathFunctionLookup     (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Search in the Function array of the context for the given
+function.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlXPathFunction or NULL if not found
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathFunctionLookupNS"></a>xmlXPathFunctionLookupNS ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathFunction">xmlXPathFunction</a> xmlXPathFunctionLookupNS   (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri);</pre><p>
+Search in the Function array of the context for the given
+function.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlXPathFunction or NULL if not found
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathRegisteredFuncsCleanup"></a>xmlXPathRegisteredFuncsCleanup ()</h3><pre class="programlisting">void        xmlXPathRegisteredFuncsCleanup  (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);</pre><p>
+Cleanup the XPath context data associated to registered functions</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the XPath context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathVariableLookup"></a>xmlXPathVariableLookup ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathVariableLookup    (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Search in the Variable array of the context for the given
+variable value.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>a copy of the value or NULL if not found
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathVariableLookupNS"></a>xmlXPathVariableLookupNS ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathVariableLookupNS  (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *ns_uri);</pre><p>
+Search in the Variable array of the context for the given
+variable value.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the a copy of the value or NULL if not found
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathRegisteredVariablesCleanup"></a>xmlXPathRegisteredVariablesCleanup ()</h3><pre class="programlisting">void        xmlXPathRegisteredVariablesCleanup
+                                            (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);</pre><p>
+Cleanup the XPath context data associated to registered variables</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the XPath context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNewParserContext"></a>xmlXPathNewParserContext ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> xmlXPathNewParserContext
+                                            (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);</pre><p>
+Create a new xmlXPathParserContext</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlXPathParserContext just allocated.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathFreeParserContext"></a>xmlXPathFreeParserContext ()</h3><pre class="programlisting">void        xmlXPathFreeParserContext       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
+Free up an xmlXPathParserContext</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the context to free
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="valuePop"></a>valuePop ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> valuePop                  (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
+Pops the top XPath object from the value stack</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an XPath evaluation context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the XPath object just removed
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="valuePush"></a>valuePush ()</h3><pre class="programlisting">int         valuePush                       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);</pre><p>
+Pushes a new XPath object on top of the value stack</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the number of items on the value stack
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNewString"></a>xmlXPathNewString ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathNewString         (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *val);</pre><p>
+Create a new xmlXPathObjectPtr of type string and of value <i><tt>val</tt></i></p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  the xmlChar * value
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNewCString"></a>xmlXPathNewCString ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathNewCString        (const char *val);</pre><p>
+Create a new xmlXPathObjectPtr of type string and of value <i><tt>val</tt></i></p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  the char * value
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathWrapString"></a>xmlXPathWrapString ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathWrapString        (<a href="libxml-tree.html#xmlChar">xmlChar</a> *val);</pre><p>
+Wraps the <i><tt>val</tt></i> string into an XPath object.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  the xmlChar * value
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathWrapCString"></a>xmlXPathWrapCString ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathWrapCString       (char *val);</pre><p>
+Wraps a string into an XPath object.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  the char * value
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNewFloat"></a>xmlXPathNewFloat ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathNewFloat          (<GTKDOCLINK HREF="double">double</GTKDOCLINK> val);</pre><p>
+Create a new xmlXPathObjectPtr of type double and of value <i><tt>val</tt></i></p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  the double value
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNewBoolean"></a>xmlXPathNewBoolean ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathNewBoolean        (int val);</pre><p>
+Create a new xmlXPathObjectPtr of type boolean and of value <i><tt>val</tt></i></p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  the boolean value
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNewNodeSet"></a>xmlXPathNewNodeSet ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathNewNodeSet        (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);</pre><p>
+Create a new xmlXPathObjectPtr of type NodeSet and initialize
+it with the single Node <i><tt>val</tt></i></p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  the NodePtr value
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNewValueTree"></a>xmlXPathNewValueTree ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathNewValueTree      (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);</pre><p>
+Create a new xmlXPathObjectPtr of type Value Tree (XSLT) and initialize
+it with the tree root <i><tt>val</tt></i></p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  the NodePtr value
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNodeSetAdd"></a>xmlXPathNodeSetAdd ()</h3><pre class="programlisting">void        xmlXPathNodeSetAdd              (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);</pre><p>
+add a new xmlNodePtr to an existing NodeSet</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the initial node set
+</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  a new xmlNodePtr
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNodeSetAddUnique"></a>xmlXPathNodeSetAddUnique ()</h3><pre class="programlisting">void        xmlXPathNodeSetAddUnique        (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);</pre><p>
+add a new xmlNodePtr to an existing NodeSet, optimized version
+when we are sure the node is not already in the set.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the initial node set
+</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  a new xmlNodePtr
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNodeSetAddNs"></a>xmlXPathNodeSetAddNs ()</h3><pre class="programlisting">void        xmlXPathNodeSetAddNs            (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node,
+                                             <a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns);</pre><p>
+add a new namespace node to an existing NodeSet</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  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></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNodeSetSort"></a>xmlXPathNodeSetSort ()</h3><pre class="programlisting">void        xmlXPathNodeSetSort             (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set);</pre><p>
+Sort the node set in document order</p><p>
+
+</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"><h3><a name="xmlXPathRoot"></a>xmlXPathRoot ()</h3><pre class="programlisting">void        xmlXPathRoot                    (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
+Initialize the context to the root of the document</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the XPath Parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathEvalExpr"></a>xmlXPathEvalExpr ()</h3><pre class="programlisting">void        xmlXPathEvalExpr                (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
+Parse and evaluate an XPath expression in the given context,
+then push the result on the context stack</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the XPath Parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathParseName"></a>xmlXPathParseName ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlXPathParseName               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
+parse an XML name
+</p><p>
+[4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' |
+                 CombiningChar | Extender
+</p><p>
+[5] Name ::= (Letter | '_' | ':') (NameChar)*</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the XPath Parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the namespace name or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathParseNCName"></a>xmlXPathParseNCName ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlChar">xmlChar</a>*    xmlXPathParseNCName             (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
+parse an XML namespace non qualified name.
+</p><p>
+[NS 3] NCName ::= (Letter | '_') (NCNameChar)*
+</p><p>
+[NS 4] NCNameChar ::= Letter | Digit | '.' | '-' | '_' |
+                      CombiningChar | Extender</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the XPath Parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the namespace name or NULL
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathStringEvalNumber"></a>xmlXPathStringEvalNumber ()</h3><pre class="programlisting"><GTKDOCLINK HREF="double">double</GTKDOCLINK>      xmlXPathStringEvalNumber        (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str);</pre><p>
+[30a]  Float  ::= Number ('e' Digits?)?
+</p><p>
+ [30]   Number ::=   Digits ('.' Digits?)?
+                   | '.' Digits 
+ [31]   Digits ::=   [0-9]+
+</p><p>
+Compile a Number in the string
+In complement of the Number expression, this function also handles
+negative values : '-' Number.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the double value.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathEvaluatePredicateResult"></a>xmlXPathEvaluatePredicateResult ()</h3><pre class="programlisting">int         xmlXPathEvaluatePredicateResult (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if predicate is true, 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathRegisterAllFunctions"></a>xmlXPathRegisterAllFunctions ()</h3><pre class="programlisting">void        xmlXPathRegisterAllFunctions    (<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);</pre><p>
+Registers all default XPath functions in this context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the XPath context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNodeSetMerge"></a>xmlXPathNodeSetMerge ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathNodeSetMerge          (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val1,
+                                             <a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val2);</pre><p>
+Merges two nodesets, all nodes from <i><tt>val2</tt></i> are added to <i><tt>val1</tt></i>
+if <i><tt>val1</tt></i> is NULL, a new set is created and copied from <i><tt>val2</tt></i></p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td><i><tt>val1</tt></i> once extended or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNodeSetDel"></a>xmlXPathNodeSetDel ()</h3><pre class="programlisting">void        xmlXPathNodeSetDel              (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> val);</pre><p>
+Removes an xmlNodePtr from an existing NodeSet</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the initial node set
+</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  an xmlNodePtr
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNodeSetRemove"></a>xmlXPathNodeSetRemove ()</h3><pre class="programlisting">void        xmlXPathNodeSetRemove           (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur,
+                                             int val);</pre><p>
+Removes an entry from an existing NodeSet list.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathNewNodeSetList"></a>xmlXPathNewNodeSetList ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathNewNodeSetList    (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val);</pre><p>
+Create a new xmlXPathObjectPtr of type NodeSet and initialize
+it with the Nodeset <i><tt>val</tt></i></p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  an existing NodeSet
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathWrapNodeSet"></a>xmlXPathWrapNodeSet ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathWrapNodeSet       (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val);</pre><p>
+Wrap the Nodeset <i><tt>val</tt></i> in a new xmlXPathObjectPtr</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  the NodePtr value
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathWrapExternal"></a>xmlXPathWrapExternal ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPathWrapExternal      (void *val);</pre><p>
+Wraps the <i><tt>val</tt></i> data into an XPath object.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  the user data
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathEqualValues"></a>xmlXPathEqualValues ()</h3><pre class="programlisting">int         xmlXPathEqualValues             (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
+Implement the equal operation on XPath objects content: <i><tt>arg1</tt></i> == <i><tt>arg2</tt></i></p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the XPath Parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 or 1 depending on the results of the test.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNotEqualValues"></a>xmlXPathNotEqualValues ()</h3><pre class="programlisting">int         xmlXPathNotEqualValues          (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
+Implement the equal operation on XPath objects content: <i><tt>arg1</tt></i> == <i><tt>arg2</tt></i></p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the XPath Parser context
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 or 1 depending on the results of the test.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathCompareValues"></a>xmlXPathCompareValues ()</h3><pre class="programlisting">int         xmlXPathCompareValues           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int inf,
+                                             int strict);</pre><p>
+Implement the compare operation on XPath objects: 
+    <i><tt>arg1</tt></i> &lt; <i><tt>arg2</tt></i>    (1, 1, ...
+    <i><tt>arg1</tt></i> &lt;= <i><tt>arg2</tt></i>   (1, 0, ...
+    <i><tt>arg1</tt></i> &gt; <i><tt>arg2</tt></i>    (0, 1, ...
+    <i><tt>arg1</tt></i> &gt;= <i><tt>arg2</tt></i>   (0, 0, ...
+</p><p>
+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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if the comparison succeeded, 0 if it failed
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathValueFlipSign"></a>xmlXPathValueFlipSign ()</h3><pre class="programlisting">void        xmlXPathValueFlipSign           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the XPath Parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathAddValues"></a>xmlXPathAddValues ()</h3><pre class="programlisting">void        xmlXPathAddValues               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the XPath Parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathSubValues"></a>xmlXPathSubValues ()</h3><pre class="programlisting">void        xmlXPathSubValues               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the XPath Parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathMultValues"></a>xmlXPathMultValues ()</h3><pre class="programlisting">void        xmlXPathMultValues              (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the XPath Parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathDivValues"></a>xmlXPathDivValues ()</h3><pre class="programlisting">void        xmlXPathDivValues               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
+Implement the div operation on XPath objects <i><tt>arg1</tt></i> / <i><tt>arg2</tt></i>:
+The numeric operators convert their operands to numbers as if
+by calling the number function.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the XPath Parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathModValues"></a>xmlXPathModValues ()</h3><pre class="programlisting">void        xmlXPathModValues               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
+Implement the mod operation on XPath objects: <i><tt>arg1</tt></i> / <i><tt>arg2</tt></i>
+The numeric operators convert their operands to numbers as if
+by calling the number function.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the XPath Parser context
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathIsNodeType"></a>xmlXPathIsNodeType ()</h3><pre class="programlisting">int         xmlXPathIsNodeType              (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Is the name given a NodeType one.
+</p><p>
+ [38]   NodeType ::=   'comment'
+                   | 'text'
+                   | 'processing-instruction'
+                   | 'node'</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>  a name string
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if true 0 otherwise
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNextSelf"></a>xmlXPathNextSelf ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextSelf                (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
+Traversal function for the "self" direction
+The self axis contains just the context node itself</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the next element following that axis
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNextChild"></a>xmlXPathNextChild ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextChild               (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
+Traversal function for the "child" direction
+The child axis contains the children of the context node in document order.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the next element following that axis
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNextDescendant"></a>xmlXPathNextDescendant ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextDescendant          (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the next element following that axis
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNextDescendantOrSelf"></a>xmlXPathNextDescendantOrSelf ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextDescendantOrSelf    (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the next element following that axis
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNextParent"></a>xmlXPathNextParent ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextParent              (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
+Traversal function for the "parent" direction
+The parent axis contains the parent of the context node, if there is one.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the next element following that axis
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNextAncestorOrSelf"></a>xmlXPathNextAncestorOrSelf ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextAncestorOrSelf      (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the next element following that axis
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNextFollowingSibling"></a>xmlXPathNextFollowingSibling ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextFollowingSibling    (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the next element following that axis
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNextFollowing"></a>xmlXPathNextFollowing ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextFollowing           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</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 attribute nodes and namespace nodes; the nodes
+are ordered in document order</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the next element following that axis
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNextNamespace"></a>xmlXPathNextNamespace ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextNamespace           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</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
+</p><p>
+We keep the XML namespace node at the end of the list.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the XPath Parser context
+</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the current attribute in the traversal
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the next element following that axis
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNextAttribute"></a>xmlXPathNextAttribute ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextAttribute           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</pre><p>
+Traversal function for the "attribute" direction
+TODO: support DTD inherited default attributes</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the XPath Parser context
+</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the current attribute in the traversal
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the next element following that axis
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNextPreceding"></a>xmlXPathNextPreceding ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextPreceding           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</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 attribute nodes and namespace nodes; the nodes are
+ordered in reverse document order</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the next element following that axis
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNextAncestor"></a>xmlXPathNextAncestor ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextAncestor            (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the next element following that axis
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathNextPrecedingSibling"></a>xmlXPathNextPrecedingSibling ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextPrecedingSibling    (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur);</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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the next element following that axis
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPathLastFunction"></a>xmlXPathLastFunction ()</h3><pre class="programlisting">void        xmlXPathLastFunction            (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the <GTKDOCLINK HREF="last">last</GTKDOCLINK>() XPath function
+   number <GTKDOCLINK HREF="last">last</GTKDOCLINK>()
+The last function returns the number of nodes in the context node list.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathPositionFunction"></a>xmlXPathPositionFunction ()</h3><pre class="programlisting">void        xmlXPathPositionFunction        (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the <GTKDOCLINK HREF="position">position</GTKDOCLINK>() XPath function
+   number <GTKDOCLINK HREF="position">position</GTKDOCLINK>()
+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 <GTKDOCLINK HREF="last">last</GTKDOCLINK>().</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathCountFunction"></a>xmlXPathCountFunction ()</h3><pre class="programlisting">void        xmlXPathCountFunction           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the <GTKDOCLINK HREF="count">count</GTKDOCLINK>() XPath function
+   number count(node-set)</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathIdFunction"></a>xmlXPathIdFunction ()</h3><pre class="programlisting">void        xmlXPathIdFunction              (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the <GTKDOCLINK HREF="id">id</GTKDOCLINK>() XPath function
+   node-set id(object)
+The id function selects elements by their unique ID
+(see [5.2.1 Unique IDs]). When the argument to id is of type node-set,
+then the result is the union of the result of applying id to the
+string value of each of the nodes in the argument node-set. When the
+argument to id is of any other type, the argument is converted to a
+string as if by a call to the string function; the string is split
+into a whitespace-separated list of tokens (whitespace is any sequence
+of characters matching the production S); the result is a node-set
+containing the elements in the same document as the context node that
+have a unique ID equal to any of the tokens in the list.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathLocalNameFunction"></a>xmlXPathLocalNameFunction ()</h3><pre class="programlisting">void        xmlXPathLocalNameFunction       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the local-<GTKDOCLINK HREF="name">name</GTKDOCLINK>() 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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathNamespaceURIFunction"></a>xmlXPathNamespaceURIFunction ()</h3><pre class="programlisting">void        xmlXPathNamespaceURIFunction    (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the namespace-<GTKDOCLINK HREF="uri">uri</GTKDOCLINK>() 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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathStringFunction"></a>xmlXPathStringFunction ()</h3><pre class="programlisting">void        xmlXPathStringFunction          (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the <GTKDOCLINK HREF="string">string</GTKDOCLINK>() XPath function
+   string string(object?)
+he 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.
+</p><p>
+If the argument is omitted, it defaults to a node-set with the
+context node as its only member.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathStringLengthFunction"></a>xmlXPathStringLengthFunction ()</h3><pre class="programlisting">void        xmlXPathStringLengthFunction    (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the string-<GTKDOCLINK HREF="length">length</GTKDOCLINK>() XPath function
+   number string-length(string?)
+The string-length returns the number of characters in the string
+(see [3.6 Strings]). If the argument is omitted, it defaults to
+the context node converted to a string, in other words the value
+of the context node.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathConcatFunction"></a>xmlXPathConcatFunction ()</h3><pre class="programlisting">void        xmlXPathConcatFunction          (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the <GTKDOCLINK HREF="concat">concat</GTKDOCLINK>() XPath function
+   string concat(string, string, string*)
+The concat function returns the concatenation of its arguments.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathContainsFunction"></a>xmlXPathContainsFunction ()</h3><pre class="programlisting">void        xmlXPathContainsFunction        (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the <GTKDOCLINK HREF="contains">contains</GTKDOCLINK>() 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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathStartsWithFunction"></a>xmlXPathStartsWithFunction ()</h3><pre class="programlisting">void        xmlXPathStartsWithFunction      (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the starts-<GTKDOCLINK HREF="with">with</GTKDOCLINK>() 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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathSubstringFunction"></a>xmlXPathSubstringFunction ()</h3><pre class="programlisting">void        xmlXPathSubstringFunction       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the <GTKDOCLINK HREF="substring">substring</GTKDOCLINK>() XPath function
+   string substring(string, number, number?)
+The substring function returns the substring of the first argument
+starting at the position specified in the second argument with
+length specified in the third argument. For example,
+substring("12345",2,3) returns "234". If the third argument is not
+specified, it returns the substring starting at the position specified
+in the second argument and continuing to the end of the string. For
+example, substring("12345",2) returns "2345".  More precisely, each
+character in the string (see [3.6 Strings]) is considered to have a
+numeric position: the position of the first character is 1, the position
+of the second character is 2 and so on. The returned substring contains
+those characters for which the position of the character is greater than
+or equal to the second argument and, if the third argument is specified,
+less than the sum of the second and third arguments; the comparisons
+and addition used for the above follow the standard IEEE 754 rules. Thus:
+ - substring("12345", 1.5, 2.6) returns "234" 
+ - substring("12345", 0, 3) returns "12" 
+ - substring("12345", 0 div 0, 3) returns "" 
+ - substring("12345", 1, 0 div 0) returns "" 
+ - substring("12345", -42, 1 div 0) returns "12345" 
+ - substring("12345", -1 div 0, 1 div 0) returns ""</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathSubstringBeforeFunction"></a>xmlXPathSubstringBeforeFunction ()</h3><pre class="programlisting">void        xmlXPathSubstringBeforeFunction (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the substring-<GTKDOCLINK HREF="before">before</GTKDOCLINK>() 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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathSubstringAfterFunction"></a>xmlXPathSubstringAfterFunction ()</h3><pre class="programlisting">void        xmlXPathSubstringAfterFunction  (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the substring-<GTKDOCLINK HREF="after">after</GTKDOCLINK>() 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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathNormalizeFunction"></a>xmlXPathNormalizeFunction ()</h3><pre class="programlisting">void        xmlXPathNormalizeFunction       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the normalize-<GTKDOCLINK HREF="space">space</GTKDOCLINK>() XPath function
+   string normalize-space(string?)
+The normalize-space function returns the argument string with white
+space normalized by stripping leading and trailing whitespace
+and replacing sequences of whitespace characters by a single
+space. Whitespace characters are the same allowed by the S production
+in XML. If the argument is omitted, it defaults to the context
+node converted to a string, in other words the value of the context node.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathTranslateFunction"></a>xmlXPathTranslateFunction ()</h3><pre class="programlisting">void        xmlXPathTranslateFunction       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the <GTKDOCLINK HREF="translate">translate</GTKDOCLINK>() XPath function
+   string translate(string, string, string)
+The translate function returns the first argument string with
+occurrences of characters in the second argument string replaced
+by the character at the corresponding position in the third argument
+string. For example, translate("bar","abc","ABC") returns the string
+BAr. If there is a character in the second argument string with no
+character at a corresponding position in the third argument string
+(because the second argument string is longer than the third argument
+string), then occurrences of that character in the first argument
+string are removed. For example, translate("--aaa--","abc-","ABC")</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathNotFunction"></a>xmlXPathNotFunction ()</h3><pre class="programlisting">void        xmlXPathNotFunction             (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the <GTKDOCLINK HREF="not">not</GTKDOCLINK>() XPath function
+   boolean not(boolean)
+The not function returns true if its argument is false,
+and false otherwise.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathTrueFunction"></a>xmlXPathTrueFunction ()</h3><pre class="programlisting">void        xmlXPathTrueFunction            (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the <GTKDOCLINK HREF="true">true</GTKDOCLINK>() XPath function
+   boolean <GTKDOCLINK HREF="true">true</GTKDOCLINK>()</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathFalseFunction"></a>xmlXPathFalseFunction ()</h3><pre class="programlisting">void        xmlXPathFalseFunction           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the <GTKDOCLINK HREF="false">false</GTKDOCLINK>() XPath function
+   boolean <GTKDOCLINK HREF="false">false</GTKDOCLINK>()</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathLangFunction"></a>xmlXPathLangFunction ()</h3><pre class="programlisting">void        xmlXPathLangFunction            (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the <GTKDOCLINK HREF="lang">lang</GTKDOCLINK>() XPath function
+   boolean lang(string)
+The lang function returns true or false depending on whether the
+language of the context node as specified by xml:lang attributes
+is the same as or is a sublanguage of the language specified by
+the argument string. The language of the context node is determined
+by the value of the xml:lang attribute on the context node, or, if
+the context node has no xml:lang attribute, by the value of the
+xml:lang attribute on the nearest ancestor of the context node that
+has an xml:lang attribute. If there is no such attribute, then lang</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathNumberFunction"></a>xmlXPathNumberFunction ()</h3><pre class="programlisting">void        xmlXPathNumberFunction          (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the <GTKDOCLINK HREF="number">number</GTKDOCLINK>() XPath function
+   number number(object?)</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathSumFunction"></a>xmlXPathSumFunction ()</h3><pre class="programlisting">void        xmlXPathSumFunction             (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the <GTKDOCLINK HREF="sum">sum</GTKDOCLINK>() XPath function
+   number sum(node-set)
+The sum function returns the sum of the values of the nodes in
+the argument node-set.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathFloorFunction"></a>xmlXPathFloorFunction ()</h3><pre class="programlisting">void        xmlXPathFloorFunction           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the <GTKDOCLINK HREF="floor">floor</GTKDOCLINK>() 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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathCeilingFunction"></a>xmlXPathCeilingFunction ()</h3><pre class="programlisting">void        xmlXPathCeilingFunction         (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the <GTKDOCLINK HREF="ceiling">ceiling</GTKDOCLINK>() 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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathRoundFunction"></a>xmlXPathRoundFunction ()</h3><pre class="programlisting">void        xmlXPathRoundFunction           (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the <GTKDOCLINK HREF="round">round</GTKDOCLINK>() 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 even is returned.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathBooleanFunction"></a>xmlXPathBooleanFunction ()</h3><pre class="programlisting">void        xmlXPathBooleanFunction         (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the <GTKDOCLINK HREF="boolean">boolean</GTKDOCLINK>() XPath function
+   boolean boolean(object)
+he 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><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPathNodeSetFreeNs"></a>xmlXPathNodeSetFreeNs ()</h3><pre class="programlisting">void        xmlXPathNodeSetFreeNs           (<a href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns);</pre><p>
+Namespace node 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 need to be freed</p><p>
+
+</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></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-relaxng.html"><b>&lt;&lt; relaxng</b></a></td><td align="right"><a accesskey="n" href="libxml-xmlversion.html"><b>xmlversion &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/doc/html/libxml-xpointer.html b/doc/html/libxml-xpointer.html
index 4ecd9b1..1248499 100644
--- a/doc/html/libxml-xpointer.html
+++ b/doc/html/libxml-xpointer.html
@@ -28,12 +28,52 @@
         .navigation .title {
             font-size: 200%;
         }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual "><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xmlautomata.html" title="xmlautomata"><link rel="next" href="libxml-hash.html" title="hash"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlautomata.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual </th><td><a accesskey="n" href="libxml-hash.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xpointer"></a><div class="titlepage"></div><div class="refnamediv"><h2>xpointer</h2><p>xpointer &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2659006"></a>Synopsis</h1></h2><pre class="synopsis">
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-xmlschemastypes.html" title="xmlschemastypes"><link rel="next" href="libxml-hash.html" title="hash"></head><body text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-xmlschemastypes.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-hash.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-xpointer"></a><div class="titlepage"></div><div class="refnamediv"><h2>xpointer</h2><p>xpointer &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2750586"></a>Synopsis</h1></h2><pre class="synopsis">
 
 
 
 struct      <a href="libxml-xpointer.html#xmlLocationSet">xmlLocationSet</a>;
 typedef     <a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>;
+<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> <a href="libxml-xpointer.html#xmlXPtrLocationSetCreate">xmlXPtrLocationSetCreate</a>  (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
+void        <a href="libxml-xpointer.html#xmlXPtrFreeLocationSet">xmlXPtrFreeLocationSet</a>          (<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> obj);
+<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> <a href="libxml-xpointer.html#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a>   (<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val1,
+                                             <a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val2);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpointer.html#xmlXPtrNewRange">xmlXPtrNewRange</a>           (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> start,
+                                             int startindex,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> end,
+                                             int endindex);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpointer.html#xmlXPtrNewRangePoints">xmlXPtrNewRangePoints</a>     (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start,
+                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpointer.html#xmlXPtrNewRangeNodePoint">xmlXPtrNewRangeNodePoint</a>  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> start,
+                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpointer.html#xmlXPtrNewRangePointNode">xmlXPtrNewRangePointNode</a>  (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> end);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpointer.html#xmlXPtrNewRangeNodes">xmlXPtrNewRangeNodes</a>      (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> start,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> end);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpointer.html#xmlXPtrNewLocationSetNodes">xmlXPtrNewLocationSetNodes</a>
+                                            (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> start,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> end);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpointer.html#xmlXPtrNewLocationSetNodeSet">xmlXPtrNewLocationSetNodeSet</a>
+                                            (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpointer.html#xmlXPtrNewRangeNodeObject">xmlXPtrNewRangeNodeObject</a> (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> start,
+                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpointer.html#xmlXPtrNewCollapsedRange">xmlXPtrNewCollapsedRange</a>  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> start);
+void        <a href="libxml-xpointer.html#xmlXPtrLocationSetAdd">xmlXPtrLocationSetAdd</a>           (<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur,
+                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpointer.html#xmlXPtrWrapLocationSet">xmlXPtrWrapLocationSet</a>    (<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val);
+void        <a href="libxml-xpointer.html#xmlXPtrLocationSetDel">xmlXPtrLocationSetDel</a>           (<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur,
+                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
+void        <a href="libxml-xpointer.html#xmlXPtrLocationSetRemove">xmlXPtrLocationSetRemove</a>        (<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur,
+                                             int val);
+<a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> <a href="libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</a>        (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> here,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> origin);
+<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a href="libxml-xpointer.html#xmlXPtrEval">xmlXPtrEval</a>               (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
+void        <a href="libxml-xpointer.html#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a>          (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);
+<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="libxml-xpointer.html#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a>            (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj);
+void        <a href="libxml-xpointer.html#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a>       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
 </pre></div><div class="refsect1"><h2>Description</h2><p>
 
 </p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="xmlLocationSet"></a>struct xmlLocationSet</h3><pre class="programlisting">struct xmlLocationSet {
@@ -47,4 +87,150 @@
 </p></div><hr><div class="refsect2"><h3><a name="xmlLocationSetPtr"></a>xmlLocationSetPtr</h3><pre class="programlisting">typedef xmlLocationSet *xmlLocationSetPtr;
 </pre><p>
 
-</p></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xmlautomata.html"><b>&lt;&lt; xmlautomata</b></a></td><td align="right"><a accesskey="n" href="libxml-hash.html"><b>hash &gt;&gt;</b></a></td></tr></table></body></html>
+</p></div><hr><div class="refsect2"><h3><a name="xmlXPtrLocationSetCreate"></a>xmlXPtrLocationSetCreate ()</h3><pre class="programlisting"><a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> xmlXPtrLocationSetCreate  (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);</pre><p>
+Create a new xmlLocationSetPtr of type double and of value <i><tt>val</tt></i></p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  an initial xmlXPathObjectPtr, or NULL
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPtrFreeLocationSet"></a>xmlXPtrFreeLocationSet ()</h3><pre class="programlisting">void        xmlXPtrFreeLocationSet          (<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> obj);</pre><p>
+Free the LocationSet compound (not the actual ranges !).</p><p>
+
+</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 xmlLocationSetPtr to free
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPtrLocationSetMerge"></a>xmlXPtrLocationSetMerge ()</h3><pre class="programlisting"><a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> xmlXPtrLocationSetMerge   (<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val1,
+                                             <a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val2);</pre><p>
+Merges two rangesets, all ranges from <i><tt>val2</tt></i> are added to <i><tt>val1</tt></i></p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>val1 once extended or NULL in case of error.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPtrNewRange"></a>xmlXPtrNewRange ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPtrNewRange           (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> start,
+                                             int startindex,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> end,
+                                             int endindex);</pre><p>
+Create a new xmlXPathObjectPtr of type range</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPtrNewRangePoints"></a>xmlXPtrNewRangePoints ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPtrNewRangePoints     (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start,
+                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end);</pre><p>
+Create a new xmlXPathObjectPtr of type range using 2 Points</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPtrNewRangeNodePoint"></a>xmlXPtrNewRangeNodePoint ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPtrNewRangeNodePoint  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> start,
+                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end);</pre><p>
+Create a new xmlXPathObjectPtr of type range from a node to a point</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPtrNewRangePointNode"></a>xmlXPtrNewRangePointNode ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPtrNewRangePointNode  (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> end);</pre><p>
+Create a new xmlXPathObjectPtr of type range from a point to a node</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPtrNewRangeNodes"></a>xmlXPtrNewRangeNodes ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPtrNewRangeNodes      (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> start,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> end);</pre><p>
+Create a new xmlXPathObjectPtr of type range using 2 nodes</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPtrNewLocationSetNodes"></a>xmlXPtrNewLocationSetNodes ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPtrNewLocationSetNodes
+                                            (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> start,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> end);</pre><p>
+Create a new xmlXPathObjectPtr of type LocationSet and initialize
+it with the single range made of the two nodes <i><tt>start</tt></i> and <i><tt>end</tt></i></p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPtrNewLocationSetNodeSet"></a>xmlXPtrNewLocationSetNodeSet ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPtrNewLocationSetNodeSet
+                                            (<a href="libxml-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set);</pre><p>
+Create a new xmlXPathObjectPtr of type LocationSet and initialize
+it with all the nodes from <i><tt>set</tt></i></p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPtrNewRangeNodeObject"></a>xmlXPtrNewRangeNodeObject ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPtrNewRangeNodeObject (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> start,
+                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end);</pre><p>
+Create a new xmlXPathObjectPtr of type range from a not to an object</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPtrNewCollapsedRange"></a>xmlXPtrNewCollapsedRange ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPtrNewCollapsedRange  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> start);</pre><p>
+Create a new xmlXPathObjectPtr of type range using a single nodes</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPtrLocationSetAdd"></a>xmlXPtrLocationSetAdd ()</h3><pre class="programlisting">void        xmlXPtrLocationSetAdd           (<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur,
+                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);</pre><p>
+add a new xmlXPathObjectPtr to an existing LocationSet
+If the location already exist in the set <i><tt>val</tt></i> is freed.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the initial range set
+</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  a new xmlXPathObjectPtr
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPtrWrapLocationSet"></a>xmlXPtrWrapLocationSet ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPtrWrapLocationSet    (<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val);</pre><p>
+Wrap the LocationSet <i><tt>val</tt></i> in a new xmlXPathObjectPtr</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  the LocationSet value
+</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the newly created object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPtrLocationSetDel"></a>xmlXPtrLocationSetDel ()</h3><pre class="programlisting">void        xmlXPtrLocationSetDel           (<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur,
+                                             <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);</pre><p>
+Removes an xmlXPathObjectPtr from an existing LocationSet</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  the initial range set
+</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  an xmlXPathObjectPtr
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPtrLocationSetRemove"></a>xmlXPtrLocationSetRemove ()</h3><pre class="programlisting">void        xmlXPtrLocationSetRemove        (<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur,
+                                             int val);</pre><p>
+Removes an entry from an existing LocationSet list.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  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"><h3><a name="xmlXPtrNewContext"></a>xmlXPtrNewContext ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> xmlXPtrNewContext        (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> here,
+                                             <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> origin);</pre><p>
+Create a new XPointer context</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the 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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlXPathContext just allocated.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPtrEval"></a>xmlXPtrEval ()</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> xmlXPtrEval               (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *str,
+                                             <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);</pre><p>
+Evaluate the XPath Location Path in the given context.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the xmlXPathObjectPtr resulting from the evaluation or NULL.
+        the caller has to free the object.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPtrRangeToFunction"></a>xmlXPtrRangeToFunction ()</h3><pre class="programlisting">void        xmlXPtrRangeToFunction          (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt,
+                                             int nargs);</pre><p>
+Implement the range-<GTKDOCLINK HREF="to">to</GTKDOCLINK>() XPointer function</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  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"><h3><a name="xmlXPtrBuildNodeList"></a>xmlXPtrBuildNodeList ()</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPtrBuildNodeList            (<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj);</pre><p>
+Build a node list tree copy of the XPointer result.
+This will drop Attributes and Namespace declarations.</p><p>
+
+</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"><span class="emphasis"><i>Returns</i></span> :</span></td><td>an xmlNodePtr list or NULL.
+        the caller has to free the node tree.
+</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="xmlXPtrEvalRangePredicate"></a>xmlXPtrEvalRangePredicate ()</h3><pre class="programlisting">void        xmlXPtrEvalRangePredicate       (<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);</pre><p>
+[8]   Predicate ::=   '[' PredicateExpr ']'
+ [9]   PredicateExpr ::=   Expr 
+</p><p>
+Evaluate a predicate as in <a href="libxml-xpath.html#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a>() but for
+a Location Set instead of a node set</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  the XPointer Parser context
+</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-xmlschemastypes.html"><b>&lt;&lt; xmlschemastypes</b></a></td><td align="right"><a accesskey="n" href="libxml-hash.html"><b>hash &gt;&gt;</b></a></td></tr></table></body></html>
diff --git a/include/libxml/encoding.h b/include/libxml/encoding.h
index 4a4fe7b..4c6b7a8 100644
--- a/include/libxml/encoding.h
+++ b/include/libxml/encoding.h
@@ -30,7 +30,7 @@
 extern "C" {
 #endif
 
-/**
+/*
  * xmlCharEncoding:
  *
  * Predefined values for some standard encodings.
diff --git a/include/libxml/schemasInternals.h b/include/libxml/schemasInternals.h
index 38b5bd4..db42d3e 100644
--- a/include/libxml/schemasInternals.h
+++ b/include/libxml/schemasInternals.h
@@ -175,7 +175,7 @@
     xmlSchemaFacetPtr facets;
 };
 
-/**
+/*
  * xmlSchemaElement:
  * An element definition.
  *
diff --git a/include/libxml/valid.h b/include/libxml/valid.h
index cfef83f..4444650 100644
--- a/include/libxml/valid.h
+++ b/include/libxml/valid.h
@@ -53,7 +53,7 @@
 			       const char *msg,
 			       ...);
 
-/**
+/*
  * xmlValidCtxt:
  * An xmlValidCtxt is used for error reporting when validating.
  */
diff --git a/include/libxml/xlink.h b/include/libxml/xlink.h
index 5d10fc3..cb7ad71 100644
--- a/include/libxml/xlink.h
+++ b/include/libxml/xlink.h
@@ -63,7 +63,7 @@
  */
 typedef void (*xlinkNodeDetectFunc) (void *ctx, xmlNodePtr node);
 
-/**
+/*
  * The link detection module interact with the upper layers using
  * a set of callback registered at parsing time.
  */
diff --git a/include/libxml/xmlwin32version.h b/include/libxml/xmlwin32version.h
index c760bfb..f19be59 100644
--- a/include/libxml/xmlwin32version.h
+++ b/include/libxml/xmlwin32version.h
@@ -223,7 +223,7 @@
 #define ATTRIBUTE_UNUSED
 #endif
 
-/**
+/*
  * #pragma comment(lib, "iconv.lib")
  *
  * pragma understood my MS compiler which enables a conditional link with
diff --git a/include/libxml/xmlwin32version.h.in b/include/libxml/xmlwin32version.h.in
index ead2c03..3ecdf75 100644
--- a/include/libxml/xmlwin32version.h.in
+++ b/include/libxml/xmlwin32version.h.in
@@ -232,7 +232,7 @@
 #define ATTRIBUTE_UNUSED
 #endif
 
-/**
+/*
  * #pragma comment(lib, "iconv.lib")
  *
  * pragma understood my MS compiler which enables a conditional link with
diff --git a/include/libxml/xpathInternals.h b/include/libxml/xpathInternals.h
index 269edb8..896742b 100644
--- a/include/libxml/xpathInternals.h
+++ b/include/libxml/xpathInternals.h
@@ -23,7 +23,7 @@
  *									*
  ************************************************************************/
 
-/**
+/*
  * Many of these macros may later turn into functions. They
  * shouldn't be used in #ifdef's preprocessor instructions.
  */
diff --git a/testOOMlib.c b/testOOMlib.c
index be904b3..fd8a70f 100644
--- a/testOOMlib.c
+++ b/testOOMlib.c
@@ -34,12 +34,13 @@
 static int n_blocks_outstanding = 0;
 
 /**
+ * set_fail_alloc_counter:
+ * @until_next_fail: number of successful allocs before one fails
+ *
  * Sets the number of allocations until we simulate a failed
  * allocation. If set to 0, the next allocation to run
  * fails; if set to 1, one succeeds then the next fails; etc.
  * Set to _TEST_INT_MAX to not fail anything. 
- *
- * @param until_next_fail number of successful allocs before one fails
  */
 static void
 set_fail_alloc_counter (int until_next_fail)
@@ -48,10 +49,10 @@
 }
 
 /**
- * Gets the number of successful allocs until we'll simulate
- * a failed alloc.
+ * get_fail_alloc_counter:
  *
- * @returns current counter value
+ * Returns the number of successful allocs until we'll simulate
+ * a failed alloc.
  */
 static int
 get_fail_alloc_counter (void)
@@ -60,10 +61,12 @@
 }
 
 /**
+ * set_fail_alloc_failures:
+ * @failures_per_failure: number to fail
+ *
  * Sets how many mallocs to fail when the fail alloc counter reaches
  * 0.
  *
- * @param number to fail
  */
 static void
 set_fail_alloc_failures (int failures_per_failure)
@@ -72,12 +75,14 @@
 }
 
 /**
+ * decrement_fail_alloc_counter:
+ *
  * Called when about to alloc some memory; if
  * it returns #TRUE, then the allocation should
  * fail. If it returns #FALSE, then the allocation
  * should not fail.
  *
- * @returns #TRUE if this alloc should fail
+ * returns #TRUE if this alloc should fail
  */
 static int
 decrement_fail_alloc_counter (void)
@@ -102,9 +107,11 @@
 }
 
 /**
+ * test_get_malloc_blocks_outstanding:
+ *
  * Get the number of outstanding malloc()'d blocks.
  *
- * @returns number of blocks
+ * Returns number of blocks
  */
 int
 test_get_malloc_blocks_outstanding (void)
@@ -216,6 +223,10 @@
 }
 
 /**
+ * test_oom_handling:
+ * @func: function to call
+ * @data: data to pass to function
+ *
  * Tests how well the given function responds to out-of-memory
  * situations. Calls the function repeatedly, failing a different
  * call to malloc() each time. If the function ever returns #FALSE,
@@ -223,9 +234,7 @@
  * valid (such as returning an error, or succeeding) occurs, and #FALSE
  * if it gets confused in some way.
  *
- * @param func function to call
- * @param data data to pass to function
- * @returns #TRUE if the function never returns FALSE
+ * Returns #TRUE if the function never returns FALSE
  */
 int
 test_oom_handling (TestMemoryFunction  func,
diff --git a/xmlreader.c b/xmlreader.c
index 6d6d558..ec36fe9 100644
--- a/xmlreader.c
+++ b/xmlreader.c
@@ -438,7 +438,7 @@
  *
  * Deallocate the memory used by an ID hash table.
  */
-void
+static void
 xmlTextReaderFreeIDTable(xmlIDTablePtr table) {
     xmlHashFree(table, (xmlHashDeallocator) xmlFreeID);
 }