[libxml2] Release of libxml2-2.9.11



commit e1bcffea180d6cc0651757bb64284a763e0e2239
Author: Daniel Veillard <veillard redhat com>
Date:   Thu May 13 15:35:21 2021 +0200

    Release of libxml2-2.9.11
    
    Prompted by CVE-2021-3541, but this includes an awful lot of serious bug
    fixes by Nick and others.
    - configure.ac: bumped to new release
    - doc/* updated and regenerated

 configure.ac                             |   2 +-
 doc/APIchunk1.html                       |   4 +-
 doc/APIchunk10.html                      |   1 +
 doc/APIchunk11.html                      |   8 +-
 doc/APIchunk12.html                      |  13 +-
 doc/APIchunk13.html                      |   6 +
 doc/APIchunk14.html                      |   5 +
 doc/APIchunk15.html                      |   5 +-
 doc/APIchunk16.html                      |   1 -
 doc/APIchunk17.html                      |  63 +------
 doc/APIchunk19.html                      |   3 +-
 doc/APIchunk2.html                       |   1 +
 doc/APIchunk20.html                      |   3 +-
 doc/APIchunk21.html                      |   3 +-
 doc/APIchunk22.html                      |  11 +-
 doc/APIchunk23.html                      |   4 +-
 doc/APIchunk24.html                      |   7 +-
 doc/APIchunk25.html                      |   3 +-
 doc/APIchunk28.html                      |   5 +-
 doc/APIchunk29.html                      |   1 +
 doc/APIchunk3.html                       |   1 -
 doc/APIchunk4.html                       |   1 +
 doc/APIchunk6.html                       |   1 +
 doc/APIchunk7.html                       |   1 +
 doc/APIchunk8.html                       |   1 +
 doc/APIfiles.html                        |   3 +
 doc/APIsymbols.html                      |   3 +
 doc/devhelp/general.html                 |   2 +-
 doc/devhelp/libxml2-HTMLtree.html        |   8 +-
 doc/devhelp/libxml2-SAX2.html            |   4 +-
 doc/devhelp/libxml2-debugXML.html        |   4 +-
 doc/devhelp/libxml2-encoding.html        |   4 +-
 doc/devhelp/libxml2-nanoftp.html         |  22 +--
 doc/devhelp/libxml2-nanohttp.html        |   8 +-
 doc/devhelp/libxml2-parser.html          |  17 +-
 doc/devhelp/libxml2-parserInternals.html |   6 +-
 doc/devhelp/libxml2-relaxng.html         |   6 +-
 doc/devhelp/libxml2-tree.html            |  14 +-
 doc/devhelp/libxml2-xinclude.html        |   2 +-
 doc/devhelp/libxml2-xmlIO.html           |   5 +
 doc/devhelp/libxml2-xmlerror.html        |   2 +-
 doc/devhelp/libxml2-xmlexports.html      |  21 ++-
 doc/devhelp/libxml2-xmlreader.html       |   2 +-
 doc/devhelp/libxml2-xmlregexp.html       |   4 +-
 doc/devhelp/libxml2-xmlsave.html         |   6 +-
 doc/devhelp/libxml2-xmlschemas.html      |   6 +-
 doc/devhelp/libxml2-xmlversion.html      |   6 +-
 doc/devhelp/libxml2-xpath.html           |   2 -
 doc/devhelp/libxml2.devhelp              |   5 +-
 doc/examples/index.html                  |   2 +-
 doc/html/book1.html                      |   2 +-
 doc/html/index.html                      |   2 +-
 doc/html/libxml-HTMLtree.html            |   8 +-
 doc/html/libxml-SAX2.html                |   4 +-
 doc/html/libxml-debugXML.html            |   4 +-
 doc/html/libxml-encoding.html            |   4 +-
 doc/html/libxml-lib.html                 |   2 +-
 doc/html/libxml-nanoftp.html             |  22 +--
 doc/html/libxml-nanohttp.html            |   8 +-
 doc/html/libxml-parser.html              |  14 +-
 doc/html/libxml-parserInternals.html     |   6 +-
 doc/html/libxml-relaxng.html             |   6 +-
 doc/html/libxml-tree.html                |  14 +-
 doc/html/libxml-xinclude.html            |   2 +-
 doc/html/libxml-xmlIO.html               |   5 +-
 doc/html/libxml-xmlerror.html            |   2 +-
 doc/html/libxml-xmlexports.html          |  11 +-
 doc/html/libxml-xmlreader.html           |   2 +-
 doc/html/libxml-xmlregexp.html           |   4 +-
 doc/html/libxml-xmlsave.html             |   6 +-
 doc/html/libxml-xmlschemas.html          |   6 +-
 doc/html/libxml-xmlversion.html          |   2 +-
 doc/html/libxml-xpath.html               |   2 -
 doc/libxml2-api.xml                      | 137 +++++++-------
 doc/libxml2-refs.xml                     | 163 +++++++----------
 doc/libxml2.xsa                          | 177 ++++++++++++------
 doc/news.html                            | 300 ++++++++++++++++++++++++++++---
 doc/xml.html                             | 255 ++++++++++++++++++++++++++
 testapi.c                                |  56 ++++--
 79 files changed, 1061 insertions(+), 483 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index a4c675bb..ab76a459 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@ AC_PREREQ([2.63])
 
 m4_define([MAJOR_VERSION], 2)
 m4_define([MINOR_VERSION], 9)
-m4_define([MICRO_VERSION], 10)
+m4_define([MICRO_VERSION], 11)
 
 AC_INIT([libxml2],[MAJOR_VERSION.MINOR_VERSION.MICRO_VERSION])
 AC_CONFIG_SRCDIR([entities.c])
diff --git a/doc/APIchunk1.html b/doc/APIchunk1.html
index 393cd184..e4c4c0ee 100644
--- a/doc/APIchunk1.html
+++ b/doc/APIchunk1.html
@@ -50,6 +50,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
+<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
 <a href="html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a><br />
 <a href="html/libxml-tree.html#xmlNodeSetContentLen">xmlNodeSetContentLen</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
@@ -85,8 +86,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 </dd><dt>CVS</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a><br 
/>
 </dd><dt>CWD</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPCwd">xmlNanoFTPCwd</a><br />
 </dd><dt>Cache</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-</dd><dt>Call</dt><dd><a href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br 
/>
-<a href="html/libxml-parser.html#xmlInitParser">xmlInitParser</a><br />
+</dd><dt>Call</dt><dd><a href="html/libxml-parser.html#xmlInitParser">xmlInitParser</a><br />
 <a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
 </dd><dt>Callback</dt><dd><a href="html/libxml-SAX.html#externalSubset">externalSubset</a><br />
 <a href="html/libxml-parser.html#externalSubsetSAXFunc">externalSubsetSAXFunc</a><br />
diff --git a/doc/APIchunk10.html b/doc/APIchunk10.html
index b612643a..23e1f442 100644
--- a/doc/APIchunk10.html
+++ b/doc/APIchunk10.html
@@ -388,6 +388,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
 <a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
+<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
 <a href="html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a><br />
 <a href="html/libxml-tree.html#xmlNodeSetContentLen">xmlNodeSetContentLen</a><br />
 <a href="html/libxml-uri.html#xmlParseURIRaw">xmlParseURIRaw</a><br />
diff --git a/doc/APIchunk11.html b/doc/APIchunk11.html
index c28458d9..9780c17f 100644
--- a/doc/APIchunk11.html
+++ b/doc/APIchunk11.html
@@ -51,7 +51,6 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-parserInternals.html#xmlSetEntityReferenceFunc">xmlSetEntityReferenceFunc</a><br />
 </dd><dt>bad</dt><dd><a 
href="html/libxml-parserInternals.html#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a><br />
 </dd><dt>badly</dt><dd><a 
href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
-</dd><dt>bahaviour</dt><dd><a 
href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
 </dd><dt>balanced</dt><dd><a 
href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
 <a 
href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
 <a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
@@ -94,8 +93,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 </dd><dt>basis</dt><dd><a 
href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
 </dd><dt>bear</dt><dd><a 
href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
 </dd><dt>becomes</dt><dd><a href="html/libxml-valid.html#xmlAddAttributeDecl">xmlAddAttributeDecl</a><br />
-</dd><dt>before</dt><dd><a 
href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br />
-<a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
+</dd><dt>before</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
 <a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
 <a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
@@ -148,6 +146,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-tree.html#xmlNodeGetSpacePreserve">xmlNodeGetSpacePreserve</a><br />
 <a href="html/libxml-tree.html#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
 <a href="html/libxml-xmlstring.html#xmlUTF8Strsize">xmlUTF8Strsize</a><br />
 </dd><dt>below</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
@@ -180,9 +179,6 @@ A:link, A:visited, A:active { text-decoration: underline }
 </dd><dt>bits</dt><dd><a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br />
 </dd><dt>blanks</dt><dd><a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
 <a href="html/libxml-parserInternals.html#xmlSkipBlankChars">xmlSkipBlankChars</a><br />
-</dd><dt>bloc</dt><dd><a 
href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a 
href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
 </dd><dt>blockDefault</dt><dd><a 
href="html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a><br
 />
 <a 
href="html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a><br
 />
 <a 
href="html/libxml-schemasInternals.html#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</a><br
 />
diff --git a/doc/APIchunk12.html b/doc/APIchunk12.html
index 77330dd3..054818c0 100644
--- a/doc/APIchunk12.html
+++ b/doc/APIchunk12.html
@@ -46,7 +46,9 @@ A:link, A:visited, A:active { text-decoration: underline }
 </dd><dt>caching:</dt><dd><a 
href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
 </dd><dt>calculated</dt><dd><a href="html/libxml-xmlstring.html#xmlStrncatNew">xmlStrncatNew</a><br />
 </dd><dt>calculates</dt><dd><a href="html/libxml-xmlstring.html#xmlUTF8Size">xmlUTF8Size</a><br />
-</dd><dt>calling</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
+</dd><dt>calling</dt><dd><a href="html/libxml-xmlexports.html#XMLCALL">XMLCALL</a><br />
+<a href="html/libxml-xmlexports.html#XMLCDECL">XMLCDECL</a><br />
+<a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
 <a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 <a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
 <a href="html/libxml-xmlIO.html#xmlCheckFilename">xmlCheckFilename</a><br />
@@ -320,8 +322,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-xpathInternals.html#xmlXPathCeilingFunction">xmlXPathCeilingFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathFloorFunction">xmlXPathFloorFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathRoundFunction">xmlXPathRoundFunction</a><br />
-</dd><dt>closing</dt><dd><a 
href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPFreeCtxt">xmlNanoFTPFreeCtxt</a><br />
+</dd><dt>closing</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPFreeCtxt">xmlNanoFTPFreeCtxt</a><br />
 <a 
href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br
 />
 <a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
 </dd><dt>codes</dt><dd><a 
href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
@@ -438,6 +439,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 </dd><dt>compiled-in</dt><dd><a 
href="html/libxml-xmlIO.html#xmlCleanupInputCallbacks">xmlCleanupInputCallbacks</a><br />
 <a href="html/libxml-xmlIO.html#xmlCleanupOutputCallbacks">xmlCleanupOutputCallbacks</a><br />
 <a href="html/libxml-xmlIO.html#xmlPopInputCallbacks">xmlPopInputCallbacks</a><br />
+<a href="html/libxml-xmlIO.html#xmlPopOutputCallbacks">xmlPopOutputCallbacks</a><br />
 <a href="html/libxml-xmlIO.html#xmlRegisterDefaultInputCallbacks">xmlRegisterDefaultInputCallbacks</a><br />
 <a href="html/libxml-xmlIO.html#xmlRegisterDefaultOutputCallbacks">xmlRegisterDefaultOutputCallbacks</a><br 
/>
 </dd><dt>compiling</dt><dd><a 
href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a><br />
@@ -681,8 +683,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-xpathInternals.html#xmlXPathNodeSetContains">xmlXPathNodeSetContains</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</a><br />
-</dd><dt>content:</dt><dd><a href="html/libxml-parserInternals.html#xmlParseContent">xmlParseContent</a><br 
/>
-<a href="html/libxml-xpathInternals.html#xmlXPathEqualValues">xmlXPathEqualValues</a><br />
+</dd><dt>content:</dt><dd><a 
href="html/libxml-xpathInternals.html#xmlXPathEqualValues">xmlXPathEqualValues</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNotEqualValues">xmlXPathNotEqualValues</a><br />
 </dd><dt>contentType</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPMethod">xmlNanoHTTPMethod</a><br />
@@ -722,6 +723,8 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-nanoftp.html#xmlNanoFTPConnectTo">xmlNanoFTPConnectTo</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
 </dd><dt>conveniently</dt><dd><a 
href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
+</dd><dt>convention</dt><dd><a href="html/libxml-xmlexports.html#XMLCALL">XMLCALL</a><br />
+<a href="html/libxml-xmlexports.html#XMLCDECL">XMLCDECL</a><br />
 </dd><dt>conversion</dt><dd><a href="html/libxml-encoding.html#_uconv_t">_uconv_t</a><br />
 <a href="html/libxml-xpath.html#_xmlXPathType">_xmlXPathType</a><br />
 <a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
diff --git a/doc/APIchunk13.html b/doc/APIchunk13.html
index a01afa83..ae839a1f 100644
--- a/doc/APIchunk13.html
+++ b/doc/APIchunk13.html
@@ -154,6 +154,11 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-xmlreader.html#xmlTextReaderStandalone">xmlTextReaderStandalone</a><br />
 <a 
href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br 
/>
 <a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
+</dd><dt>declares</dt><dd><a href="html/libxml-xmlexports.html#XMLCALL">XMLCALL</a><br />
+<a href="html/libxml-xmlexports.html#XMLCDECL">XMLCDECL</a><br />
+<a href="html/libxml-xmlexports.html#XMLPUBFUN">XMLPUBFUN</a><br />
+<a href="html/libxml-xmlexports.html#XMLPUBLIC">XMLPUBLIC</a><br />
+<a href="html/libxml-xmlexports.html#XMLPUBVAR">XMLPUBVAR</a><br />
 </dd><dt>declaring</dt><dd><a href="html/libxml-valid.html#xmlGetID">xmlGetID</a><br />
 </dd><dt>decode</dt><dd><a 
href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
 </dd><dt>def</dt><dd><a 
href="html/libxml-parserInternals.html#xmlParseAttributeListDecl">xmlParseAttributeListDecl</a><br />
@@ -535,6 +540,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-tree.html#xmlLastElementChild">xmlLastElementChild</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
+<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
 <a href="html/libxml-tree.html#xmlNextElementSibling">xmlNextElementSibling</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
 <a href="html/libxml-tree.html#xmlPreviousElementSibling">xmlPreviousElementSibling</a><br />
diff --git a/doc/APIchunk14.html b/doc/APIchunk14.html
index 235b553f..2889dcfd 100644
--- a/doc/APIchunk14.html
+++ b/doc/APIchunk14.html
@@ -271,6 +271,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 </dd><dt>escaped</dt><dd><a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
+<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
 <a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
 <a href="html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a><br />
 <a href="html/libxml-tree.html#xmlNodeSetContentLen">xmlNodeSetContentLen</a><br />
@@ -392,6 +393,10 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
 </dd><dt>explicitly</dt><dd><a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br 
/>
 </dd><dt>explored</dt><dd><a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br />
+</dd><dt>exportable</dt><dd><a href="html/libxml-xmlexports.html#XMLPUBFUN">XMLPUBFUN</a><br />
+<a href="html/libxml-xmlexports.html#XMLPUBVAR">XMLPUBVAR</a><br />
+</dd><dt>exported</dt><dd><a href="html/libxml-xmlexports.html#XMLCALL">XMLCALL</a><br />
+<a href="html/libxml-xmlexports.html#XMLCDECL">XMLCDECL</a><br />
 </dd><dt>exposing</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a><br />
 </dd><dt>express</dt><dd><a href="html/libxml-tree.html#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a><br />
 </dd><dt>expressing</dt><dd><a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
diff --git a/doc/APIchunk15.html b/doc/APIchunk15.html
index 744bde8e..87f54c02 100644
--- a/doc/APIchunk15.html
+++ b/doc/APIchunk15.html
@@ -109,7 +109,6 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaIsValid">xmlSchemaIsValid</a><br />
 </dd><dt>fashion</dt><dd><a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
-</dd><dt>fast</dt><dd><a href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br 
/>
 </dd><dt>faster</dt><dd><a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrEqual">xmlStrEqual</a><br />
 </dd><dt>fatal</dt><dd><a href="html/libxml-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a><br />
@@ -386,7 +385,9 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a><br />
 <a href="html/libxml-xpath.html#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a><br />
 <a href="html/libxml-xpath.html#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a><br />
-</dd><dt>functions</dt><dd><a href="html/libxml-HTMLparser.html#htmlCtxtReadIO">htmlCtxtReadIO</a><br />
+</dd><dt>functions</dt><dd><a href="html/libxml-xmlexports.html#XMLCALL">XMLCALL</a><br />
+<a href="html/libxml-xmlexports.html#XMLCDECL">XMLCDECL</a><br />
+<a href="html/libxml-HTMLparser.html#htmlCtxtReadIO">htmlCtxtReadIO</a><br />
 <a href="html/libxml-HTMLparser.html#htmlReadIO">htmlReadIO</a><br />
 <a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
 <a href="html/libxml-parser.html#xmlCtxtReadIO">xmlCtxtReadIO</a><br />
diff --git a/doc/APIchunk16.html b/doc/APIchunk16.html
index 0fb9d81d..9afdf239 100644
--- a/doc/APIchunk16.html
+++ b/doc/APIchunk16.html
@@ -324,7 +324,6 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-HTMLparser.html#htmlReadMemory">htmlReadMemory</a><br />
 </dd><dt>htmlStartClose</dt><dd><a 
href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
 <a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br />
-</dd><dt>htmlStartCloseIndex</dt><dd><a 
href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br />
 </dd><dt>http:</dt><dd><a href="html/libxml-xinclude.html#XINCLUDE_NS">XINCLUDE_NS</a><br />
 <a href="html/libxml-xinclude.html#XINCLUDE_OLD_NS">XINCLUDE_OLD_NS</a><br />
 <a href="html/libxml-SAX.html#getSystemId">getSystemId</a><br />
diff --git a/doc/APIchunk17.html b/doc/APIchunk17.html
index d2dd0696..ab3504f3 100644
--- a/doc/APIchunk17.html
+++ b/doc/APIchunk17.html
@@ -126,15 +126,6 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-parser.html#xmlSAXParseMemory">xmlSAXParseMemory</a><br />
 <a href="html/libxml-parser.html#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a><br />
 <a href="html/libxml-parser.html#xmlSAXUserParseMemory">xmlSAXUserParseMemory</a><br />
-</dd><dt>incase</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPClose">xmlNanoFTPClose</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCloseConnection">xmlNanoFTPCloseConnection</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCwd">xmlNanoFTPCwd</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPDele">xmlNanoFTPDele</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGet">xmlNanoFTPGet</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPGetConnection">xmlNanoFTPGetConnection</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPList">xmlNanoFTPList</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPSave">xmlNanoHTTPSave</a><br />
 </dd><dt>incl</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
 </dd><dt>include</dt><dd><a href="html/libxml-xinclude.html#XINCLUDE_NODE">XINCLUDE_NODE</a><br />
 <a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
@@ -156,6 +147,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-xmlIO.html#xmlCleanupInputCallbacks">xmlCleanupInputCallbacks</a><br />
 <a href="html/libxml-xmlIO.html#xmlCleanupOutputCallbacks">xmlCleanupOutputCallbacks</a><br />
 <a href="html/libxml-xmlIO.html#xmlPopInputCallbacks">xmlPopInputCallbacks</a><br />
+<a href="html/libxml-xmlIO.html#xmlPopOutputCallbacks">xmlPopOutputCallbacks</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessFlags">xmlXIncludeProcessFlags</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlags">xmlXIncludeProcessTreeFlags</a><br />
@@ -283,59 +275,6 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a><br />
 <a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
-</dd><dt>information</dt><dd><a 
href="html/libxml-xmlversion.html#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a><br />
-<a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpAttr">xmlDebugDumpAttr</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpAttrList">xmlDebugDumpAttrList</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpDTD">xmlDebugDumpDTD</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpDocument">xmlDebugDumpDocument</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpDocumentHead">xmlDebugDumpDocumentHead</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpEntities">xmlDebugDumpEntities</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpNode">xmlDebugDumpNode</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpNodeList">xmlDebugDumpNodeList</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpOneNode">xmlDebugDumpOneNode</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPMethod">xmlNanoHTTPMethod</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPMethodRedir">xmlNanoHTTPMethodRedir</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPOpen">xmlNanoHTTPOpen</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a><br />
-<a href="html/libxml-xmlreader.html#xmlNewTextReader">xmlNewTextReader</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateSetFilename">xmlSchemaValidateSetFilename</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateSetLocator">xmlSchemaValidateSetLocator</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderByteConsumed">xmlTextReaderByteConsumed</a><br />
-<a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
-</dd><dt>informations</dt><dd><a href="html/libxml-tree.html#_xmlAttr">_xmlAttr</a><br />
-<a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-tree.html#_xmlNode">_xmlNode</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-parser.html#endElementNsSAX2Func">endElementNsSAX2Func</a><br />
-<a href="html/libxml-parser.html#startElementNsSAX2Func">startElementNsSAX2Func</a><br />
-<a href="html/libxml-debugXML.html#xmlDebugDumpString">xmlDebugDumpString</a><br />
-<a href="html/libxml-parserInternals.html#xmlErrMemory">xmlErrMemory</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPCleanup">xmlNanoFTPCleanup</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPInit">xmlNanoFTPInit</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPProxy">xmlNanoFTPProxy</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPInit">xmlNanoHTTPInit</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserPrintFileInfo">xmlParserPrintFileInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecErrInfo">xmlRegExecErrInfo</a><br />
-<a href="html/libxml-xmlregexp.html#xmlRegExecNextValues">xmlRegExecNextValues</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGGetValidErrors">xmlRelaxNGGetValidErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetValidErrors">xmlRelaxNGSetValidErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2EndElementNs">xmlSAX2EndElementNs</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a><br />
-<a href="html/libxml-debugXML.html#xmlShellDir">xmlShellDir</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a><br />
 </dd><dt>informative</dt><dd><a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
 </dd><dt>infos</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
 </dd><dt>inherited</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
diff --git a/doc/APIchunk19.html b/doc/APIchunk19.html
index c50c345f..b948d387 100644
--- a/doc/APIchunk19.html
+++ b/doc/APIchunk19.html
@@ -319,8 +319,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 </dd><dt>multiple</dt><dd><a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
 <a href="html/libxml-parserInternals.html#xmlStringCurrentChar">xmlStringCurrentChar</a><br />
 </dd><dt>multiply</dt><dd><a 
href="html/libxml-xpathInternals.html#xmlXPathMultValues">xmlXPathMultValues</a><br />
-</dd><dt>multithreaded</dt><dd><a 
href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
+</dd><dt>multithreaded</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
 <a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
 <a href="html/libxml-parser.html#xmlInitParser">xmlInitParser</a><br />
 </dd><dt>mutex</dt><dd><a href="html/libxml-dict.html#xmlDictCleanup">xmlDictCleanup</a><br />
diff --git a/doc/APIchunk2.html b/doc/APIchunk2.html
index d5d363b1..449e0cb0 100644
--- a/doc/APIchunk2.html
+++ b/doc/APIchunk2.html
@@ -216,6 +216,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-tree.html#xmlNodeListGetString">xmlNodeListGetString</a><br />
 <a href="html/libxml-tree.html#xmlStringGetNodeList">xmlStringGetNodeList</a><br />
 <a href="html/libxml-tree.html#xmlStringLenGetNodeList">xmlStringLenGetNodeList</a><br />
+</dd><dt>EOF</dt><dd><a href="html/libxml-parserInternals.html#xmlParseContent">xmlParseContent</a><br />
 </dd><dt>ETag</dt><dd><a href="html/libxml-HTMLparser.html#htmlParseElement">htmlParseElement</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseElement">xmlParseElement</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseEndTag">xmlParseEndTag</a><br />
diff --git a/doc/APIchunk20.html b/doc/APIchunk20.html
index f812bbc9..0a309233 100644
--- a/doc/APIchunk20.html
+++ b/doc/APIchunk20.html
@@ -41,7 +41,6 @@ A:link, A:visited, A:active { text-decoration: underline }
 </dd><dt>names</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
 <a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
-<a href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br />
 <a href="html/libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
 <a href="html/libxml-hash.html#xmlHashAddEntry">xmlHashAddEntry</a><br />
 <a href="html/libxml-hash.html#xmlHashScan3">xmlHashScan3</a><br />
@@ -156,6 +155,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 </dd><dt>nice</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 </dd><dt>nillable</dt><dd><a 
href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a><br />
 <a href="html/libxml-xmlregexp.html#xmlExpIsNillable">xmlExpIsNillable</a><br />
+</dd><dt>no-op</dt><dd><a href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br 
/>
 </dd><dt>nod</dt><dd><a 
href="html/libxml-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a><br />
 </dd><dt>node-</dt><dd><a href="html/libxml-tree.html#_xmlDOMWrapCtxt">_xmlDOMWrapCtxt</a><br />
 <a href="html/libxml-tree.html#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a><br />
@@ -258,6 +258,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaElement">_xmlSchemaElement</a><br />
+<a href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br />
 <a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
 <a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
 <a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
diff --git a/doc/APIchunk21.html b/doc/APIchunk21.html
index 7f8efe49..6f376c88 100644
--- a/doc/APIchunk21.html
+++ b/doc/APIchunk21.html
@@ -128,8 +128,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a><br />
-</dd><dt>once</dt><dd><a href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br 
/>
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+</dd><dt>once</dt><dd><a 
href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 <a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
 <a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
diff --git a/doc/APIchunk22.html b/doc/APIchunk22.html
index 9f690089..59f5141f 100644
--- a/doc/APIchunk22.html
+++ b/doc/APIchunk22.html
@@ -166,6 +166,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 </dd><dt>piece</dt><dd><a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
+<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
 <a href="html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a><br />
 <a href="html/libxml-tree.html#xmlNodeSetContentLen">xmlNodeSetContentLen</a><br />
 </dd><dt>pieces</dt><dd><a href="html/libxml-uri.html#xmlParseURIRaw">xmlParseURIRaw</a><br />
@@ -417,8 +418,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
 <a 
href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br 
/>
 <a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-</dd><dt>processed</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-SAX.html#startDocument">startDocument</a><br />
+</dd><dt>processed</dt><dd><a href="html/libxml-SAX.html#startDocument">startDocument</a><br />
 <a href="html/libxml-parser.html#startDocumentSAXFunc">startDocumentSAXFunc</a><br />
 <a href="html/libxml-SAX.html#startElement">startElement</a><br />
 <a href="html/libxml-parser.html#startElementSAXFunc">startElementSAXFunc</a><br />
@@ -443,14 +443,15 @@ A:link, A:visited, A:active { text-decoration: underline }
 </dd><dt>produce</dt><dd><a 
href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
 <a href="html/libxml-tree.html#xmlStringGetNodeList">xmlStringGetNodeList</a><br />
 <a href="html/libxml-tree.html#xmlStringLenGetNodeList">xmlStringLenGetNodeList</a><br />
-</dd><dt>produced</dt><dd><a 
href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
+</dd><dt>produced</dt><dd><a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a><br />
+<a href="html/libxml-encoding.html#isolat1ToUTF8">isolat1ToUTF8</a><br />
+<a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
 <a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
 </dd><dt>producing</dt><dd><a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
 </dd><dt>production:</dt><dd><a 
href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
 </dd><dt>productions</dt><dd><a 
href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
 </dd><dt>program</dt><dd><a href="html/libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</a><br />
-</dd><dt>programs</dt><dd><a 
href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br />
-<a href="html/libxml-parser.html#xmlInitParser">xmlInitParser</a><br />
+</dd><dt>programs</dt><dd><a href="html/libxml-parser.html#xmlInitParser">xmlInitParser</a><br />
 </dd><dt>progressed</dt><dd><a 
href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
 </dd><dt>progresses</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a><br 
/>
 </dd><dt>progressive</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
diff --git a/doc/APIchunk23.html b/doc/APIchunk23.html
index a72cbfe2..7bade6ac 100644
--- a/doc/APIchunk23.html
+++ b/doc/APIchunk23.html
@@ -228,8 +228,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPRedir">xmlNanoHTTPRedir</a><br />
 </dd><dt>redirection</dt><dd><a href="html/libxml-xmlIO.html#xmlCheckHTTPInput">xmlCheckHTTPInput</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPRedir">xmlNanoHTTPRedir</a><br />
-</dd><dt>reentrant</dt><dd><a 
href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
+</dd><dt>reentrant</dt><dd><a 
href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
 <a href="html/libxml-entities.html#xmlEncodeSpecialChars">xmlEncodeSpecialChars</a><br />
 <a href="html/libxml-threads.html#xmlFreeRMutex">xmlFreeRMutex</a><br />
 <a href="html/libxml-parser.html#xmlInitParser">xmlInitParser</a><br />
@@ -272,6 +271,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-encoding.html#xmlGetCharEncodingHandler">xmlGetCharEncodingHandler</a><br />
 <a href="html/libxml-xmlerror.html#xmlGetLastError">xmlGetLastError</a><br />
 <a href="html/libxml-xmlIO.html#xmlPopInputCallbacks">xmlPopInputCallbacks</a><br />
+<a href="html/libxml-xmlIO.html#xmlPopOutputCallbacks">xmlPopOutputCallbacks</a><br />
 <a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
 <a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
 <a href="html/libxml-xmlerror.html#xmlResetLastError">xmlResetLastError</a><br />
diff --git a/doc/APIchunk24.html b/doc/APIchunk24.html
index c545f17e..99626b47 100644
--- a/doc/APIchunk24.html
+++ b/doc/APIchunk24.html
@@ -72,7 +72,6 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemGet">xmlMemGet</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
 <a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
 <a href="html/libxml-debugXML.html#xmlShellSave">xmlShellSave</a><br />
 </dd><dt>saved</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
@@ -215,6 +214,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
 <a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
 <a 
href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseContent">xmlParseContent</a><br />
 <a href="html/libxml-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a><br />
 <a href="html/libxml-parser.html#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a><br />
 <a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
@@ -539,6 +539,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
+<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
 <a href="html/libxml-tree.html#xmlNodeAddContent">xmlNodeAddContent</a><br />
 <a href="html/libxml-tree.html#xmlNodeAddContentLen">xmlNodeAddContentLen</a><br />
 <a href="html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a><br />
@@ -942,6 +943,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
+<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
 <a href="html/libxml-tree.html#xmlNodeAddContent">xmlNodeAddContent</a><br />
 <a href="html/libxml-tree.html#xmlNodeAddContentLen">xmlNodeAddContentLen</a><br />
 <a href="html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a><br />
@@ -958,7 +960,8 @@ A:link, A:visited, A:active { text-decoration: underline }
 </dd><dt>switch</dt><dd><a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseReference">xmlParseReference</a><br />
 <a href="html/libxml-parserInternals.html#xmlPushInput">xmlPushInput</a><br />
-</dd><dt>symbol</dt><dd><a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br />
+</dd><dt>symbol</dt><dd><a href="html/libxml-xmlexports.html#XMLPUBLIC">XMLPUBLIC</a><br />
+<a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br />
 </dd><dt>synchronizing</dt><dd><a href="html/libxml-threads.html#xmlNewMutex">xmlNewMutex</a><br />
 <a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
 </dd><dt>syntax</dt><dd><a 
href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
diff --git a/doc/APIchunk25.html b/doc/APIchunk25.html
index eaa24deb..c37fe8fc 100644
--- a/doc/APIchunk25.html
+++ b/doc/APIchunk25.html
@@ -56,7 +56,6 @@ A:link, A:visited, A:active { text-decoration: underline }
 </dd><dt>tags</dt><dd><a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
 <a href="html/libxml-HTMLtree.html#htmlGetMetaEncoding">htmlGetMetaEncoding</a><br />
 <a href="html/libxml-HTMLparser.html#htmlHandleOmittedElem">htmlHandleOmittedElem</a><br />
-<a href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br />
 <a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br />
 <a href="html/libxml-HTMLtree.html#htmlSetMetaEncoding">htmlSetMetaEncoding</a><br />
 </dd><dt>take</dt><dd><a href="html/libxml-threads.html#xmlLockLibrary">xmlLockLibrary</a><br />
@@ -250,9 +249,9 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-parserInternals.html#xmlNamespaceParseNSDef">xmlNamespaceParseNSDef</a><br />
 <a href="html/libxml-parserInternals.html#xmlNamespaceParseQName">xmlNamespaceParseQName</a><br />
 <a href="html/libxml-xmlIO.html#xmlPopInputCallbacks">xmlPopInputCallbacks</a><br />
+<a href="html/libxml-xmlIO.html#xmlPopOutputCallbacks">xmlPopOutputCallbacks</a><br />
 <a href="html/libxml-parserInternals.html#xmlPushInput">xmlPushInput</a><br />
 <a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
 <a href="html/libxml-tree.html#xmlSetTreeDoc">xmlSetTreeDoc</a><br />
 </dd><dt>total</dt><dd><a href="html/libxml-xmlIO.html#_xmlOutputBuffer">_xmlOutputBuffer</a><br />
 <a href="html/libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
diff --git a/doc/APIchunk28.html b/doc/APIchunk28.html
index e6e5958a..f2927f8c 100644
--- a/doc/APIchunk28.html
+++ b/doc/APIchunk28.html
@@ -165,6 +165,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
+<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
 <a href="html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a><br />
 <a href="html/libxml-tree.html#xmlNodeSetContentLen">xmlNodeSetContentLen</a><br />
 </dd><dt>xmlEncodeSpecialChars</dt><dd><a 
href="html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a><br />
@@ -226,8 +227,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-tree.html#xmlNodeDumpOutput">xmlNodeDumpOutput</a><br />
 <a href="html/libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a><br />
 <a href="html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a><br />
-</dd><dt>xmlInitParser</dt><dd><a 
href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br />
-<a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
+</dd><dt>xmlInitParser</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
 </dd><dt>xmlInitThreads</dt><dd><a href="html/libxml-threads.html#xmlInitThreads">xmlInitThreads</a><br />
 </dd><dt>xmlInitializeCatalog</dt><dd><a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br 
/>
 </dd><dt>xmlInitializeGlobalState</dt><dd><a 
href="html/libxml-globals.html#xmlInitializeGlobalState">xmlInitializeGlobalState</a><br />
@@ -277,6 +277,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
 </dd><dt>xmlNewMutex</dt><dd><a href="html/libxml-threads.html#xmlNewMutex">xmlNewMutex</a><br />
 </dd><dt>xmlNewNode</dt><dd><a href="html/libxml-tree.html#xmlNewNodeEatName">xmlNewNodeEatName</a><br />
+</dd><dt>xmlNewProp</dt><dd><a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
 </dd><dt>xmlNewTextChild</dt><dd><a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
 <a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
 </dd><dt>xmlNewTextWriter</dt><dd><a 
href="html/libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a><br />
diff --git a/doc/APIchunk29.html b/doc/APIchunk29.html
index b4b7fc0b..99c66dac 100644
--- a/doc/APIchunk29.html
+++ b/doc/APIchunk29.html
@@ -63,6 +63,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
+<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
 <a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a><br />
 <a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
diff --git a/doc/APIchunk3.html b/doc/APIchunk3.html
index 77ee4523..b8a791ba 100644
--- a/doc/APIchunk3.html
+++ b/doc/APIchunk3.html
@@ -284,7 +284,6 @@ A:link, A:visited, A:active { text-decoration: underline }
 </dd><dt>Initialization</dt><dd><a href="html/libxml-parser.html#xmlInitParser">xmlInitParser</a><br />
 </dd><dt>Initialize</dt><dd><a 
href="html/libxml-SAX2.html#docbDefaultSAXHandlerInit">docbDefaultSAXHandlerInit</a><br />
 <a href="html/libxml-SAX2.html#htmlDefaultSAXHandlerInit">htmlDefaultSAXHandlerInit</a><br />
-<a href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br />
 <a href="html/libxml-SAX.html#initdocbDefaultSAXHandler">initdocbDefaultSAXHandler</a><br />
 <a href="html/libxml-SAX.html#inithtmlDefaultSAXHandler">inithtmlDefaultSAXHandler</a><br />
 <a href="html/libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br />
diff --git a/doc/APIchunk4.html b/doc/APIchunk4.html
index 30a68460..f7995fdf 100644
--- a/doc/APIchunk4.html
+++ b/doc/APIchunk4.html
@@ -217,6 +217,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
+<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
 <a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
 <a href="html/libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a><br />
 <a href="html/libxml-xmlwriter.html#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a><br />
diff --git a/doc/APIchunk6.html b/doc/APIchunk6.html
index be524d96..39dd6118 100644
--- a/doc/APIchunk6.html
+++ b/doc/APIchunk6.html
@@ -211,6 +211,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-list.html#xmlListRemoveFirst">xmlListRemoveFirst</a><br />
 <a href="html/libxml-list.html#xmlListRemoveLast">xmlListRemoveLast</a><br />
 <a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
+<a href="html/libxml-xmlIO.html#xmlPopOutputCallbacks">xmlPopOutputCallbacks</a><br />
 <a href="html/libxml-valid.html#xmlRemoveID">xmlRemoveID</a><br />
 <a href="html/libxml-valid.html#xmlRemoveRef">xmlRemoveRef</a><br />
 <a href="html/libxml-tree.html#xmlUnsetNsProp">xmlUnsetNsProp</a><br />
diff --git a/doc/APIchunk7.html b/doc/APIchunk7.html
index 24329751..d9a1d493 100644
--- a/doc/APIchunk7.html
+++ b/doc/APIchunk7.html
@@ -273,6 +273,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-xmlwriter.html#xmlTextWriterStartElement">xmlTextWriterStartElement</a><br />
 <a href="html/libxml-xmlwriter.html#xmlTextWriterStartElementNS">xmlTextWriterStartElementNS</a><br />
 <a href="html/libxml-xmlwriter.html#xmlTextWriterStartPI">xmlTextWriterStartPI</a><br />
+</dd><dt>Stops</dt><dd><a href="html/libxml-parserInternals.html#xmlParseContent">xmlParseContent</a><br />
 </dd><dt>StringType</dt><dd><a 
href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
 </dd><dt>Strings</dt><dd><a 
href="html/libxml-xpathInternals.html#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
diff --git a/doc/APIchunk8.html b/doc/APIchunk8.html
index 1038288c..03bccb84 100644
--- a/doc/APIchunk8.html
+++ b/doc/APIchunk8.html
@@ -246,6 +246,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-chvalid.html#xmlIsPubidChar">xmlIsPubidChar</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
+<a href="html/libxml-tree.html#xmlNewDocProp">xmlNewDocProp</a><br />
 <a href="html/libxml-tree.html#xmlNewNodeEatName">xmlNewNodeEatName</a><br />
 <a href="html/libxml-tree.html#xmlNewPI">xmlNewPI</a><br />
 <a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
diff --git a/doc/APIfiles.html b/doc/APIfiles.html
index 35780565..6c58b2b4 100644
--- a/doc/APIfiles.html
+++ b/doc/APIfiles.html
@@ -796,6 +796,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a><br />
 <a href="html/libxml-parser.html#xmlSetFeature">xmlSetFeature</a><br />
 <a href="html/libxml-parser.html#xmlSetupParserForBuffer">xmlSetupParserForBuffer</a><br />
+<a href="html/libxml-parser.html#xmlStartTag">xmlStartTag</a><br />
 <a href="html/libxml-parser.html#xmlStopParser">xmlStopParser</a><br />
 <a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
 </p><h2><a name="parserInternals" id="parserInternals">Module parserInternals</a>:</h2><p><a 
href="html/libxml-parserInternals.html#INPUT_CHUNK">INPUT_CHUNK</a><br />
@@ -1809,6 +1810,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferPush">xmlParserInputBufferPush</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferRead">xmlParserInputBufferRead</a><br />
 <a href="html/libxml-xmlIO.html#xmlPopInputCallbacks">xmlPopInputCallbacks</a><br />
+<a href="html/libxml-xmlIO.html#xmlPopOutputCallbacks">xmlPopOutputCallbacks</a><br />
 <a href="html/libxml-xmlIO.html#xmlRegisterDefaultInputCallbacks">xmlRegisterDefaultInputCallbacks</a><br />
 <a href="html/libxml-xmlIO.html#xmlRegisterDefaultOutputCallbacks">xmlRegisterDefaultOutputCallbacks</a><br 
/>
 <a href="html/libxml-xmlIO.html#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a><br />
@@ -2633,6 +2635,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-xmlexports.html#XMLCALL">XMLCALL</a><br />
 <a href="html/libxml-xmlexports.html#XMLCDECL">XMLCDECL</a><br />
 <a href="html/libxml-xmlexports.html#XMLPUBFUN">XMLPUBFUN</a><br />
+<a href="html/libxml-xmlexports.html#XMLPUBLIC">XMLPUBLIC</a><br />
 <a href="html/libxml-xmlexports.html#XMLPUBVAR">XMLPUBVAR</a><br />
 </p><h2><a name="xmlmemory" id="xmlmemory">Module xmlmemory</a>:</h2><p><a 
href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
 <a href="html/libxml-xmlmemory.html#xmlCleanupMemory">xmlCleanupMemory</a><br />
diff --git a/doc/APIsymbols.html b/doc/APIsymbols.html
index 1af527ab..75f583e4 100644
--- a/doc/APIsymbols.html
+++ b/doc/APIsymbols.html
@@ -138,6 +138,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-xmlexports.html#XMLCALL">XMLCALL</a><br />
 <a href="html/libxml-xmlexports.html#XMLCDECL">XMLCDECL</a><br />
 <a href="html/libxml-xmlexports.html#XMLPUBFUN">XMLPUBFUN</a><br />
+<a href="html/libxml-xmlexports.html#XMLPUBLIC">XMLPUBLIC</a><br />
 <a href="html/libxml-xmlexports.html#XMLPUBVAR">XMLPUBVAR</a><br />
 <a href="html/libxml-tree.html#XML_ATTRIBUTE_CDATA">XML_ATTRIBUTE_CDATA</a><br />
 <a href="html/libxml-tree.html#XML_ATTRIBUTE_DECL">XML_ATTRIBUTE_DECL</a><br />
@@ -2574,6 +2575,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-globals.html#xmlPedanticParserDefaultValue">xmlPedanticParserDefaultValue</a><br />
 <a href="html/libxml-parserInternals.html#xmlPopInput">xmlPopInput</a><br />
 <a href="html/libxml-xmlIO.html#xmlPopInputCallbacks">xmlPopInputCallbacks</a><br />
+<a href="html/libxml-xmlIO.html#xmlPopOutputCallbacks">xmlPopOutputCallbacks</a><br />
 <a href="html/libxml-tree.html#xmlPreviousElementSibling">xmlPreviousElementSibling</a><br />
 <a href="html/libxml-uri.html#xmlPrintURI">xmlPrintURI</a><br />
 <a href="html/libxml-parserInternals.html#xmlPushInput">xmlPushInput</a><br />
@@ -2913,6 +2915,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-tree.html#xmlSplitQName2">xmlSplitQName2</a><br />
 <a href="html/libxml-tree.html#xmlSplitQName3">xmlSplitQName3</a><br />
 <a href="html/libxml-valid.html#xmlSprintfElementContent">xmlSprintfElementContent</a><br />
+<a href="html/libxml-parser.html#xmlStartTag">xmlStartTag</a><br />
 <a href="html/libxml-parser.html#xmlStopParser">xmlStopParser</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrEqual">xmlStrEqual</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrPrintf">xmlStrPrintf</a><br />
diff --git a/doc/devhelp/general.html b/doc/devhelp/general.html
index 90f0d394..1076c38e 100644
--- a/doc/devhelp/general.html
+++ b/doc/devhelp/general.html
@@ -33,6 +33,6 @@
     <h2>
       <span class="refentrytitle">libxml2 API Modules</span>
     </h2>
-    <p><a href="libxml2-DOCBparser.html">DOCBparser</a> - old DocBook SGML parser<br/><a 
href="libxml2-HTMLparser.html">HTMLparser</a> - interface for an HTML 4.0 non-verifying parser<br/><a 
href="libxml2-HTMLtree.html">HTMLtree</a> - specific APIs to process HTML tree, especially 
serialization<br/><a href="libxml2-SAX.html">SAX</a> - Old SAX version 1 handler, deprecated<br/><a 
href="libxml2-SAX2.html">SAX2</a> - SAX2 parser interface used to build the DOM tree<br/><a 
href="libxml2-c14n.html">c14n</a> - Provide Canonical XML and Exclusive XML Canonicalization<br/><a 
href="libxml2-catalog.html">catalog</a> - interfaces to the Catalog handling system<br/><a 
href="libxml2-chvalid.html">chvalid</a> - Unicode character range checking<br/><a 
href="libxml2-debugXML.html">debugXML</a> - Tree debugging APIs<br/><a href="libxml2-dict.html">dict</a> - 
string dictionary<br/><a href="libxml2-encoding.html">encoding</a> - interface for the encoding conversion 
functions<br/><a href="libxml2-entit
 ies.html">entities</a> - interface for the XML entities handling<br/><a 
href="libxml2-globals.html">globals</a> - interface for all global variables of the library<br/><a 
href="libxml2-hash.html">hash</a> - Chained hash tables<br/><a href="libxml2-list.html">list</a> - lists 
interfaces<br/><a href="libxml2-nanoftp.html">nanoftp</a> - minimal FTP implementation<br/><a 
href="libxml2-nanohttp.html">nanohttp</a> - minimal HTTP implementation<br/><a 
href="libxml2-parser.html">parser</a> - the core parser module<br/><a 
href="libxml2-parserInternals.html">parserInternals</a> - internals routines and limits exported by the 
parser.<br/><a href="libxml2-pattern.html">pattern</a> - pattern expression handling<br/><a 
href="libxml2-relaxng.html">relaxng</a> - implementation of the Relax-NG validation<br/><a 
href="libxml2-schemasInternals.html">schemasInternals</a> - internal interfaces for XML Schemas<br/><a 
href="libxml2-schematron.html">schematron</a> - XML Schemastron implementation<br/><a hr
 ef="libxml2-threads.html">threads</a> - interfaces for thread handling<br/><a 
href="libxml2-tree.html">tree</a> - interfaces for tree manipulation<br/><a href="libxml2-uri.html">uri</a> - 
library of generic URI related routines<br/><a href="libxml2-valid.html">valid</a> - The DTD 
validation<br/><a href="libxml2-xinclude.html">xinclude</a> - implementation of XInclude<br/><a 
href="libxml2-xlink.html">xlink</a> - unfinished XLink detection module<br/><a 
href="libxml2-xmlIO.html">xmlIO</a> - interface for the I/O interfaces used by the parser<br/><a 
href="libxml2-xmlautomata.html">xmlautomata</a> - API to build regexp automata<br/><a 
href="libxml2-xmlerror.html">xmlerror</a> - error handling<br/><a 
href="libxml2-xmlexports.html">xmlexports</a> - macros for marking symbols as exportable/importable.<br/><a 
href="libxml2-xmlmemory.html">xmlmemory</a> - interface for the memory allocator<br/><a 
href="libxml2-xmlmodule.html">xmlmodule</a> - dynamic module loading<br/><a href="libxml2-xmlrea
 der.html">xmlreader</a> - the XMLReader implementation<br/><a href="libxml2-xmlregexp.html">xmlregexp</a> - 
regular expressions handling<br/><a href="libxml2-xmlsave.html">xmlsave</a> - the XML document 
serializer<br/><a href="libxml2-xmlschemas.html">xmlschemas</a> - incomplete XML Schemas structure 
implementation<br/><a href="libxml2-xmlschemastypes.html">xmlschemastypes</a> - implementation of XML Schema 
Datatypes<br/><a href="libxml2-xmlstring.html">xmlstring</a> - set of routines to process strings<br/><a 
href="libxml2-xmlunicode.html">xmlunicode</a> - Unicode character APIs<br/><a 
href="libxml2-xmlversion.html">xmlversion</a> - compile-time version informations<br/><a 
href="libxml2-xmlwriter.html">xmlwriter</a> - text writing API for XML<br/><a 
href="libxml2-xpath.html">xpath</a> - XML Path Language implementation<br/><a 
href="libxml2-xpathInternals.html">xpathInternals</a> - internal interfaces for XML Path Language 
implementation<br/><a href="libxml2-xpointer.html">xpointer<
 /a> - API to handle XML Pointers<br/></p>
+    <p><a href="libxml2-DOCBparser.html">DOCBparser</a> - old DocBook SGML parser<br/><a 
href="libxml2-HTMLparser.html">HTMLparser</a> - interface for an HTML 4.0 non-verifying parser<br/><a 
href="libxml2-HTMLtree.html">HTMLtree</a> - specific APIs to process HTML tree, especially 
serialization<br/><a href="libxml2-SAX.html">SAX</a> - Old SAX version 1 handler, deprecated<br/><a 
href="libxml2-SAX2.html">SAX2</a> - SAX2 parser interface used to build the DOM tree<br/><a 
href="libxml2-c14n.html">c14n</a> - Provide Canonical XML and Exclusive XML Canonicalization<br/><a 
href="libxml2-catalog.html">catalog</a> - interfaces to the Catalog handling system<br/><a 
href="libxml2-chvalid.html">chvalid</a> - Unicode character range checking<br/><a 
href="libxml2-debugXML.html">debugXML</a> - Tree debugging APIs<br/><a href="libxml2-dict.html">dict</a> - 
string dictionary<br/><a href="libxml2-encoding.html">encoding</a> - interface for the encoding conversion 
functions<br/><a href="libxml2-entit
 ies.html">entities</a> - interface for the XML entities handling<br/><a 
href="libxml2-globals.html">globals</a> - interface for all global variables of the library<br/><a 
href="libxml2-hash.html">hash</a> - Chained hash tables<br/><a href="libxml2-list.html">list</a> - lists 
interfaces<br/><a href="libxml2-nanoftp.html">nanoftp</a> - minimal FTP implementation<br/><a 
href="libxml2-nanohttp.html">nanohttp</a> - minimal HTTP implementation<br/><a 
href="libxml2-parser.html">parser</a> - the core parser module<br/><a 
href="libxml2-parserInternals.html">parserInternals</a> - internals routines and limits exported by the 
parser.<br/><a href="libxml2-pattern.html">pattern</a> - pattern expression handling<br/><a 
href="libxml2-relaxng.html">relaxng</a> - implementation of the Relax-NG validation<br/><a 
href="libxml2-schemasInternals.html">schemasInternals</a> - internal interfaces for XML Schemas<br/><a 
href="libxml2-schematron.html">schematron</a> - XML Schemastron implementation<br/><a hr
 ef="libxml2-threads.html">threads</a> - interfaces for thread handling<br/><a 
href="libxml2-tree.html">tree</a> - interfaces for tree manipulation<br/><a href="libxml2-uri.html">uri</a> - 
library of generic URI related routines<br/><a href="libxml2-valid.html">valid</a> - The DTD 
validation<br/><a href="libxml2-xinclude.html">xinclude</a> - implementation of XInclude<br/><a 
href="libxml2-xlink.html">xlink</a> - unfinished XLink detection module<br/><a 
href="libxml2-xmlIO.html">xmlIO</a> - interface for the I/O interfaces used by the parser<br/><a 
href="libxml2-xmlautomata.html">xmlautomata</a> - API to build regexp automata<br/><a 
href="libxml2-xmlerror.html">xmlerror</a> - error handling<br/><a 
href="libxml2-xmlexports.html">xmlexports</a> - macros for marking symbols as exportable/importable.<br/><a 
href="libxml2-xmlmemory.html">xmlmemory</a> - interface for the memory allocator<br/><a 
href="libxml2-xmlmodule.html">xmlmodule</a> - dynamic module loading<br/><a href="libxml2-xmlrea
 der.html">xmlreader</a> - the XMLReader implementation<br/><a href="libxml2-xmlregexp.html">xmlregexp</a> - 
regular expressions handling<br/><a href="libxml2-xmlsave.html">xmlsave</a> - the XML document 
serializer<br/><a href="libxml2-xmlschemas.html">xmlschemas</a> - incomplete XML Schemas structure 
implementation<br/><a href="libxml2-xmlschemastypes.html">xmlschemastypes</a> - implementation of XML Schema 
Datatypes<br/><a href="libxml2-xmlstring.html">xmlstring</a> - set of routines to process strings<br/><a 
href="libxml2-xmlunicode.html">xmlunicode</a> - Unicode character APIs<br/><a 
href="libxml2-xmlversion.html">xmlversion</a> - compile-time version information<br/><a 
href="libxml2-xmlwriter.html">xmlwriter</a> - text writing API for XML<br/><a 
href="libxml2-xpath.html">xpath</a> - XML Path Language implementation<br/><a 
href="libxml2-xpathInternals.html">xpathInternals</a> - internal interfaces for XML Path Language 
implementation<br/><a href="libxml2-xpointer.html">xpointer</
 a> - API to handle XML Pointers<br/></p>
   </body>
 </html>
diff --git a/doc/devhelp/libxml2-HTMLtree.html b/doc/devhelp/libxml2-HTMLtree.html
index f170340d..ec5d1132 100644
--- a/doc/devhelp/libxml2-HTMLtree.html
+++ b/doc/devhelp/libxml2-HTMLtree.html
@@ -96,11 +96,11 @@ void        <a href="#htmlDocContentDumpOutput">htmlDocContentDumpOutput</a>        (<a 
href="
         <hr/>
         <div class="refsect2" lang="en"><h3><a 
name="htmlDocContentDumpFormatOutput"/>htmlDocContentDumpFormatOutput ()</h3><pre class="programlisting">void 
  htmlDocContentDumpFormatOutput  (<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, 
<br/>                                        <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>   
                               const char * encoding, <br/>                                    int 
format)<br/>
 </pre><p>Dump an HTML document.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string</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>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string (unused)</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been 
added</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="htmlDocContentDumpOutput"/>htmlDocContentDumpOutput 
()</h3><pre class="programlisting">void       htmlDocContentDumpOutput        (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>                                 
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                                  const 
char * encoding)<br/>
 </pre><p>Dump an HTML document. Formatting return/spaces are added.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding 
string</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string 
(unused)</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="htmlDocDump"/>htmlDocDump ()</h3><pre 
class="programlisting">int  htmlDocDump                     (FILE * f, <br/>                                  
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br/>
 </pre><p>Dump an HTML document to an open FILE.</p>
@@ -144,11 +144,11 @@ void      <a href="#htmlDocContentDumpOutput">htmlDocContentDumpOutput</a>        (<a 
href="
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="htmlNodeDumpFormatOutput"/>htmlNodeDumpFormatOutput 
()</h3><pre class="programlisting">void       htmlNodeDumpFormatOutput        (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>                                 
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        const 
char * encoding, <br/>                                    int format)<br/>
 </pre><p>Dump an HTML node, recursive behaviour,children are printed too.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string</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>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string (unused)</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been 
added</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="htmlNodeDumpOutput"/>htmlNodeDumpOutput ()</h3><pre 
class="programlisting">void   htmlNodeDumpOutput              (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>                                 
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        const 
char * encoding)<br/>
 </pre><p>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns/spaces are 
added.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding 
string</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string 
(unused)</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="htmlSaveFile"/>htmlSaveFile ()</h3><pre 
class="programlisting">int        htmlSaveFile                    (const char * filename, <br/>               
                     <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br/>
 </pre><p>Dump an HTML document to a file. If @filename is "-" the stdout file is used.</p>
diff --git a/doc/devhelp/libxml2-SAX2.html b/doc/devhelp/libxml2-SAX2.html
index e80199ef..627e55e5 100644
--- a/doc/devhelp/libxml2-SAX2.html
+++ b/doc/devhelp/libxml2-SAX2.html
@@ -130,7 +130,7 @@ void        <a href="#xmlSAX2EntityDecl">xmlSAX2EntityDecl</a>              (void * ctx, 
<br/>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>The element name</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlSAX2EndElementNs"/>xmlSAX2EndElementNs ()</h3><pre 
class="programlisting">void xmlSAX2EndElementNs             (void * ctx, <br/>                                
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br/>                          
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>                           
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br/>
-</pre><p>SAX2 callback when an element end has been detected by the parser. It provides the namespace 
informations for the element.</p>
+</pre><p>SAX2 callback when an element end has been detected by the parser. It provides the namespace 
information for the element.</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>localname</tt></i>:</span></td><td>the local name of the element</td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>the element namespace prefix if 
available</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the element namespace name 
if available</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlSAX2EntityDecl"/>xmlSAX2EntityDecl ()</h3><pre 
class="programlisting">void     xmlSAX2EntityDecl               (void * ctx, <br/>                            
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                           
             int type, <br/>                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>                                    const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>                                    <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
@@ -226,7 +226,7 @@ void        <a href="#xmlSAX2EntityDecl">xmlSAX2EntityDecl</a>              (void * ctx, 
<br/>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>fullname</tt></i>:</span></td><td>The element name, including namespace 
prefix</td></tr><tr><td><span class="term"><i><tt>atts</tt></i>:</span></td><td>An array of name/value 
attributes pairs, NULL terminated</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlSAX2StartElementNs"/>xmlSAX2StartElementNs 
()</h3><pre class="programlisting">void     xmlSAX2StartElementNs           (void * ctx, <br/>                
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br/>          
                         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>           
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/>            
                             int nb_namespaces, <br/>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br/>                                        
 int nb_attributes, <br/>                                        int nb_defaulted, <br/>                      
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes)<br/>
-</pre><p>SAX2 callback when an element start has been detected by the parser. It provides the namespace 
informations for the element, as well as the new namespace declarations on the element.</p>
+</pre><p>SAX2 callback when an element start has been detected by the parser. It provides the namespace 
information for the element, as well as the new namespace declarations on the element.</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>localname</tt></i>:</span></td><td>the local name of the element</td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>the element namespace prefix if 
available</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the element namespace name 
if available</td></tr><tr><td><span class="term"><i><tt>nb_namespaces</tt></i>:</span></td><td>number of 
namespace definitions on that node</td></tr><tr><td><span 
class="term"><i><tt>namespaces</tt></i>:</span></td><td>pointer to the array of prefix/URI pairs namespace 
definitions</td></tr><tr><td><span class="term"><i><tt>nb_attributes</tt></i>:</span></td><td>the number of 
attributes on that node</td></tr><tr><td><span class="term"><i><tt>nb_defaulted</tt></i>:</span></td><td>the 
number of defaulte
 d attributes.</td></tr><tr><td><span class="term"><i><tt>attributes</tt></i>:</span></td><td>pointer to the 
array of (localname/prefix/URI/value/end) <a href="libxml2-SAX.html#attribute">attribute</a> 
values.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlSAX2UnparsedEntityDecl"/>xmlSAX2UnparsedEntityDecl 
()</h3><pre class="programlisting">void     xmlSAX2UnparsedEntityDecl       (void * ctx, <br/>                
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>               
                         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>         
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>       
                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br/>
diff --git a/doc/devhelp/libxml2-debugXML.html b/doc/devhelp/libxml2-debugXML.html
index 0eefb4e8..8eb2e48d 100644
--- a/doc/devhelp/libxml2-debugXML.html
+++ b/doc/devhelp/libxml2-debugXML.html
@@ -152,7 +152,7 @@ void        <a href="#xmlShell">xmlShell</a>                        (<a 
href="libxml2-tree.html#xmlDocPtr">x
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span 
class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation 
level.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpString"/>xmlDebugDumpString ()</h3><pre 
class="programlisting">void   xmlDebugDumpString              (FILE * output, <br/>                           
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br/>
-</pre><p>Dumps informations about the string, shorten it if necessary</p>
+</pre><p>Dumps information about the string, shorten it if necessary</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the string</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlLsCountNode"/>xmlLsCountNode ()</h3><pre 
class="programlisting">int    xmlLsCountNode                  (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
@@ -176,7 +176,7 @@ void        <a href="#xmlShell">xmlShell</a>                        (<a 
href="libxml2-tree.html#xmlDocPtr">x
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span 
class="term"><i><tt>arg</tt></i>:</span></td><td>unused</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span 
class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlShellDir"/>xmlShellDir ()</h3><pre 
class="programlisting">int  xmlShellDir                     (<a 
href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>                                  
       char * arg, <br/>                                       <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
-</pre><p>Implements the XML shell function "dir" dumps informations about the node (namespace, attributes, 
content).</p>
+</pre><p>Implements the XML shell function "dir" dumps information about the node (namespace, attributes, 
content).</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span 
class="term"><i><tt>arg</tt></i>:</span></td><td>unused</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span 
class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlShellDu"/>xmlShellDu ()</h3><pre 
class="programlisting">int    xmlShellDu                      (<a 
href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br/>                                  
       char * arg, <br/>                                       <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br/>                                       <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
diff --git a/doc/devhelp/libxml2-encoding.html b/doc/devhelp/libxml2-encoding.html
index 0190bd39..23d1029f 100644
--- a/doc/devhelp/libxml2-encoding.html
+++ b/doc/devhelp/libxml2-encoding.html
@@ -146,11 +146,11 @@ const char *      <a href="#xmlGetCharEncodingName">xmlGetCharEncodingName</a>    (<a hr
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="UTF8Toisolat1"/>UTF8Toisolat1 ()</h3><pre 
class="programlisting">int      UTF8Toisolat1                   (unsigned char * out, <br/>                   
                   int * outlen, <br/>                                     const unsigned char * in, <br/>    
                                     int * inlen)<br/>
 </pre><p>Take a block of UTF-8 chars in and try to convert it to an ISO Latin 1 block of chars out.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the 
result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of 
@out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of UTF-8 
chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of 
@in</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written 
if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of 
octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the 
number of octets consumed.</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the 
result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of 
@out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of UTF-8 
chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of 
@in</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written 
if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of 
octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the 
number of octets produced.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="isolat1ToUTF8"/>isolat1ToUTF8 ()</h3><pre 
class="programlisting">int      isolat1ToUTF8                   (unsigned char * out, <br/>                   
                   int * outlen, <br/>                                     const unsigned char * in, <br/>    
                                     int * inlen)<br/>
 </pre><p>Take a block of ISO Latin 1 chars in and try to convert it to an UTF-8 block of chars out.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the 
result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of 
@out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of ISO 
Latin 1 chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of 
@in</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written 
if success, or -1 otherwise The value of @inlen after return is the number of octets consumed if the return 
value is positive, else unpredictable. The value of @outlen after return is the number of octets 
consumed.</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the 
result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of 
@out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of ISO 
Latin 1 chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of 
@in</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written 
if success, or -1 otherwise The value of @inlen after return is the number of octets consumed if the return 
value is positive, else unpredictable. The value of @outlen after return is the number of octets 
produced.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlAddEncodingAlias"/>xmlAddEncodingAlias ()</h3><pre 
class="programlisting">int  xmlAddEncodingAlias             (const char * name, <br/>                         
               const char * alias)<br/>
 </pre><p>Registers an alias @alias for an encoding named @name. Existing alias will be overwritten.</p>
diff --git a/doc/devhelp/libxml2-nanoftp.html b/doc/devhelp/libxml2-nanoftp.html
index 07e10f39..47132539 100644
--- a/doc/devhelp/libxml2-nanoftp.html
+++ b/doc/devhelp/libxml2-nanoftp.html
@@ -98,16 +98,16 @@ void        <a href="#xmlNanoFTPCleanup">xmlNanoFTPCleanup</a>              (void);
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the code number, or 
0</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPCleanup"/>xmlNanoFTPCleanup ()</h3><pre 
class="programlisting">void     xmlNanoFTPCleanup               (void)<br/>
-</pre><p>Cleanup the FTP protocol layer. This cleanup proxy informations.</p>
+</pre><p>Cleanup the FTP protocol layer. This cleanup proxy information.</p>
 </div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPClose"/>xmlNanoFTPClose ()</h3><pre 
class="programlisting">int  xmlNanoFTPClose                 (void * ctx)<br/>
 </pre><p>Close the connection and both control and transport</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 incase of error, 0 
otherwise</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 
otherwise</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPCloseConnection"/>xmlNanoFTPCloseConnection 
()</h3><pre class="programlisting">int      xmlNanoFTPCloseConnection       (void * ctx)<br/>
 </pre><p>Close the data connection from the server</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 incase of error, 0 
otherwise</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 
otherwise</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPConnect"/>xmlNanoFTPConnect ()</h3><pre 
class="programlisting">int      xmlNanoFTPConnect               (void * ctx)<br/>
 </pre><p>Tries to open a control connection</p>
@@ -119,11 +119,11 @@ void      <a href="#xmlNanoFTPCleanup">xmlNanoFTPCleanup</a>              (void);
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPCwd"/>xmlNanoFTPCwd ()</h3><pre 
class="programlisting">int      xmlNanoFTPCwd                   (void * ctx, <br/>                            
           const char * directory)<br/>
 </pre><p>Tries to change the remote directory</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>directory</tt></i>:</span></td><td>a directory on the server</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 incase of error, 1 if CWD worked, 0 if it 
failed</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>directory</tt></i>:</span></td><td>a directory on the server</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 1 if CWD worked, 0 if it 
failed</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPDele"/>xmlNanoFTPDele ()</h3><pre 
class="programlisting">int    xmlNanoFTPDele                  (void * ctx, <br/>                              
         const char * file)<br/>
 </pre><p>Tries to delete an item (file or directory) from server</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>file</tt></i>:</span></td><td>a file or directory on the server</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 incase of error, 1 if DELE worked, 0 if it 
failed</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>file</tt></i>:</span></td><td>a file or directory on the server</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 1 if DELE worked, 0 if it 
failed</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPFreeCtxt"/>xmlNanoFTPFreeCtxt ()</h3><pre 
class="programlisting">void   xmlNanoFTPFreeCtxt              (void * ctx)<br/>
 </pre><p>Frees the context after closing the connection.</p>
@@ -131,11 +131,11 @@ void      <a href="#xmlNanoFTPCleanup">xmlNanoFTPCleanup</a>              (void);
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPGet"/>xmlNanoFTPGet ()</h3><pre 
class="programlisting">int      xmlNanoFTPGet                   (void * ctx, <br/>                            
           <a href="libxml2-nanoftp.html#ftpDataCallback">ftpDataCallback</a> callback, <br/>                 
                     void * userData, <br/>                                  const char * filename)<br/>
 </pre><p>Fetch the given file from the server. All data are passed back in the callbacks. The last callback 
has a size of 0 block.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>callback</tt></i>:</span></td><td>the user callback</td></tr><tr><td><span 
class="term"><i><tt>userData</tt></i>:</span></td><td>the user callback data</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the file to retrieve</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 incase of error, 0 
otherwise</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>callback</tt></i>:</span></td><td>the user callback</td></tr><tr><td><span 
class="term"><i><tt>userData</tt></i>:</span></td><td>the user callback data</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the file to retrieve</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 
otherwise</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPGetConnection"/>xmlNanoFTPGetConnection 
()</h3><pre class="programlisting"><a href="libxml2-nanoftp.html#SOCKET">SOCKET</a>     
xmlNanoFTPGetConnection         (void * ctx)<br/>
 </pre><p>Try to open a data connection to the server. Currently only passive mode is supported.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 incase of error, 0 
otherwise</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 
otherwise</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPGetResponse"/>xmlNanoFTPGetResponse 
()</h3><pre class="programlisting">int      xmlNanoFTPGetResponse           (void * ctx)<br/>
 </pre><p>Get the response from the FTP server after a command.</p>
@@ -146,12 +146,12 @@ void      <a href="#xmlNanoFTPCleanup">xmlNanoFTPCleanup</a>              (void);
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the file to retrieve (or NULL if path is in 
context).</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the socket for the data 
connection, or &lt;0 in case of error</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPInit"/>xmlNanoFTPInit ()</h3><pre 
class="programlisting">void   xmlNanoFTPInit                  (void)<br/>
-</pre><p>Initialize the FTP protocol layer. Currently it just checks for proxy informations, and get the 
hostname</p>
+</pre><p>Initialize the FTP protocol layer. Currently it just checks for proxy information, and get the 
hostname</p>
 </div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPList"/>xmlNanoFTPList ()</h3><pre 
class="programlisting">int    xmlNanoFTPList                  (void * ctx, <br/>                              
         <a href="libxml2-nanoftp.html#ftpListCallback">ftpListCallback</a> callback, <br/>                   
                   void * userData, <br/>                                  const char * filename)<br/>
 </pre><p>Do a listing on the server. All files info are passed back in the callbacks.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>callback</tt></i>:</span></td><td>the user callback</td></tr><tr><td><span 
class="term"><i><tt>userData</tt></i>:</span></td><td>the user callback data</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>optional files to list</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 incase of error, 0 
otherwise</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>callback</tt></i>:</span></td><td>the user callback</td></tr><tr><td><span 
class="term"><i><tt>userData</tt></i>:</span></td><td>the user callback data</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>optional files to list</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 
otherwise</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPNewCtxt"/>xmlNanoFTPNewCtxt ()</h3><pre 
class="programlisting">void *   xmlNanoFTPNewCtxt               (const char * URL)<br/>
 </pre><p>Allocate and initialize a new FTP context.</p>
@@ -162,7 +162,7 @@ void        <a href="#xmlNanoFTPCleanup">xmlNanoFTPCleanup</a>              (void);
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the URL to the resource</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>an FTP context, or 
NULL</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPProxy"/>xmlNanoFTPProxy ()</h3><pre 
class="programlisting">void xmlNanoFTPProxy                 (const char * host, <br/>                         
               int port, <br/>                                         const char * user, <br/>               
                         const char * passwd, <br/>                                      int type)<br/>
-</pre><p>Setup the FTP proxy informations. This can also be done by using ftp_proxy ftp_proxy_user and 
ftp_proxy_password environment variables.</p>
+</pre><p>Setup the FTP proxy information. This can also be done by using ftp_proxy ftp_proxy_user and 
ftp_proxy_password environment variables.</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>host</tt></i>:</span></td><td>the proxy host name</td></tr><tr><td><span 
class="term"><i><tt>port</tt></i>:</span></td><td>the proxy port</td></tr><tr><td><span 
class="term"><i><tt>user</tt></i>:</span></td><td>the proxy user name</td></tr><tr><td><span 
class="term"><i><tt>passwd</tt></i>:</span></td><td>the proxy password</td></tr><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the type of proxy 1 for using SITE, 2 for USER 
a@b</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPQuit"/>xmlNanoFTPQuit ()</h3><pre 
class="programlisting">int    xmlNanoFTPQuit                  (void * ctx)<br/>
@@ -174,7 +174,7 @@ void        <a href="#xmlNanoFTPCleanup">xmlNanoFTPCleanup</a>              (void);
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the FTP context</td></tr><tr><td><span 
class="term"><i><tt>dest</tt></i>:</span></td><td>a buffer</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the buffer length</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte read. 0 is an indication of an end of 
connection. -1 indicates a parameter error.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPScanProxy"/>xmlNanoFTPScanProxy ()</h3><pre 
class="programlisting">void xmlNanoFTPScanProxy             (const char * URL)<br/>
-</pre><p>(Re)Initialize the FTP Proxy context by parsing the URL and finding the protocol host port it 
indicates. Should be like ftp://myproxy/ or ftp://myproxy:3128/ A NULL URL cleans up proxy informations.</p>
+</pre><p>(Re)Initialize the FTP Proxy context by parsing the URL and finding the protocol host port it 
indicates. Should be like ftp://myproxy/ or ftp://myproxy:3128/ A NULL URL cleans up proxy information.</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>The proxy URL used to initialize the proxy 
context</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPUpdateURL"/>xmlNanoFTPUpdateURL ()</h3><pre 
class="programlisting">int  xmlNanoFTPUpdateURL             (void * ctx, <br/>                                
       const char * URL)<br/>
diff --git a/doc/devhelp/libxml2-nanohttp.html b/doc/devhelp/libxml2-nanohttp.html
index 075ae481..c771e098 100644
--- a/doc/devhelp/libxml2-nanohttp.html
+++ b/doc/devhelp/libxml2-nanohttp.html
@@ -90,10 +90,10 @@ int <a href="#xmlNanoHTTPReturnCode">xmlNanoHTTPReturnCode</a>              (void * ctx);
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPFetch"/>xmlNanoHTTPFetch ()</h3><pre 
class="programlisting">int        xmlNanoHTTPFetch                (const char * URL, <br/>                    
                     const char * filename, <br/>                                    char ** contentType)<br/>
 </pre><p>This function try to fetch the indicated resource via HTTP GET and save it's content in the 
file.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>The URL to load</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename where the content should be 
saved</td></tr><tr><td><span class="term"><i><tt>contentType</tt></i>:</span></td><td>if available the 
Content-Type information will be returned at that location</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 incase of success. The 
contentType, if provided must be freed by the caller</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>The URL to load</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename where the content should be 
saved</td></tr><tr><td><span class="term"><i><tt>contentType</tt></i>:</span></td><td>if available the 
Content-Type information will be returned at that location</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 in case of success. The 
contentType, if provided must be freed by the caller</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPInit"/>xmlNanoHTTPInit ()</h3><pre 
class="programlisting">void xmlNanoHTTPInit                 (void)<br/>
-</pre><p>Initialize the HTTP protocol layer. Currently it just checks for proxy informations</p>
+</pre><p>Initialize the HTTP protocol layer. Currently it just checks for proxy information</p>
 </div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPMethod"/>xmlNanoHTTPMethod ()</h3><pre 
class="programlisting">void *   xmlNanoHTTPMethod               (const char * URL, <br/>                      
                   const char * method, <br/>                                      const char * input, <br/>  
                                     char ** contentType, <br/>                                      const 
char * headers, <br/>                                     int ilen)<br/>
@@ -130,10 +130,10 @@ int       <a href="#xmlNanoHTTPReturnCode">xmlNanoHTTPReturnCode</a>              (void 
* ctx);
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPSave"/>xmlNanoHTTPSave ()</h3><pre 
class="programlisting">int  xmlNanoHTTPSave                 (void * ctxt, <br/>                               
       const char * filename)<br/>
 </pre><p>This function saves the output of the HTTP transaction to a file It closes and free the context at 
the end</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename where the content should be 
saved</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 
incase of success.</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename where the content should be 
saved</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 in 
case of success.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPScanProxy"/>xmlNanoHTTPScanProxy ()</h3><pre 
class="programlisting">void       xmlNanoHTTPScanProxy            (const char * URL)<br/>
-</pre><p>(Re)Initialize the HTTP Proxy context by parsing the URL and finding the protocol host port it 
indicates. Should be like http://myproxy/ or http://myproxy:3128/ A NULL URL cleans up proxy informations.</p>
+</pre><p>(Re)Initialize the HTTP Proxy context by parsing the URL and finding the protocol host port it 
indicates. Should be like http://myproxy/ or http://myproxy:3128/ A NULL URL cleans up proxy information.</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>The proxy URL used to initialize the proxy 
context</td></tr></tbody></table></div></div>
         <hr/>
       </div>
diff --git a/doc/devhelp/libxml2-parser.html b/doc/devhelp/libxml2-parser.html
index 601c54d6..8cd6a705 100644
--- a/doc/devhelp/libxml2-parser.html
+++ b/doc/devhelp/libxml2-parser.html
@@ -55,6 +55,7 @@ typedef <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *
 typedef struct _xmlParserNodeInfoSeq <a href="#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a>;
 typedef enum <a href="#xmlFeature">xmlFeature</a>;
 typedef enum <a href="#xmlParserMode">xmlParserMode</a>;
+typedef struct _xmlStartTag <a href="#xmlStartTag">xmlStartTag</a>;
 typedef enum <a href="#xmlParserOption">xmlParserOption</a>;
 typedef <a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * <a 
href="#xmlSAXHandlerV1Ptr">xmlSAXHandlerV1Ptr</a>;
 typedef struct _xmlParserNodeInfo <a href="#xmlParserNodeInfo">xmlParserNodeInfo</a>;
@@ -350,6 +351,12 @@ void       <a href="#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a>    (<a hr
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlSAXHandlerV1Ptr">Typedef 
</a>xmlSAXHandlerV1Ptr</h3><pre class="programlisting"><a 
href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * xmlSAXHandlerV1Ptr;
 </pre><p/>
+</div>
+        <hr/>
+        <div class="refsect2" lang="en"><h3><a name="xmlStartTag">Structure </a>xmlStartTag</h3><pre 
class="programlisting">struct _xmlStartTag {
+The content of this structure is not made public by the API.
+} xmlStartTag;
+</pre><p/>
 </div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="attributeDeclSAXFunc"/>Function type 
attributeDeclSAXFunc</h3><pre class="programlisting">void    attributeDeclSAXFunc            (void * ctx, 
<br/>                                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
elem, <br/>                                        const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
* fullname, <br/>                                    int type, <br/>                                         
int def, <br/>                                  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
defaultValue, <br/>                                        <a 
href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br/>
@@ -381,7 +388,7 @@ void        <a href="#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a>    (<a hr
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser 
context)</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="endElementNsSAX2Func"/>Function type 
endElementNsSAX2Func</h3><pre class="programlisting">void    endElementNsSAX2Func            (void * ctx, 
<br/>                                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
localname, <br/>                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
* prefix, <br/>                                      const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br/>
-</pre><p>SAX2 callback when an element end has been detected by the parser. It provides the namespace 
informations for the element.</p>
+</pre><p>SAX2 callback when an element end has been detected by the parser. It provides the namespace 
information for the element.</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>localname</tt></i>:</span></td><td>the local name of the element</td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>the element namespace prefix if 
available</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the element namespace name 
if available</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="endElementSAXFunc"/>Function type 
endElementSAXFunc</h3><pre class="programlisting">void  endElementSAXFunc               (void * ctx, <br/>    
                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
@@ -457,7 +464,7 @@ void        <a href="#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a>    (<a hr
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser 
context)</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="startElementNsSAX2Func"/>Function type 
startElementNsSAX2Func</h3><pre class="programlisting">void        startElementNsSAX2Func          (void * 
ctx, <br/>                                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
localname, <br/>                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
* prefix, <br/>                                      const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/>                                         int 
nb_namespaces, <br/>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br/>                                        
 int nb_attributes, <br/>                                        int nb_defaulted, <br/>                      
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes)<br/>
-</pre><p>SAX2 callback when an element start has been detected by the parser. It provides the namespace 
informations for the element, as well as the new namespace declarations on the element.</p>
+</pre><p>SAX2 callback when an element start has been detected by the parser. It provides the namespace 
information for the element, as well as the new namespace declarations on the element.</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>localname</tt></i>:</span></td><td>the local name of the element</td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>the element namespace prefix if 
available</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the element namespace name 
if available</td></tr><tr><td><span class="term"><i><tt>nb_namespaces</tt></i>:</span></td><td>number of 
namespace definitions on that node</td></tr><tr><td><span 
class="term"><i><tt>namespaces</tt></i>:</span></td><td>pointer to the array of prefix/URI pairs namespace 
definitions</td></tr><tr><td><span class="term"><i><tt>nb_attributes</tt></i>:</span></td><td>the number of 
attributes on that node</td></tr><tr><td><span class="term"><i><tt>nb_defaulted</tt></i>:</span></td><td>the 
number of defaulte
 d attributes. The defaulted ones are at the end of the array</td></tr><tr><td><span 
class="term"><i><tt>attributes</tt></i>:</span></td><td>pointer to the array of 
(localname/prefix/URI/value/end) <a href="libxml2-SAX.html#attribute">attribute</a> 
values.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="startElementSAXFunc"/>Function type 
startElementSAXFunc</h3><pre class="programlisting">void      startElementSAXFunc             (void * ctx, 
<br/>                                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
name, <br/>                                        const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
** atts)<br/>
@@ -598,11 +605,11 @@ void      <a href="#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a>    (<a hr
         <hr/>
         <div class="refsect2" lang="en"><h3><a 
name="xmlParseBalancedChunkMemory"/>xmlParseBalancedChunkMemory ()</h3><pre class="programlisting">int  
xmlParseBalancedChunkMemory     (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>               
                   <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>               
                     void * user_data, <br/>                                         int depth, <br/>         
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string, <br/>     
                                 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br/>
 </pre><p>Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the 
Well Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= 
(element | CharData | Reference | CDSect | PI | Comment)*</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document the chunk pertains to</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>Returns</tt></i>:</span></td><td>0 if the chunk is well balanced, -1 in case of args 
problem and the parser error code otherwise</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document the chunk pertains to (must not be 
NULL)</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block (possibly 
NULL)</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on 
SAX callbacks (possibly NULL)</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>Used 
for loop detection, use 0</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>the 
input string in UTF8 or ISO-Latin (zero terminated)</td></tr><tr><td><span 
class="term"><i><tt>lst</tt></i>:</span></td><td>the return value for the set of parsed 
nodes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the chunk is well 
balanced, -1 in case of args problem and the parser error code otherwise</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a 
name="xmlParseBalancedChunkMemoryRecover"/>xmlParseBalancedChunkMemoryRecover ()</h3><pre 
class="programlisting">int    xmlParseBalancedChunkMemoryRecover      (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                          <a 
href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>                                     
       void * user_data, <br/>                                                 int depth, <br/>               
                                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string, <br/>   
                                           <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst, <br/> 
                                             int recover)<br/>
 </pre><p>Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the 
Well Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= 
(element | CharData | Reference | CDSect | PI | Comment)*</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document the chunk pertains to</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"><i><tt>Returns</tt></i>:</span></td><td>0 if the chunk is well 
balanced, 
 -1 in case of args problem and the parser error code otherwise In case recover is set to 1, the nodelist 
will not be empty even if the parsed chunk is not well balanced, assuming the parsing succeeded to some 
extent.</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document the chunk pertains to (must not be 
NULL)</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block (possibly 
NULL)</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on 
SAX callbacks (possibly NULL)</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>Used 
for loop detection, use 0</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>the 
input string in UTF8 or ISO-Latin (zero terminated)</td></tr><tr><td><span 
class="term"><i><tt>lst</tt></i>:</span></td><td>the return value for the set of parsed 
nodes</td></tr><tr><td><span class="term"><i><tt>recover</tt></i>:</span></td><td>return nodes even if the 
data is broken (use 0)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the 
chun
 k is well balanced, -1 in case of args problem and the parser error code otherwise In case recover is set to 
1, the nodelist will not be empty even if the parsed chunk is not well balanced, assuming the parsing 
succeeded to some extent.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlParseChunk"/>xmlParseChunk ()</h3><pre 
class="programlisting">int      xmlParseChunk                   (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
const char * chunk, <br/>                                       int size, <br/>                               
          int terminate)<br/>
 </pre><p>Parse a Chunk of memory</p>
@@ -634,7 +641,7 @@ void        <a href="#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a>    (<a hr
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlParseExternalEntity"/>xmlParseExternalEntity 
()</h3><pre class="programlisting">int    xmlParseExternalEntity          (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>                                    
void * user_data, <br/>                                         int depth, <br/>                              
          const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br/>                             
            const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br/>                            
      <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br/>
 </pre><p>Parse an external general entity An external general parsed entity is well-formed if it matches the 
production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document the chunk pertains to</td></tr><tr><td><span 
class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler 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"><i><tt>Returns</tt></i>:</span></td><td>0 if the entity is 
well formed, -1 in case of args problem and the parser err
 or code otherwise</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document the chunk pertains to</td></tr><tr><td><span 
class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block (possibly NULL)</td></tr><tr><td><span 
class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX callbacks (possibly 
NULL)</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>Used for loop detection, use 
0</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the URL for the entity to 
load</td></tr><tr><td><span class="term"><i><tt>ID</tt></i>:</span></td><td>the System ID for the entity to 
load</td></tr><tr><td><span class="term"><i><tt>lst</tt></i>:</span></td><td>the return value for the set of 
parsed nodes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the entity is 
well formed, -1 in case of args problem and the parser er
 ror code otherwise</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlParseFile"/>xmlParseFile ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlParseFile            
(const char * filename)<br/>
 </pre><p>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>
diff --git a/doc/devhelp/libxml2-parserInternals.html b/doc/devhelp/libxml2-parserInternals.html
index 2fca6bdd..989963db 100644
--- a/doc/devhelp/libxml2-parserInternals.html
+++ b/doc/devhelp/libxml2-parserInternals.html
@@ -327,7 +327,7 @@ void        <a href="#xmlParseEntityDecl">xmlParseEntityDecl</a>            (<a 
href="libxml2-tre
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document 
encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser 
context or NULL</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="htmlInitAutoClose"/>htmlInitAutoClose ()</h3><pre 
class="programlisting">void     htmlInitAutoClose               (void)<br/>
-</pre><p>Initialize the htmlStartCloseIndex for fast lookup of closing tags names. This is not reentrant. 
Call xmlInitParser() once before processing in case of use in multithreaded programs.</p>
+</pre><p>This is a no-op now.</p>
 </div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="inputPop"/>inputPop ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>        inputPop    
    (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
@@ -392,7 +392,7 @@ void        <a href="#xmlParseEntityDecl">xmlParseEntityDecl</a>            (<a 
href="libxml2-tre
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlErrMemory"/>xmlErrMemory ()</h3><pre 
class="programlisting">void       xmlErrMemory                    (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
const char * extra)<br/>
 </pre><p>Handle a redefinition of <a href="libxml2-SAX.html#attribute">attribute</a> error</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>extra</tt></i>:</span></td><td>extra informations</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>extra</tt></i>:</span></td><td>extra information</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlFreeInputStream"/>xmlFreeInputStream ()</h3><pre 
class="programlisting">void   xmlFreeInputStream              (<a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br/>
 </pre><p>Free up an input stream.</p>
@@ -471,7 +471,7 @@ void        <a href="#xmlParseEntityDecl">xmlParseEntityDecl</a>            (<a 
href="libxml2-tre
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlParseContent"/>xmlParseContent ()</h3><pre 
class="programlisting">void xmlParseContent                 (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Parse a content: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
+</pre><p>Parse a content sequence. Stops at EOF or '&lt;/'. [43] content ::= (element | CharData | Reference 
| CDSect | PI | Comment)*</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlParseDefaultDecl"/>xmlParseDefaultDecl ()</h3><pre 
class="programlisting">int  xmlParseDefaultDecl             (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** value)<br/>
diff --git a/doc/devhelp/libxml2-relaxng.html b/doc/devhelp/libxml2-relaxng.html
index 128ff3a6..07aa9a35 100644
--- a/doc/devhelp/libxml2-relaxng.html
+++ b/doc/devhelp/libxml2-relaxng.html
@@ -205,7 +205,7 @@ The content of this structure is not made public by the API.
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span 
class="term"><i><tt>err</tt></i>:</span></td><td>the error callback result</td></tr><tr><td><span 
class="term"><i><tt>warn</tt></i>:</span></td><td>the warning callback result</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the callbacks 
result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 
otherwise.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGGetValidErrors"/>xmlRelaxNGGetValidErrors 
()</h3><pre class="programlisting">int        xmlRelaxNGGetValidErrors        (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>                     
               <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * 
err, <br/>                                         <a 
href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br/>     
                               void ** ctx)<br/>
-</pre><p>Get the error and warning callback informations</p>
+</pre><p>Get the error and warning callback information</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span 
class="term"><i><tt>err</tt></i>:</span></td><td>the error function result</td></tr><tr><td><span 
class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function result</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context result</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error and 0 
otherwise</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGInitTypes"/>xmlRelaxNGInitTypes ()</h3><pre 
class="programlisting">int  xmlRelaxNGInitTypes             (void)<br/>
@@ -241,7 +241,7 @@ The content of this structure is not made public by the API.
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG parser context</td></tr><tr><td><span 
class="term"><i><tt>serror</tt></i>:</span></td><td>the error callback</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the 
callbacks</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGSetValidErrors"/>xmlRelaxNGSetValidErrors 
()</h3><pre class="programlisting">void       xmlRelaxNGSetValidErrors        (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>                     
               <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> 
err, <br/>                                   <a 
href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br/>       
                               void * ctx)<br/>
-</pre><p>Set the error and warning callback informations</p>
+</pre><p>Set the error and warning callback information</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span 
class="term"><i><tt>err</tt></i>:</span></td><td>the error function</td></tr><tr><td><span 
class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a 
name="xmlRelaxNGSetValidStructuredErrors"/>xmlRelaxNGSetValidStructuredErrors ()</h3><pre 
class="programlisting">void   xmlRelaxNGSetValidStructuredErrors      (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>                     
                       <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> 
serror, <br/>                                                 void * ctx)<br/>
@@ -269,7 +269,7 @@ The content of this structure is not made public by the API.
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>a document instance</td></tr><tr><td><span 
class="term"><i><tt>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if no validation problem was found or 0 if validating 
the element requires a full node, and -1 in case of error.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlRelaxParserSetFlag"/>xmlRelaxParserSetFlag 
()</h3><pre class="programlisting">int      xmlRelaxParserSetFlag           (<a 
href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br/>                   
               int flags)<br/>
-</pre><p>Semi private function used to pass informations to a parser context which are a combination of <a 
href="libxml2-relaxng.html#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a> .</p>
+</pre><p>Semi private function used to pass information to a parser context which are a combination of <a 
href="libxml2-relaxng.html#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a> .</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a RelaxNG parser context</td></tr><tr><td><span 
class="term"><i><tt>flags</tt></i>:</span></td><td>a set of flags values</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if success and -1 in case of 
error</td></tr></tbody></table></div></div>
         <hr/>
       </div>
diff --git a/doc/devhelp/libxml2-tree.html b/doc/devhelp/libxml2-tree.html
index 546844dc..8d60f111 100644
--- a/doc/devhelp/libxml2-tree.html
+++ b/doc/devhelp/libxml2-tree.html
@@ -326,7 +326,7 @@ void        <a href="#xmlFreeNsList">xmlFreeNsList</a>                      (<a 
href="libxml2-tree.html#xm
     struct _xmlDoc *   doc     : the containing document
     <a href="libxml2-tree.html#xmlNs">xmlNs</a> *      ns      : pointer to the associated namespace
     <a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a>  atype   : the <a 
href="libxml2-SAX.html#attribute">attribute</a> type if validating
-    void *     psvi    : for type/PSVI informations
+    void *     psvi    : for type/PSVI information
 } xmlAttr;
 </pre><p/>
 </div>
@@ -454,7 +454,7 @@ The content of this structure is not made public by the API.
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       URL     : The URI for that document
     int        charset : Internal flag for charset handling, actually an <a 
href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>
     struct _xmlDict *  dict    : dict used to allocate names or NULL
-    void *     psvi    : for type/PSVI informations
+    void *     psvi    : for type/PSVI information
     int        parseFlags      : set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> 
used to parse the document
     int        properties      : set of <a href="libxml2-tree.html#xmlDocProperties">xmlDocProperties</a> 
for this document set at the end of parsing
 } xmlDoc;
@@ -665,7 +665,7 @@ The content of this structure is not made public by the API.
     <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     content : the content
     struct _xmlAttr *  properties      : properties list
     <a href="libxml2-tree.html#xmlNs">xmlNs</a> *      nsDef   : namespace definitions on this node
-    void *     psvi    : for type/PSVI informations
+    void *     psvi    : for type/PSVI information
     unsigned short     line    : line number
     unsigned short     extra   : extra data for XPath/XSLT
 } xmlNode;
@@ -758,7 +758,7 @@ The content of this structure is not made public by the API.
     int        nameNr  : Depth of the parsing stack
     int        nameMax : Max depth of the parsing stack
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * *     nameTab : array of nodes
-    long       nbChars : number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> processed
+    long       nbChars : unused
     long       checkIndex      : used by progressive parsing lookup
     int        keepBlanks      : ugly but ...
     int        disableSAX      : SAX callbacks are disabled
@@ -794,7 +794,7 @@ The content of this structure is not made public by the API.
     int        nsMax   : the size of the arrays
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * *     nsTab   : the array of 
prefix/namespace name
     int *      attallocs       : which <a href="libxml2-SAX.html#attribute">attribute</a> were allocated
-    void * *   pushTab : array of data for push
+    <a href="libxml2-parser.html#xmlStartTag">xmlStartTag</a> *        pushTab : array of data for push
     <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>    attsDefault     : defaulted 
attributes if any
     <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>    attsSpecial     : non-CDATA 
attributes if any
     int        nsWellFormed    : is the document XML Namespace okay
@@ -803,7 +803,7 @@ The content of this structure is not made public by the API.
     int        freeElemsNr     : number of freed element nodes
     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      freeElems       : List of freed element nodes
     int        freeAttrsNr     : number of freed attributes nodes
-    <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>      freeAttrs       : * the complete error 
informations for the last error. *
+    <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>      freeAttrs       : * the complete error 
information for the last error. *
     <a href="libxml2-xmlerror.html#xmlError">xmlError</a>      lastError
     <a href="libxml2-parser.html#xmlParserMode">xmlParserMode</a>      parseMode       : the parser mode
     unsigned long      nbentities      : number of entities references
@@ -1317,7 +1317,7 @@ The content of this structure is not made public by the API.
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the target document</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the processing instruction name</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the PI content</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node 
object.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlNewDocProp"/>xmlNewDocProp ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>    xmlNewDocProp           (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                        const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Create a new property carried by a document.</p>
+</pre><p>Create a new property carried by a document. NOTE: @value is supposed to be a piece of XML CDATA, 
so it allows entity references, but XML special chars need to be escaped first by using 
xmlEncodeEntitiesReentrant(). Use xmlNewProp() if you don't need entities support.</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the <a 
href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the value of the <a 
href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the <a 
href="libxml2-SAX.html#attribute">attribute</a></td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlNewDocRawNode"/>xmlNewDocRawNode ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlNewDocRawNode        (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>                                     const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                        const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
diff --git a/doc/devhelp/libxml2-xinclude.html b/doc/devhelp/libxml2-xinclude.html
index 12a61d5a..140fb40f 100644
--- a/doc/devhelp/libxml2-xinclude.html
+++ b/doc/devhelp/libxml2-xinclude.html
@@ -144,7 +144,7 @@ The content of this structure is not made public by the API.
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>an XML document</td></tr><tr><td><span 
class="term"><i><tt>flags</tt></i>:</span></td><td>a set of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML 
includes</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>application data that will 
be passed to the parser context in the _private field of the parser context(s)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing 
failed or the number of substitutions done.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlXIncludeProcessNode"/>xmlXIncludeProcessNode 
()</h3><pre class="programlisting">int    xmlXIncludeProcessNode          (<a 
href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br/>                            
       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Implement the XInclude substitution for the given subtree reusing the informations and data coming 
from the given context.</p>
+</pre><p>Implement the XInclude substitution for the given subtree reusing the information and data coming 
from the given context.</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an existing XInclude context</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>a node in an XML document</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing 
failed or the number of substitutions done.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlXIncludeProcessTree"/>xmlXIncludeProcessTree 
()</h3><pre class="programlisting">int    xmlXIncludeProcessTree          (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree)<br/>
diff --git a/doc/devhelp/libxml2-xmlIO.html b/doc/devhelp/libxml2-xmlIO.html
index 91d0ea6c..8597f4db 100644
--- a/doc/devhelp/libxml2-xmlIO.html
+++ b/doc/devhelp/libxml2-xmlIO.html
@@ -47,6 +47,7 @@
 typedef int <a href="#xmlInputMatchCallback">xmlInputMatchCallback</a>         (char const * filename);
 void   <a href="#xmlRegisterDefaultOutputCallbacks">xmlRegisterDefaultOutputCallbacks</a>      (void);
 int    <a href="#xmlFileClose">xmlFileClose</a>                        (void * context);
+int    <a href="#xmlPopOutputCallbacks">xmlPopOutputCallbacks</a>              (void);
 typedef int <a href="#xmlOutputMatchCallback">xmlOutputMatchCallback</a>               (char const * 
filename);
 int    <a href="#xmlParserInputBufferPush">xmlParserInputBufferPush</a>        (<a 
href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br/>                        
               int len, <br/>                                  const char * buf);
 int    <a href="#xmlIOFTPRead">xmlIOFTPRead</a>                        (void * context, <br/>                
                   char * buffer, <br/>                                    int len);
@@ -320,6 +321,10 @@ void *     <a href="#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a>                    (const char * 
post_uri, <b
         <div class="refsect2" lang="en"><h3><a name="xmlPopInputCallbacks"/>xmlPopInputCallbacks ()</h3><pre 
class="programlisting">int        xmlPopInputCallbacks            (void)<br/>
 </pre><p>Clear the top input callback from the input stack. this includes the compiled-in I/O.</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of input callback registered or -1 in case of 
error.</td></tr></tbody></table></div></div>
+        <hr/>
+        <div class="refsect2" lang="en"><h3><a name="xmlPopOutputCallbacks"/>xmlPopOutputCallbacks 
()</h3><pre class="programlisting">int      xmlPopOutputCallbacks           (void)<br/>
+</pre><p>Remove the top output callbacks from the output stack. This includes the compiled-in I/O.</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of output callback registered or -1 in case 
of error.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a 
name="xmlRegisterDefaultInputCallbacks"/>xmlRegisterDefaultInputCallbacks ()</h3><pre 
class="programlisting">void       xmlRegisterDefaultInputCallbacks        (void)<br/>
 </pre><p>Registers the default compiled-in I/O handlers.</p>
diff --git a/doc/devhelp/libxml2-xmlerror.html b/doc/devhelp/libxml2-xmlerror.html
index a663b0db..f6e5a01a 100644
--- a/doc/devhelp/libxml2-xmlerror.html
+++ b/doc/devhelp/libxml2-xmlerror.html
@@ -916,7 +916,7 @@ void        <a href="#xmlResetError">xmlResetError</a>                      (<a 
href="libxml2-xmlerror.htm
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>input</tt></i>:</span></td><td>an <a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlParserPrintFileInfo"/>xmlParserPrintFileInfo 
()</h3><pre class="programlisting">void   xmlParserPrintFileInfo          (<a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br/>
-</pre><p>Displays the associated file and line informations for the current input</p>
+</pre><p>Displays the associated file and line information for the current input</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>input</tt></i>:</span></td><td>an <a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlParserValidityError"/>xmlParserValidityError 
()</h3><pre class="programlisting">void   xmlParserValidityError          (void * ctx, <br/>                  
                     const char * msg, <br/>                                         ... ...)<br/>
diff --git a/doc/devhelp/libxml2-xmlexports.html b/doc/devhelp/libxml2-xmlexports.html
index a596490b..2ac2daff 100644
--- a/doc/devhelp/libxml2-xmlexports.html
+++ b/doc/devhelp/libxml2-xmlexports.html
@@ -40,14 +40,15 @@
     </h2>
     <p>xmlexports - macros for marking symbols as exportable/importable.</p>
     <p>macros for marking symbols as exportable/importable. </p>
-    <p>Author(s): Igor Zlatovic &lt;igor zlatkovic com&gt; </p>
+    <p>Author(s): </p>
     <div class="refsynopsisdiv">
       <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#XMLCALL">XMLCALL</a>;
+      <pre class="synopsis">#define <a href="#XMLCDECL">XMLCDECL</a>;
+#define <a href="#XMLPUBLIC">XMLPUBLIC</a>;
 #define <a href="#XMLPUBVAR">XMLPUBVAR</a>;
-#define <a href="#XMLCDECL">XMLCDECL</a>;
-#define <a href="#XMLPUBFUN">XMLPUBFUN</a>;
 #define <a href="#LIBXML_DLL_IMPORT">LIBXML_DLL_IMPORT</a>;
+#define <a href="#XMLCALL">XMLCALL</a>;
+#define <a href="#XMLPUBFUN">XMLPUBFUN</a>;
 </pre>
     </div>
     <div class="refsect1" lang="en">
@@ -61,19 +62,23 @@
 </div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="XMLCALL">Macro </a>XMLCALL</h3><pre 
class="programlisting">#define <a href="#XMLCALL">XMLCALL</a>;
-</pre><p/>
+</pre><p>Macro which declares the calling convention for exported functions</p>
 </div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="XMLCDECL">Macro </a>XMLCDECL</h3><pre 
class="programlisting">#define <a href="#XMLCDECL">XMLCDECL</a>;
-</pre><p/>
+</pre><p>Macro which declares the calling convention for exported functions that use '...'.</p>
 </div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="XMLPUBFUN">Macro </a>XMLPUBFUN</h3><pre 
class="programlisting">#define <a href="#XMLPUBFUN">XMLPUBFUN</a>;
-</pre><p/>
+</pre><p>Macro which declares an exportable function</p>
+</div>
+        <hr/>
+        <div class="refsect2" lang="en"><h3><a name="XMLPUBLIC">Macro </a>XMLPUBLIC</h3><pre 
class="programlisting">#define <a href="#XMLPUBLIC">XMLPUBLIC</a>;
+</pre><p>Macro which declares a public symbol</p>
 </div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="XMLPUBVAR">Macro </a>XMLPUBVAR</h3><pre 
class="programlisting">#define <a href="#XMLPUBVAR">XMLPUBVAR</a>;
-</pre><p/>
+</pre><p>Macro which declares an exportable variable</p>
 </div>
         <hr/>
       </div>
diff --git a/doc/devhelp/libxml2-xmlreader.html b/doc/devhelp/libxml2-xmlreader.html
index e72c29d9..a000d56a 100644
--- a/doc/devhelp/libxml2-xmlreader.html
+++ b/doc/devhelp/libxml2-xmlreader.html
@@ -464,7 +464,7 @@ The content of this structure is not made public by the API.
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlReaderTypes">xmlReaderTypes</a> of the current node or -1 in case of 
error</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlTextReaderNormalization"/>xmlTextReaderNormalization 
()</h3><pre class="programlisting">int    xmlTextReaderNormalization      (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>The value indicating whether to normalize white space and <a 
href="libxml2-SAX.html#attribute">attribute</a> values. Since <a 
href="libxml2-SAX.html#attribute">attribute</a> value and end of line normalizations are a MUST in the XML 
specification only the value true is accepted. The broken bahaviour of accepting out of range character 
entities like &amp;#0; is of course not supported either.</p>
+</pre><p>The value indicating whether to normalize white space and <a 
href="libxml2-SAX.html#attribute">attribute</a> values. Since <a 
href="libxml2-SAX.html#attribute">attribute</a> value and end of line normalizations are a MUST in the XML 
specification only the value true is accepted. The broken behaviour of accepting out of range character 
entities like &amp;#0; is of course not supported either.</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 or -1 in case of 
error.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlTextReaderPrefix"/>xmlTextReaderPrefix ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       xmlTextReaderPrefix     
(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
diff --git a/doc/devhelp/libxml2-xmlregexp.html b/doc/devhelp/libxml2-xmlregexp.html
index 4fc33c6e..cf13627b 100644
--- a/doc/devhelp/libxml2-xmlregexp.html
+++ b/doc/devhelp/libxml2-xmlregexp.html
@@ -231,11 +231,11 @@ The content of this structure is not made public by the API.
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the expressions context</td></tr><tr><td><span 
class="term"><i><tt>exp</tt></i>:</span></td><td>the englobing expression</td></tr><tr><td><span 
class="term"><i><tt>sub</tt></i>:</span></td><td>the subexpression</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 if false and -1 in case of 
failure.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlRegExecErrInfo"/>xmlRegExecErrInfo ()</h3><pre 
class="programlisting">int      xmlRegExecErrInfo               (<a 
href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** string, <br/>                            
         int * nbval, <br/>                                      int * nbneg, <br/>                           
           <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br/>                              
     int * terminal)<br/>
-</pre><p>Extract error informations from the regexp execution, the parameter @string will be updated with 
the value pushed and not accepted, the parameter @values must point to an array of @nbval string pointers on 
return nbval will contain the number of possible strings in that state and the @values array will be updated 
with them. The string values</p>
+</pre><p>Extract error information from the regexp execution, the parameter @string will be updated with the 
value pushed and not accepted, the parameter @values must point to an array of @nbval string pointers on 
return nbval will contain the number of possible strings in that state and the @values array will be updated 
with them. The string values</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>exec</tt></i>:</span></td><td>a regexp execution context generating an 
error</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>return value for the error 
string</td></tr><tr><td><span class="term"><i><tt>nbval</tt></i>:</span></td><td>pointer to the number of 
accepted values IN/OUT</td></tr><tr><td><span class="term"><i><tt>nbneg</tt></i>:</span></td><td>return 
number of negative transitions</td></tr><tr><td><span 
class="term"><i><tt>values</tt></i>:</span></td><td>pointer to the array of acceptable 
values</td></tr><tr><td><span class="term"><i><tt>terminal</tt></i>:</span></td><td>return value if this was 
a terminal state</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>will be freed 
with the @exec context and don't need to be deallocated. Returns: 0 in case of success or -1 in case of 
error.</td></tr></tbody></table></div></div

         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlRegExecNextValues"/>xmlRegExecNextValues ()</h3><pre 
class="programlisting">int        xmlRegExecNextValues            (<a 
href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br/>                             
       int * nbval, <br/>                                      int * nbneg, <br/>                             
         <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br/>                                
   int * terminal)<br/>
-</pre><p>Extract informations from the regexp execution, the parameter @values must point to an array of 
@nbval string pointers on return nbval will contain the number of possible strings in that state and the 
@values array will be updated with them. The string values</p>
+</pre><p>Extract information from the regexp execution, the parameter @values must point to an array of 
@nbval string pointers on return nbval will contain the number of possible strings in that state and the 
@values array will be updated with them. The string values</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>exec</tt></i>:</span></td><td>a regexp execution context</td></tr><tr><td><span 
class="term"><i><tt>nbval</tt></i>:</span></td><td>pointer to the number of accepted values 
IN/OUT</td></tr><tr><td><span class="term"><i><tt>nbneg</tt></i>:</span></td><td>return number of negative 
transitions</td></tr><tr><td><span class="term"><i><tt>values</tt></i>:</span></td><td>pointer to the array 
of acceptable values</td></tr><tr><td><span class="term"><i><tt>terminal</tt></i>:</span></td><td>return 
value if this was a terminal state</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>will be freed with the @exec context and don't need to 
be deallocated. Returns: 0 in case of success or -1 in case of error.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlRegExecPushString"/>xmlRegExecPushString ()</h3><pre 
class="programlisting">int        xmlRegExecPushString            (<a 
href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                              
         void * data)<br/>
diff --git a/doc/devhelp/libxml2-xmlsave.html b/doc/devhelp/libxml2-xmlsave.html
index f006e3bb..6e851dea 100644
--- a/doc/devhelp/libxml2-xmlsave.html
+++ b/doc/devhelp/libxml2-xmlsave.html
@@ -55,7 +55,7 @@ int   <a href="#xmlSaveSetAttrEscape">xmlSaveSetAttrEscape</a>                (<a 
href="libxml2-
 int    <a href="#xmlSaveFlush">xmlSaveFlush</a>                        (<a 
href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt);
 long   <a href="#xmlSaveDoc">xmlSaveDoc</a>                    (<a 
href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br/>                                    
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
 int    <a href="#xmlSaveSetEscape">xmlSaveSetEscape</a>                (<a 
href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br/>                                    
<a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escape);
-long   <a href="#xmlSaveTree">xmlSaveTree</a>                  (<a 
href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br/>                                    
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+long   <a href="#xmlSaveTree">xmlSaveTree</a>                  (<a 
href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br/>                                    
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
 </pre>
     </div>
     <div class="refsect1" lang="en">
@@ -123,9 +123,9 @@ The content of this structure is not made public by the API.
 </pre><p>Create a document saving context serializing to a file descriptor with the encoding and the options 
given</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>iowrite</tt></i>:</span></td><td>an I/O write function</td></tr><tr><td><span 
class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span 
class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding name to use or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a set of xmlSaveOptions</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new serialization context or NULL in case of 
error.</td></tr></tbody></table></div></div>
         <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveTree"/>xmlSaveTree ()</h3><pre 
class="programlisting">long xmlSaveTree                     (<a 
href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br/>                                    
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
+        <div class="refsect2" lang="en"><h3><a name="xmlSaveTree"/>xmlSaveTree ()</h3><pre 
class="programlisting">long xmlSaveTree                     (<a 
href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br/>                                    
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
 </pre><p>Save a subtree starting at the node parameter to a saving context TODO: The function is not fully 
implemented yet as it does not return the byte count but 0 instead</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a document saving context</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>the top node of the subtree to save</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of 
error</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a document saving context</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of 
error</td></tr></tbody></table></div></div>
         <hr/>
       </div>
     </div>
diff --git a/doc/devhelp/libxml2-xmlschemas.html b/doc/devhelp/libxml2-xmlschemas.html
index 140558bc..4bac771d 100644
--- a/doc/devhelp/libxml2-xmlschemas.html
+++ b/doc/devhelp/libxml2-xmlschemas.html
@@ -193,7 +193,7 @@ The content of this structure is not made public by the API.
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span 
class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra arguments</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidityLocatorFunc"/>Function type 
xmlSchemaValidityLocatorFunc</h3><pre class="programlisting">int     xmlSchemaValidityLocatorFunc    (void * 
ctx, <br/>                                       const char ** file, <br/>                                    
   unsigned long * line)<br/>
-</pre><p>A schemas validation locator, a callback called by the validator. This is used when file or node 
informations are not available to find out what file and line number are affected</p>
+</pre><p>A schemas validation locator, a callback called by the validator. This is used when file or node 
information are not available to find out what file and line number are affected</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>user provided context</td></tr><tr><td><span 
class="term"><i><tt>file</tt></i>:</span></td><td>returned file information</td></tr><tr><td><span 
class="term"><i><tt>line</tt></i>:</span></td><td>returned line information</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of 
error</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidityWarningFunc"/>Function type 
xmlSchemaValidityWarningFunc</h3><pre class="programlisting">void    xmlSchemaValidityWarningFunc    (void * 
ctx, <br/>                                       const char * msg, <br/>                                      
   ... ...)<br/>
@@ -221,7 +221,7 @@ The content of this structure is not made public by the API.
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XMl-Schema parser context</td></tr><tr><td><span 
class="term"><i><tt>err</tt></i>:</span></td><td>the error callback result</td></tr><tr><td><span 
class="term"><i><tt>warn</tt></i>:</span></td><td>the warning callback result</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the callbacks 
result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 
otherwise</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlSchemaGetValidErrors"/>xmlSchemaGetValidErrors 
()</h3><pre class="programlisting">int  xmlSchemaGetValidErrors         (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>                    
               <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * 
err, <br/>                                        <a 
href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br/>    
                               void ** ctx)<br/>
-</pre><p>Get the error and warning callback informations</p>
+</pre><p>Get the error and warning callback information</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XML-Schema validation context</td></tr><tr><td><span 
class="term"><i><tt>err</tt></i>:</span></td><td>the error function result</td></tr><tr><td><span 
class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function result</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context result</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error and 0 
otherwise</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlSchemaIsValid"/>xmlSchemaIsValid ()</h3><pre 
class="programlisting">int        xmlSchemaIsValid                (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br/>
@@ -265,7 +265,7 @@ The content of this structure is not made public by the API.
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema parser context</td></tr><tr><td><span 
class="term"><i><tt>serror</tt></i>:</span></td><td>the structured error function</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlSchemaSetValidErrors"/>xmlSchemaSetValidErrors 
()</h3><pre class="programlisting">void xmlSchemaSetValidErrors         (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>                    
               <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> 
err, <br/>                                  <a 
href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br/>      
                               void * ctx)<br/>
-</pre><p>Set the error and warning callback informations</p>
+</pre><p>Set the error and warning callback information</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span 
class="term"><i><tt>err</tt></i>:</span></td><td>the error function</td></tr><tr><td><span 
class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlSchemaSetValidOptions"/>xmlSchemaSetValidOptions 
()</h3><pre class="programlisting">int        xmlSchemaSetValidOptions        (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>                    
               int options)<br/>
diff --git a/doc/devhelp/libxml2-xmlversion.html b/doc/devhelp/libxml2-xmlversion.html
index 7b1d0e3f..7e0965d7 100644
--- a/doc/devhelp/libxml2-xmlversion.html
+++ b/doc/devhelp/libxml2-xmlversion.html
@@ -2,7 +2,7 @@
 <html>
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlversion: compile-time version informations</title>
+    <title>xmlversion: compile-time version information</title>
     <meta name="generator" content="Libxml2 devhelp stylesheet"/>
     <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
     <link rel="up" href="general.html" title="API"/>
@@ -38,8 +38,8 @@
     <h2>
       <span class="refentrytitle">xmlversion</span>
     </h2>
-    <p>xmlversion - compile-time version informations</p>
-    <p>compile-time version informations for the XML library </p>
+    <p>xmlversion - compile-time version information</p>
+    <p>compile-time version information for the XML library </p>
     <p>Author(s): Daniel Veillard </p>
     <div class="refsynopsisdiv">
       <h2>Synopsis</h2>
diff --git a/doc/devhelp/libxml2-xpath.html b/doc/devhelp/libxml2-xpath.html
index 9be0e5a0..da986e8e 100644
--- a/doc/devhelp/libxml2-xpath.html
+++ b/doc/devhelp/libxml2-xpath.html
@@ -218,8 +218,6 @@ The content of this structure is not made public by the API.
     unsigned long      opLimit
     unsigned long      opCount
     int        depth
-    int        maxDepth
-    int        maxParserDepth
 } xmlXPathContext;
 </pre><p/>
 </div>
diff --git a/doc/devhelp/libxml2.devhelp b/doc/devhelp/libxml2.devhelp
index 51b6f262..e929016b 100644
--- a/doc/devhelp/libxml2.devhelp
+++ b/doc/devhelp/libxml2.devhelp
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<book xmlns="http://www.devhelp.net/book"; title="libxml2 Reference Manual" link="index.html" version="2" 
author="" name="libxml2">
+<book xmlns="http://www.devhelp.net/book"; title="libxml2 Reference Manual" link="index.html" author="" 
name="libxml2">
   <chapters>
     <sub name="API" link="general.html">
       <sub name="DOCBparser" link="libxml2-DOCBparser.html"/>
@@ -155,6 +155,7 @@
     <function name="XMLCALL" link="libxml2-xmlexports.html#XMLCALL"/>
     <function name="XMLCDECL" link="libxml2-xmlexports.html#XMLCDECL"/>
     <function name="XMLPUBFUN" link="libxml2-xmlexports.html#XMLPUBFUN"/>
+    <function name="XMLPUBLIC" link="libxml2-xmlexports.html#XMLPUBLIC"/>
     <function name="XMLPUBVAR" link="libxml2-xmlexports.html#XMLPUBVAR"/>
     <function name="XML_CAST_FPTR" link="libxml2-hash.html#XML_CAST_FPTR"/>
     <function name="XML_CATALOGS_NAMESPACE" link="libxml2-catalog.html#XML_CATALOGS_NAMESPACE"/>
@@ -1798,6 +1799,7 @@
     <function name="xmlSchematronParserCtxt" link="libxml2-schematron.html#xmlSchematronParserCtxt"/>
     <function name="xmlSchematronValidCtxt" link="libxml2-schematron.html#xmlSchematronValidCtxt"/>
     <function name="xmlShellCtxt" link="libxml2-debugXML.html#xmlShellCtxt"/>
+    <function name="xmlStartTag" link="libxml2-parser.html#xmlStartTag"/>
     <function name="xmlStreamCtxt" link="libxml2-pattern.html#xmlStreamCtxt"/>
     <function name="xmlTextReader" link="libxml2-xmlreader.html#xmlTextReader"/>
     <function name="xmlTextWriter" link="libxml2-xmlwriter.html#xmlTextWriter"/>
@@ -2732,6 +2734,7 @@
     <function name="xmlPedanticParserDefault ()" link="libxml2-parser.html#xmlPedanticParserDefault"/>
     <function name="xmlPopInput ()" link="libxml2-parserInternals.html#xmlPopInput"/>
     <function name="xmlPopInputCallbacks ()" link="libxml2-xmlIO.html#xmlPopInputCallbacks"/>
+    <function name="xmlPopOutputCallbacks ()" link="libxml2-xmlIO.html#xmlPopOutputCallbacks"/>
     <function name="xmlPreviousElementSibling ()" link="libxml2-tree.html#xmlPreviousElementSibling"/>
     <function name="xmlPrintURI ()" link="libxml2-uri.html#xmlPrintURI"/>
     <function name="xmlPushInput ()" link="libxml2-parserInternals.html#xmlPushInput"/>
diff --git a/doc/examples/index.html b/doc/examples/index.html
index 97077596..f4ee1194 100644
--- a/doc/examples/index.html
+++ b/doc/examples/index.html
@@ -11,4 +11,4 @@ A:link, A:visited, A:active { text-decoration: underline }
     of the example:</p><ul><li><p><a href="#xmlWriter">xmlWriter</a> :</p><ul><li><a 
href="#testWriter.c">testWriter.c</a>: use various APIs for the xmlWriter</li></ul></li><li><p><a 
href="#InputOutput">InputOutput</a> :</p><ul><li><a href="#io1.c">io1.c</a>: Example of custom 
Input/Output</li><li><a href="#io2.c">io2.c</a>: Output to char buffer</li></ul></li><li><p><a 
href="#Tree">Tree</a> :</p><ul><li><a href="#tree1.c">tree1.c</a>: Navigates a tree to print element 
names</li><li><a href="#tree2.c">tree2.c</a>: Creates a tree</li></ul></li><li><p><a href="#XPath">XPath</a> 
:</p><ul><li><a href="#xpath1.c">xpath1.c</a>: Evaluate XPath expression and prints result node 
set.</li><li><a href="#xpath2.c">xpath2.c</a>: Load a document, locate subelements with XPath, modify said 
elements and save the resulting document.</li></ul></li><li><p><a href="#Parsing">Parsing</a> :</p><ul><li><a 
href="#parse1.c">parse1.c</a>: Parse an XML file to a tree and free it</li><li><a href="#parse2.c">pa
 rse2.c</a>: Parse and validate an XML file to a tree and free the result</li><li><a 
href="#parse3.c">parse3.c</a>: Parse an XML document in memory to a tree and free it</li><li><a 
href="#parse4.c">parse4.c</a>: Parse an XML document chunk by chunk to a tree and free 
it</li></ul></li><li><p><a href="#xmlReader">xmlReader</a> :</p><ul><li><a href="#reader1.c">reader1.c</a>: 
Parse an XML file with an xmlReader</li><li><a href="#reader2.c">reader2.c</a>: Parse and validate an XML 
file with an xmlReader</li><li><a href="#reader3.c">reader3.c</a>: Show how to extract subdocuments with 
xmlReader</li><li><a href="#reader4.c">reader4.c</a>: Parse multiple XML files reusing an 
xmlReader</li></ul></li></ul><p> Getting the compilation options and libraries dependencies needed
 to generate binaries from the examples is best done on Linux/Unix by using
 the xml2-config script which should have been installed as part of <i>make
-install</i> step or when installing the libxml2 development package:</p><pre>gcc -o example `xml2-config 
--cflags` example.c `xml2-config --libs`</pre><h2><a name="InputOutput" id="InputOutput"></a>InputOutput 
Examples</h2><h3><a name="io1.c" href="io1.c" id="io1.c">io1.c</a>: Example of custom 
Input/Output</h3><p>Demonstrate the use of xmlRegisterInputCallbacks to build a custom I/O layer, this is 
used in an XInclude method context to show how dynamic document can be built in a clean 
way.</p><p>Includes:</p><ul><li><a href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li><li><a 
href="../html/libxml-xmlIO.html">&lt;libxml/xmlIO.h&gt;</a></li><li><a 
href="../html/libxml-xinclude.html">&lt;libxml/xinclude.h&gt;</a></li><li><a 
href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 105: Type <a 
href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 117: Macro <a 
href="../html/libxml-xmlversion.html#LIBXML_TEST_
 VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 117: Function <a 
href="../html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a> from 
xmlIO.h</li><li> line 124: Function <a href="../html/libxml-parser.html#xmlReadMemory">xmlReadMemory</a> from 
parser.h</li><li> line 134: Function <a 
href="../html/libxml-xinclude.html#xmlXIncludeProcess">xmlXIncludeProcess</a> from xinclude.h</li><li> line 
143: Function <a href="../html/libxml-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li><li> line 149: 
Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 154: Function 
<a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 158: 
Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from 
xmlmemory.h</li></ul><p>Usage:</p><p>io1</p><p>Author: Daniel Veillard</p><h3><a name="io2.c" href="io2.c" 
id="io2.c">io2.c</a>: Output to char buffer</h
 3><p>Demonstrate the use of xmlDocDumpMemory to output document to a character 
buffer</p><p>Includes:</p><ul><li><a 
href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 19: Type <a 
href="../html/libxml-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li><li> line 20: Type <a 
href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 27: Function <a 
href="../html/libxml-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li><li> line 28: Function <a 
href="../html/libxml-tree.html#xmlNewNode">xmlNewNode</a> from tree.h</li><li> line 29: Function <a 
href="../html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a> from tree.h</li><li> line 30: 
Function <a href="../html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from 
tree.h</li><li> line 36: Function <a 
href="../html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a> from tree.h</li><li> line 
43: Function <a href="../html/libxml-t
 ree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li></ul><p>Usage:</p><p>io2</p><p>Author: John 
Fleck</p><h2><a name="Parsing" id="Parsing"></a>Parsing Examples</h2><h3><a name="parse1.c" href="parse1.c" 
id="parse1.c">parse1.c</a>: Parse an XML file to a tree and free it</h3><p>Demonstrate the use of 
xmlReadFile() to read an XML file into a tree and xmlFreeDoc() to free the resulting 
tree</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li><li><a 
href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 24: Type <a 
href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 26: Function <a 
href="../html/libxml-parser.html#xmlReadFile">xmlReadFile</a> from parser.h</li><li> line 31: Function <a 
href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 45: Macro <a 
href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversio
 n.h</li><li> line 50: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> 
from parser.h</li><li> line 54: Function <a 
href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from 
xmlmemory.h</li></ul><p>Usage:</p><p>parse1 test1.xml</p><p>Author: Daniel Veillard</p><h3><a name="parse2.c" 
href="parse2.c" id="parse2.c">parse2.c</a>: Parse and validate an XML file to a tree and free the 
result</h3><p>Create a parser context for an XML file, then parse and validate the file, creating a tree, 
check the validation result and xmlFreeDoc() to free the resulting tree.</p><p>Includes:</p><ul><li><a 
href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li><li><a 
href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 25: Type <a 
href="../html/libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> from tree.h</li><li> line 26: Type <a 
href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</l
 i><li> line 29: Function <a href="../html/libxml-parser.html#xmlNewParserCtxt">xmlNewParserCtxt</a> from 
parser.h</li><li> line 35: Function <a href="../html/libxml-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a> 
from parser.h</li><li> line 44: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from 
tree.h</li><li> line 47: Function <a 
href="../html/libxml-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a> from parser.h</li><li> line 61: 
Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from 
xmlversion.h</li><li> line 66: Function <a 
href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 70: 
Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from 
xmlmemory.h</li></ul><p>Usage:</p><p>parse2 test2.xml</p><p>Author: Daniel Veillard</p><h3><a name="parse3.c" 
href="parse3.c" id="parse3.c">parse3.c</a>: Parse an XML document in memory to a tree and free
  it</h3><p>Demonstrate the use of xmlReadMemory() to read an XML file into a tree and xmlFreeDoc() to free 
the resulting tree</p><p>Includes:</p><ul><li><a 
href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li><li><a 
href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 27: Type <a 
href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 33: Function <a 
href="../html/libxml-parser.html#xmlReadMemory">xmlReadMemory</a> from parser.h</li><li> line 38: Function <a 
href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 49: Macro <a 
href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> 
line 54: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from 
parser.h</li><li> line 58: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> 
from xmlmemory.h</li></ul><p>Usage:</p><p>p
 arse3</p><p>Author: Daniel Veillard</p><h3><a name="parse4.c" href="parse4.c" id="parse4.c">parse4.c</a>: 
Parse an XML document chunk by chunk to a tree and free it</h3><p>Demonstrate the use of 
xmlCreatePushParserCtxt() and xmlParseChunk() to read an XML file progressively into a tree and xmlFreeDoc() 
to free the resulting tree</p><p>Includes:</p><ul><li><a 
href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li><li><a 
href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 45: Type <a 
href="../html/libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> from tree.h</li><li> line 47: Type <a 
href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 67: Function <a 
href="../html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a> from parser.h</li><li> 
line 86: Function <a href="../html/libxml-parser.html#xmlParseChunk">xmlParseChunk</a> from parser.h</li><li> 
line 94: Function <a href="../htm
 l/libxml-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a> from parser.h</li><li> line 103: Function <a 
href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 120: Macro <a 
href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> 
line 131: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from 
parser.h</li><li> line 135: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> 
from xmlmemory.h</li></ul><p>Usage:</p><p>parse4 test3.xml</p><p>Author: Daniel Veillard</p><h2><a 
name="Tree" id="Tree"></a>Tree Examples</h2><h3><a name="tree1.c" href="tree1.c" id="tree1.c">tree1.c</a>: 
Navigates a tree to print element names</h3><p>Parse a file to a tree, use xmlDocGetRootElement() to get the 
root element, then walk the document and print all the element name in document 
order.</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html">&lt;libxml/
 tree.h&gt;</a></li><li><a 
href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 67: Function 
<a href="../html/libxml-parser.html#xmlReadFile">xmlReadFile</a> from parser.h</li><li> line 74: Function <a 
href="../html/libxml-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a> from 
tree.h</li></ul><p>Usage:</p><p>tree1 filename_or_URL</p><p>Author: Dodji Seketeli</p><h3><a name="tree2.c" 
href="tree2.c" id="tree2.c">tree2.c</a>: Creates a tree</h3><p>Shows how to create document, nodes and dump 
it to stdout or file.</p><p>Includes:</p><ul><li><a 
href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li><li><a 
href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 38: Function 
<a href="../html/libxml-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li><li> line 40: Function <a 
href="../html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li><li> line 45: 
Function <a h
 ref="../html/libxml-tree.html#xmlCreateIntSubset">xmlCreateIntSubset</a> from tree.h</li><li> line 73: 
Function <a href="../html/libxml-tree.html#xmlNewNode">xmlNewNode</a> from tree.h</li><li> line 74: Function 
<a href="../html/libxml-tree.html#xmlNewText">xmlNewText</a> from tree.h</li><li> line 77: Function <a 
href="../html/libxml-tree.html#xmlAddChild">xmlAddChild</a> from tree.h</li><li> line 87: Function <a 
href="../html/libxml-tree.html#xmlNewChild">xmlNewChild</a> from tree.h</li><li> line 88: Function <a 
href="../html/libxml-tree.html#xmlNewProp">xmlNewProp</a> from tree.h</li><li> line 95: Function <a 
href="../html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a> from 
tree.h</li></ul><p>Usage:</p><p>tree2 &lt;filename&gt;  -Default output: stdout</p><p>Author: Lucas Brasilino 
&lt;brasilino recife pe gov br&gt;</p><h2><a name="XPath" id="XPath"></a>XPath Examples</h2><h3><a 
name="xpath1.c" href="xpath1.c" id="xpath1.c">xpath1.c</a>: Evaluate XPath expression 
 and prints result node set.</h3><p>Shows how to evaluate XPath expression and register known namespaces in 
XPath context.</p><p>Includes:</p><ul><li><a 
href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li><li><a 
href="../html/libxml-xpath.html">&lt;libxml/xpath.h&gt;</a></li><li><a 
href="../html/libxml-xpathInternals.html">&lt;libxml/xpathInternals.h&gt;</a></li><li><a 
href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 39: Function <a 
href="../html/libxml-parser.html#xmlInitParser">xmlInitParser</a> from parser.h</li><li> line 87: Type <a 
href="../html/libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> from xpath.h</li><li> line 88: 
Type <a href="../html/libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from xpath.h</li><li> line 
94: Function <a href="../html/libxml-parser.html#xmlParseFile">xmlParseFile</a> from parser.h</li><li> line 
101: Function <a href="../html/libxml-xpath.html#xmlXPathNewContext">xmlXPa
 thNewContext</a> from xpath.h</li><li> line 117: Function <a 
href="../html/libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a> from xpath.h</li><li> line 
129: Function <a href="../html/libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a> from 
xpath.h</li><li> line 130: Function <a 
href="../html/libxml-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a> from xpath.h</li><li> line 156: 
Function <a href="../html/libxml-xmlstring.html#xmlStrdup">xmlStrdup</a> from xmlstring.h</li><li> line 180: 
Function <a href="../html/libxml-xmlstring.html#xmlStrchr">xmlStrchr</a> from xmlstring.h</li><li> line 186: 
Function <a href="../html/libxml-xpathInternals.html#xmlXPathRegisterNs">xmlXPathRegisterNs</a> from 
xpathInternals.h</li><li> line 206: Type <a href="../html/libxml-tree.html#xmlNodePtr">xmlNodePtr</a> from 
tree.h</li><li> line 218: Type <a href="../html/libxml-tree.html#xmlNsPtr">xmlNsPtr</a> from 
tree.h</li></ul><p>Usage:</p><p>xpath1 &lt;xml-file&gt; &lt;xp
 ath-expr&gt; [&lt;known-ns-list&gt;]</p><p>Author: Aleksey Sanin</p><h3><a name="xpath2.c" href="xpath2.c" 
id="xpath2.c">xpath2.c</a>: Load a document, locate subelements with XPath, modify said elements and save the 
resulting document.</h3><p>Shows how to make a full round-trip from a 
load/edit/save</p><p>Includes:</p><ul><li><a 
href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li><li><a 
href="../html/libxml-xpath.html">&lt;libxml/xpath.h&gt;</a></li><li><a 
href="../html/libxml-xpathInternals.html">&lt;libxml/xpathInternals.h&gt;</a></li><li><a 
href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 41: Function <a 
href="../html/libxml-parser.html#xmlInitParser">xmlInitParser</a> from parser.h</li><li> line 87: Type <a 
href="../html/libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> from xpath.h</li><li> line 88: 
Type <a href="../html/libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from xpath.h</li><li> line 
95:
  Function <a href="../html/libxml-parser.html#xmlParseFile">xmlParseFile</a> from parser.h</li><li> line 
102: Function <a href="../html/libxml-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a> from 
xpath.h</li><li> line 110: Function <a 
href="../html/libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a> from xpath.h</li><li> line 
123: Function <a href="../html/libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a> from 
xpath.h</li><li> line 124: Function <a 
href="../html/libxml-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a> from xpath.h</li><li> line 127: 
Function <a href="../html/libxml-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li><li> line 162: Function 
<a href="../html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a> from 
tree.h</li></ul><p>Usage:</p><p>xpath2 &lt;xml-file&gt; &lt;xpath-expr&gt; &lt;new-value&gt;</p><p>Author: 
Aleksey Sanin and Daniel Veillard</p><h2><a name="xmlReader" id="xmlReader"></a>xmlReader Examples</h2><
 h3><a name="reader1.c" href="reader1.c" id="reader1.c">reader1.c</a>: Parse an XML file with an 
xmlReader</h3><p>Demonstrate the use of xmlReaderForFile() to parse an XML file and dump the informations 
about the nodes found in the process. (Note that the XMLReader functions require libxml2 version later than 
2.6.)</p><p>Includes:</p><ul><li><a 
href="../html/libxml-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 29: 
Function <a href="../html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a> from 
xmlreader.h</li><li> line 33: Function <a 
href="../html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a> from 
xmlreader.h</li><li> line 36: Function <a 
href="../html/libxml-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a> from xmlreader.h</li><li> line 
37: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a> from 
xmlreader.h</li><li> line 39: Function <a href
 ="../html/libxml-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a> from 
xmlreader.h</li><li> line 40: Function <a 
href="../html/libxml-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a> from 
xmlreader.h</li><li> line 44: Function <a href="../html/libxml-xmlstring.html#xmlStrlen">xmlStrlen</a> from 
xmlstring.h</li><li> line 59: Type <a 
href="../html/libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li><li> line 62: 
Function <a href="../html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from 
xmlreader.h</li><li> line 67: Function <a 
href="../html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li><li> line 
69: Function <a href="../html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from 
xmlreader.h</li><li> line 89: Macro <a 
href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> 
line 94: Function <a hr
 ef="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 98: 
Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from 
xmlmemory.h</li></ul><p>Usage:</p><p>reader1 &lt;filename&gt;</p><p>Author: Daniel Veillard</p><h3><a 
name="reader2.c" href="reader2.c" id="reader2.c">reader2.c</a>: Parse and validate an XML file with an 
xmlReader</h3><p>Demonstrate the use of xmlReaderForFile() to parse an XML file validating the content in the 
process and activating options like entities substitution, and DTD attributes defaulting. (Note that the 
XMLReader functions require libxml2 version later than 2.6.)</p><p>Includes:</p><ul><li><a 
href="../html/libxml-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 30: 
Function <a href="../html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a> from 
xmlreader.h</li><li> line 34: Function <a href="../html/libxml-xmlreader.html#xmlTextRe
 aderConstValue">xmlTextReaderConstValue</a> from xmlreader.h</li><li> line 37: Function <a 
href="../html/libxml-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a> from xmlreader.h</li><li> line 
38: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a> from 
xmlreader.h</li><li> line 40: Function <a 
href="../html/libxml-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a> from 
xmlreader.h</li><li> line 41: Function <a 
href="../html/libxml-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a> from 
xmlreader.h</li><li> line 45: Function <a href="../html/libxml-xmlstring.html#xmlStrlen">xmlStrlen</a> from 
xmlstring.h</li><li> line 60: Type <a 
href="../html/libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li><li> line 68: 
Function <a href="../html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from 
xmlreader.h</li><li> line 76: Function <a href="../html/libxml-xml
 reader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li><li> line 81: Function <a 
href="../html/libxml-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a> from xmlreader.h</li><li> 
line 84: Function <a href="../html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from 
xmlreader.h</li></ul><p>Usage:</p><p>reader2 &lt;valid_xml_filename&gt;</p><p>Author: Daniel 
Veillard</p><h3><a name="reader3.c" href="reader3.c" id="reader3.c">reader3.c</a>: Show how to extract 
subdocuments with xmlReader</h3><p>Demonstrate the use of xmlTextReaderPreservePattern() to parse an XML file 
with the xmlReader while collecting only some subparts of the document. (Note that the XMLReader functions 
require libxml2 version later than 2.6.)</p><p>Includes:</p><ul><li><a 
href="../html/libxml-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 32: 
Type <a href="../html/libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlrea
 der.h</li><li> line 38: Function <a 
href="../html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li><li> line 43: 
Function <a 
href="../html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a> from 
xmlreader.h</li><li> line 52: Function <a 
href="../html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li><li> line 
62: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a> from 
xmlreader.h</li><li> line 66: Function <a 
href="../html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li><li> line 
96: Function <a href="../html/libxml-tree.html#xmlDocDump">xmlDocDump</a> from 
tree.h</li></ul><p>Usage:</p><p>reader3</p><p>Author: Daniel Veillard</p><h3><a name="reader4.c" 
href="reader4.c" id="reader4.c">reader4.c</a>: Parse multiple XML files reusing an 
xmlReader</h3><p>Demonstrate the use of xmlReaderForFile() and xml
 ReaderNewFile to parse XML files while reusing the reader object and parser context.  (Note that the 
XMLReader functions require libxml2 version later than 2.6.)</p><p>Includes:</p><ul><li><a 
href="../html/libxml-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 26: 
Function <a href="../html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from 
xmlreader.h</li><li> line 54: Type <a 
href="../html/libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li><li> line 72: 
Function <a href="../html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from 
xmlreader.h</li><li> line 83: Function <a 
href="../html/libxml-xmlreader.html#xmlReaderNewFile">xmlReaderNewFile</a> from xmlreader.h</li><li> line 97: 
Function <a href="../html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a> from 
xmlreader.h</li><li> line 104: Function <a href="../html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeT
 extReader</a> from xmlreader.h</li></ul><p>Usage:</p><p>reader4 &lt;filename&gt; [ filename ... 
]</p><p>Author: Graham Bennett</p><h2><a name="xmlWriter" id="xmlWriter"></a>xmlWriter Examples</h2><h3><a 
name="testWriter.c" href="testWriter.c" id="testWriter.c">testWriter.c</a>: use various APIs for the 
xmlWriter</h3><p>tests a number of APIs for the xmlWriter, especially the various methods to write to a 
filename, to a memory buffer, to a new document, or to a subtree. It shows how to do encoding string 
conversions too. The resulting documents are then serialized.</p><p>Includes:</p><ul><li><a 
href="../html/libxml-encoding.html">&lt;libxml/encoding.h&gt;</a></li><li><a 
href="../html/libxml-xmlwriter.html">&lt;libxml/xmlwriter.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 76: 
Function <a href="../html/libxml-xmlwriter.html#xmlNewTextWriterFilename">xmlNewTextWriterFilename</a> from 
xmlwriter.h</li><li> line 341: Type <a href="../html/libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> fro
 m tree.h</li><li> line 347: Function <a href="../html/libxml-tree.html#xmlBufferCreate">xmlBufferCreate</a> 
from tree.h</li><li> line 355: Function <a 
href="../html/libxml-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a> from 
xmlwriter.h</li><li> line 613: Function <a href="../html/libxml-tree.html#xmlBufferFree">xmlBufferFree</a> 
from tree.h</li><li> line 632: Function <a 
href="../html/libxml-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a> from xmlwriter.h</li><li> 
line 878: Type <a href="../html/libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> from 
xmlwriter.h</li><li> line 880: Type <a href="../html/libxml-tree.html#xmlNodePtr">xmlNodePtr</a> from 
tree.h</li><li> line 885: Macro <a 
href="../html/libxml-parser.html#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a> from parser.h</li><li> line 
885: Function <a href="../html/libxml-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li><li> line 894: 
Function <a href="../html/libxml-tree.html#xmlNewDoc
 Node">xmlNewDocNode</a> from tree.h</li><li> line 901: Function <a 
href="../html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li><li> line 904: 
Function <a href="../html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a> from 
xmlwriter.h</li><li> line 913: Function <a 
href="../html/libxml-xmlwriter.html#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a> from 
xmlwriter.h</li><li> line 925: Function <a 
href="../html/libxml-xmlwriter.html#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a> from 
xmlwriter.h</li><li> line 949: Function <a 
href="../html/libxml-xmlwriter.html#xmlTextWriterWriteAttribute">xmlTextWriterWriteAttribute</a> from 
xmlwriter.h</li><li> line 959: Function <a 
href="../html/libxml-xmlwriter.html#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a> from 
xmlwriter.h</li><li> line 1073: Function <a 
href="../html/libxml-xmlwriter.html#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatEl
 ement</a> from xmlwriter.h</li><li> line 1096: Function <a 
href="../html/libxml-xmlwriter.html#xmlTextWriterStartElement">xmlTextWriterStartElement</a> from 
xmlwriter.h</li><li> line 1103: Function <a 
href="../html/libxml-xmlwriter.html#xmlTextWriterWriteElement">xmlTextWriterWriteElement</a> from 
xmlwriter.h</li><li> line 1111: Function <a 
href="../html/libxml-xmlwriter.html#xmlTextWriterEndElement">xmlTextWriterEndElement</a> from 
xmlwriter.h</li><li> line 1121: Function <a 
href="../html/libxml-xmlwriter.html#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a> from 
xmlwriter.h</li><li> line 1127: Function <a 
href="../html/libxml-xmlwriter.html#xmlFreeTextWriter">xmlFreeTextWriter</a> from xmlwriter.h</li><li> line 
1129: Function <a href="../html/libxml-tree.html#xmlSaveFileEnc">xmlSaveFileEnc</a> from tree.h</li><li> line 
1151: Type <a href="../html/libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> 
from encoding.h</li><li> line 1156: Function <a href
 ="../html/libxml-encoding.html#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a> from 
encoding.h</li></ul><p>Usage:</p><p>testWriter</p><p>Author: Alfred Mickautsch</p><p><a 
href="../bugs.html">Daniel 
Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
+install</i> step or when installing the libxml2 development package:</p><pre>gcc -o example `xml2-config 
--cflags` example.c `xml2-config --libs`</pre><h2><a name="InputOutput" id="InputOutput"></a>InputOutput 
Examples</h2><h3><a name="io1.c" href="io1.c" id="io1.c">io1.c</a>: Example of custom 
Input/Output</h3><p>Demonstrate the use of xmlRegisterInputCallbacks to build a custom I/O layer, this is 
used in an XInclude method context to show how dynamic document can be built in a clean 
way.</p><p>Includes:</p><ul><li><a href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li><li><a 
href="../html/libxml-xmlIO.html">&lt;libxml/xmlIO.h&gt;</a></li><li><a 
href="../html/libxml-xinclude.html">&lt;libxml/xinclude.h&gt;</a></li><li><a 
href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 105: Type <a 
href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 117: Macro <a 
href="../html/libxml-xmlversion.html#LIBXML_TEST_
 VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> line 117: Function <a 
href="../html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a> from 
xmlIO.h</li><li> line 124: Function <a href="../html/libxml-parser.html#xmlReadMemory">xmlReadMemory</a> from 
parser.h</li><li> line 134: Function <a 
href="../html/libxml-xinclude.html#xmlXIncludeProcess">xmlXIncludeProcess</a> from xinclude.h</li><li> line 
143: Function <a href="../html/libxml-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li><li> line 149: 
Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 154: Function 
<a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 158: 
Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from 
xmlmemory.h</li></ul><p>Usage:</p><p>io1</p><p>Author: Daniel Veillard</p><h3><a name="io2.c" href="io2.c" 
id="io2.c">io2.c</a>: Output to char buffer</h
 3><p>Demonstrate the use of xmlDocDumpMemory to output document to a character 
buffer</p><p>Includes:</p><ul><li><a 
href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 19: Type <a 
href="../html/libxml-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li><li> line 20: Type <a 
href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 27: Function <a 
href="../html/libxml-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li><li> line 28: Function <a 
href="../html/libxml-tree.html#xmlNewNode">xmlNewNode</a> from tree.h</li><li> line 29: Function <a 
href="../html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a> from tree.h</li><li> line 30: 
Function <a href="../html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from 
tree.h</li><li> line 36: Function <a 
href="../html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a> from tree.h</li><li> line 
43: Function <a href="../html/libxml-t
 ree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li></ul><p>Usage:</p><p>io2</p><p>Author: John 
Fleck</p><h2><a name="Parsing" id="Parsing"></a>Parsing Examples</h2><h3><a name="parse1.c" href="parse1.c" 
id="parse1.c">parse1.c</a>: Parse an XML file to a tree and free it</h3><p>Demonstrate the use of 
xmlReadFile() to read an XML file into a tree and xmlFreeDoc() to free the resulting 
tree</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li><li><a 
href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 24: Type <a 
href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 26: Function <a 
href="../html/libxml-parser.html#xmlReadFile">xmlReadFile</a> from parser.h</li><li> line 31: Function <a 
href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 45: Macro <a 
href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversio
 n.h</li><li> line 50: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> 
from parser.h</li><li> line 54: Function <a 
href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from 
xmlmemory.h</li></ul><p>Usage:</p><p>parse1 test1.xml</p><p>Author: Daniel Veillard</p><h3><a name="parse2.c" 
href="parse2.c" id="parse2.c">parse2.c</a>: Parse and validate an XML file to a tree and free the 
result</h3><p>Create a parser context for an XML file, then parse and validate the file, creating a tree, 
check the validation result and xmlFreeDoc() to free the resulting tree.</p><p>Includes:</p><ul><li><a 
href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li><li><a 
href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 25: Type <a 
href="../html/libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> from tree.h</li><li> line 26: Type <a 
href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</l
 i><li> line 29: Function <a href="../html/libxml-parser.html#xmlNewParserCtxt">xmlNewParserCtxt</a> from 
parser.h</li><li> line 35: Function <a href="../html/libxml-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a> 
from parser.h</li><li> line 44: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from 
tree.h</li><li> line 47: Function <a 
href="../html/libxml-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a> from parser.h</li><li> line 61: 
Macro <a href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from 
xmlversion.h</li><li> line 66: Function <a 
href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 70: 
Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from 
xmlmemory.h</li></ul><p>Usage:</p><p>parse2 test2.xml</p><p>Author: Daniel Veillard</p><h3><a name="parse3.c" 
href="parse3.c" id="parse3.c">parse3.c</a>: Parse an XML document in memory to a tree and free
  it</h3><p>Demonstrate the use of xmlReadMemory() to read an XML file into a tree and xmlFreeDoc() to free 
the resulting tree</p><p>Includes:</p><ul><li><a 
href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li><li><a 
href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 27: Type <a 
href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 33: Function <a 
href="../html/libxml-parser.html#xmlReadMemory">xmlReadMemory</a> from parser.h</li><li> line 38: Function <a 
href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 49: Macro <a 
href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> 
line 54: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from 
parser.h</li><li> line 58: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> 
from xmlmemory.h</li></ul><p>Usage:</p><p>p
 arse3</p><p>Author: Daniel Veillard</p><h3><a name="parse4.c" href="parse4.c" id="parse4.c">parse4.c</a>: 
Parse an XML document chunk by chunk to a tree and free it</h3><p>Demonstrate the use of 
xmlCreatePushParserCtxt() and xmlParseChunk() to read an XML file progressively into a tree and xmlFreeDoc() 
to free the resulting tree</p><p>Includes:</p><ul><li><a 
href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li><li><a 
href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 45: Type <a 
href="../html/libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> from tree.h</li><li> line 47: Type <a 
href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li><li> line 67: Function <a 
href="../html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a> from parser.h</li><li> 
line 86: Function <a href="../html/libxml-parser.html#xmlParseChunk">xmlParseChunk</a> from parser.h</li><li> 
line 94: Function <a href="../htm
 l/libxml-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a> from parser.h</li><li> line 103: Function <a 
href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> line 120: Macro <a 
href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> 
line 131: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from 
parser.h</li><li> line 135: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> 
from xmlmemory.h</li></ul><p>Usage:</p><p>parse4 test3.xml</p><p>Author: Daniel Veillard</p><h2><a 
name="Tree" id="Tree"></a>Tree Examples</h2><h3><a name="tree1.c" href="tree1.c" id="tree1.c">tree1.c</a>: 
Navigates a tree to print element names</h3><p>Parse a file to a tree, use xmlDocGetRootElement() to get the 
root element, then walk the document and print all the element name in document 
order.</p><p>Includes:</p><ul><li><a href="../html/libxml-tree.html">&lt;libxml/
 tree.h&gt;</a></li><li><a 
href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 67: Function 
<a href="../html/libxml-parser.html#xmlReadFile">xmlReadFile</a> from parser.h</li><li> line 74: Function <a 
href="../html/libxml-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a> from 
tree.h</li></ul><p>Usage:</p><p>tree1 filename_or_URL</p><p>Author: Dodji Seketeli</p><h3><a name="tree2.c" 
href="tree2.c" id="tree2.c">tree2.c</a>: Creates a tree</h3><p>Shows how to create document, nodes and dump 
it to stdout or file.</p><p>Includes:</p><ul><li><a 
href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li><li><a 
href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 38: Function 
<a href="../html/libxml-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li><li> line 40: Function <a 
href="../html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li><li> line 45: 
Function <a h
 ref="../html/libxml-tree.html#xmlCreateIntSubset">xmlCreateIntSubset</a> from tree.h</li><li> line 73: 
Function <a href="../html/libxml-tree.html#xmlNewNode">xmlNewNode</a> from tree.h</li><li> line 74: Function 
<a href="../html/libxml-tree.html#xmlNewText">xmlNewText</a> from tree.h</li><li> line 77: Function <a 
href="../html/libxml-tree.html#xmlAddChild">xmlAddChild</a> from tree.h</li><li> line 87: Function <a 
href="../html/libxml-tree.html#xmlNewChild">xmlNewChild</a> from tree.h</li><li> line 88: Function <a 
href="../html/libxml-tree.html#xmlNewProp">xmlNewProp</a> from tree.h</li><li> line 95: Function <a 
href="../html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a> from 
tree.h</li></ul><p>Usage:</p><p>tree2 &lt;filename&gt;  -Default output: stdout</p><p>Author: Lucas Brasilino 
&lt;brasilino recife pe gov br&gt;</p><h2><a name="XPath" id="XPath"></a>XPath Examples</h2><h3><a 
name="xpath1.c" href="xpath1.c" id="xpath1.c">xpath1.c</a>: Evaluate XPath expression 
 and prints result node set.</h3><p>Shows how to evaluate XPath expression and register known namespaces in 
XPath context.</p><p>Includes:</p><ul><li><a 
href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li><li><a 
href="../html/libxml-xpath.html">&lt;libxml/xpath.h&gt;</a></li><li><a 
href="../html/libxml-xpathInternals.html">&lt;libxml/xpathInternals.h&gt;</a></li><li><a 
href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 39: Function <a 
href="../html/libxml-parser.html#xmlInitParser">xmlInitParser</a> from parser.h</li><li> line 87: Type <a 
href="../html/libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> from xpath.h</li><li> line 88: 
Type <a href="../html/libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from xpath.h</li><li> line 
94: Function <a href="../html/libxml-parser.html#xmlParseFile">xmlParseFile</a> from parser.h</li><li> line 
101: Function <a href="../html/libxml-xpath.html#xmlXPathNewContext">xmlXPa
 thNewContext</a> from xpath.h</li><li> line 117: Function <a 
href="../html/libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a> from xpath.h</li><li> line 
129: Function <a href="../html/libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a> from 
xpath.h</li><li> line 130: Function <a 
href="../html/libxml-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a> from xpath.h</li><li> line 156: 
Function <a href="../html/libxml-xmlstring.html#xmlStrdup">xmlStrdup</a> from xmlstring.h</li><li> line 180: 
Function <a href="../html/libxml-xmlstring.html#xmlStrchr">xmlStrchr</a> from xmlstring.h</li><li> line 186: 
Function <a href="../html/libxml-xpathInternals.html#xmlXPathRegisterNs">xmlXPathRegisterNs</a> from 
xpathInternals.h</li><li> line 206: Type <a href="../html/libxml-tree.html#xmlNodePtr">xmlNodePtr</a> from 
tree.h</li><li> line 218: Type <a href="../html/libxml-tree.html#xmlNsPtr">xmlNsPtr</a> from 
tree.h</li></ul><p>Usage:</p><p>xpath1 &lt;xml-file&gt; &lt;xp
 ath-expr&gt; [&lt;known-ns-list&gt;]</p><p>Author: Aleksey Sanin</p><h3><a name="xpath2.c" href="xpath2.c" 
id="xpath2.c">xpath2.c</a>: Load a document, locate subelements with XPath, modify said elements and save the 
resulting document.</h3><p>Shows how to make a full round-trip from a 
load/edit/save</p><p>Includes:</p><ul><li><a 
href="../html/libxml-parser.html">&lt;libxml/parser.h&gt;</a></li><li><a 
href="../html/libxml-xpath.html">&lt;libxml/xpath.h&gt;</a></li><li><a 
href="../html/libxml-xpathInternals.html">&lt;libxml/xpathInternals.h&gt;</a></li><li><a 
href="../html/libxml-tree.html">&lt;libxml/tree.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 41: Function <a 
href="../html/libxml-parser.html#xmlInitParser">xmlInitParser</a> from parser.h</li><li> line 87: Type <a 
href="../html/libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> from xpath.h</li><li> line 88: 
Type <a href="../html/libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from xpath.h</li><li> line 
95:
  Function <a href="../html/libxml-parser.html#xmlParseFile">xmlParseFile</a> from parser.h</li><li> line 
102: Function <a href="../html/libxml-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a> from 
xpath.h</li><li> line 110: Function <a 
href="../html/libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a> from xpath.h</li><li> line 
123: Function <a href="../html/libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a> from 
xpath.h</li><li> line 124: Function <a 
href="../html/libxml-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a> from xpath.h</li><li> line 127: 
Function <a href="../html/libxml-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li><li> line 162: Function 
<a href="../html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a> from 
tree.h</li></ul><p>Usage:</p><p>xpath2 &lt;xml-file&gt; &lt;xpath-expr&gt; &lt;new-value&gt;</p><p>Author: 
Aleksey Sanin and Daniel Veillard</p><h2><a name="xmlReader" id="xmlReader"></a>xmlReader Examples</h2><
 h3><a name="reader1.c" href="reader1.c" id="reader1.c">reader1.c</a>: Parse an XML file with an 
xmlReader</h3><p>Demonstrate the use of xmlReaderForFile() to parse an XML file and dump the information 
about the nodes found in the process. (Note that the XMLReader functions require libxml2 version later than 
2.6.)</p><p>Includes:</p><ul><li><a 
href="../html/libxml-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 29: 
Function <a href="../html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a> from 
xmlreader.h</li><li> line 33: Function <a 
href="../html/libxml-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a> from 
xmlreader.h</li><li> line 36: Function <a 
href="../html/libxml-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a> from xmlreader.h</li><li> line 
37: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a> from 
xmlreader.h</li><li> line 39: Function <a href=
 "../html/libxml-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a> from 
xmlreader.h</li><li> line 40: Function <a 
href="../html/libxml-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a> from 
xmlreader.h</li><li> line 44: Function <a href="../html/libxml-xmlstring.html#xmlStrlen">xmlStrlen</a> from 
xmlstring.h</li><li> line 59: Type <a 
href="../html/libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li><li> line 62: 
Function <a href="../html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from 
xmlreader.h</li><li> line 67: Function <a 
href="../html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li><li> line 
69: Function <a href="../html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from 
xmlreader.h</li><li> line 89: Macro <a 
href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> 
line 94: Function <a hre
 f="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> line 98: 
Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from 
xmlmemory.h</li></ul><p>Usage:</p><p>reader1 &lt;filename&gt;</p><p>Author: Daniel Veillard</p><h3><a 
name="reader2.c" href="reader2.c" id="reader2.c">reader2.c</a>: Parse and validate an XML file with an 
xmlReader</h3><p>Demonstrate the use of xmlReaderForFile() to parse an XML file validating the content in the 
process and activating options like entities substitution, and DTD attributes defaulting. (Note that the 
XMLReader functions require libxml2 version later than 2.6.)</p><p>Includes:</p><ul><li><a 
href="../html/libxml-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 30: 
Function <a href="../html/libxml-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a> from 
xmlreader.h</li><li> line 34: Function <a href="../html/libxml-xmlreader.html#xmlTextRea
 derConstValue">xmlTextReaderConstValue</a> from xmlreader.h</li><li> line 37: Function <a 
href="../html/libxml-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a> from xmlreader.h</li><li> line 
38: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a> from 
xmlreader.h</li><li> line 40: Function <a 
href="../html/libxml-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a> from 
xmlreader.h</li><li> line 41: Function <a 
href="../html/libxml-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a> from 
xmlreader.h</li><li> line 45: Function <a href="../html/libxml-xmlstring.html#xmlStrlen">xmlStrlen</a> from 
xmlstring.h</li><li> line 60: Type <a 
href="../html/libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li><li> line 68: 
Function <a href="../html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from 
xmlreader.h</li><li> line 76: Function <a href="../html/libxml-xmlr
 eader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li><li> line 81: Function <a 
href="../html/libxml-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a> from xmlreader.h</li><li> 
line 84: Function <a href="../html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from 
xmlreader.h</li></ul><p>Usage:</p><p>reader2 &lt;valid_xml_filename&gt;</p><p>Author: Daniel 
Veillard</p><h3><a name="reader3.c" href="reader3.c" id="reader3.c">reader3.c</a>: Show how to extract 
subdocuments with xmlReader</h3><p>Demonstrate the use of xmlTextReaderPreservePattern() to parse an XML file 
with the xmlReader while collecting only some subparts of the document. (Note that the XMLReader functions 
require libxml2 version later than 2.6.)</p><p>Includes:</p><ul><li><a 
href="../html/libxml-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 32: 
Type <a href="../html/libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlread
 er.h</li><li> line 38: Function <a 
href="../html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li><li> line 43: 
Function <a 
href="../html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a> from 
xmlreader.h</li><li> line 52: Function <a 
href="../html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li><li> line 
62: Function <a href="../html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a> from 
xmlreader.h</li><li> line 66: Function <a 
href="../html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li><li> line 
96: Function <a href="../html/libxml-tree.html#xmlDocDump">xmlDocDump</a> from 
tree.h</li></ul><p>Usage:</p><p>reader3</p><p>Author: Daniel Veillard</p><h3><a name="reader4.c" 
href="reader4.c" id="reader4.c">reader4.c</a>: Parse multiple XML files reusing an 
xmlReader</h3><p>Demonstrate the use of xmlReaderForFile() and xmlR
 eaderNewFile to parse XML files while reusing the reader object and parser context.  (Note that the 
XMLReader functions require libxml2 version later than 2.6.)</p><p>Includes:</p><ul><li><a 
href="../html/libxml-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 26: 
Function <a href="../html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from 
xmlreader.h</li><li> line 54: Type <a 
href="../html/libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li><li> line 72: 
Function <a href="../html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from 
xmlreader.h</li><li> line 83: Function <a 
href="../html/libxml-xmlreader.html#xmlReaderNewFile">xmlReaderNewFile</a> from xmlreader.h</li><li> line 97: 
Function <a href="../html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a> from 
xmlreader.h</li><li> line 104: Function <a href="../html/libxml-xmlreader.html#xmlFreeTextReader">xmlFreeTe
 xtReader</a> from xmlreader.h</li></ul><p>Usage:</p><p>reader4 &lt;filename&gt; [ filename ... 
]</p><p>Author: Graham Bennett</p><h2><a name="xmlWriter" id="xmlWriter"></a>xmlWriter Examples</h2><h3><a 
name="testWriter.c" href="testWriter.c" id="testWriter.c">testWriter.c</a>: use various APIs for the 
xmlWriter</h3><p>tests a number of APIs for the xmlWriter, especially the various methods to write to a 
filename, to a memory buffer, to a new document, or to a subtree. It shows how to do encoding string 
conversions too. The resulting documents are then serialized.</p><p>Includes:</p><ul><li><a 
href="../html/libxml-encoding.html">&lt;libxml/encoding.h&gt;</a></li><li><a 
href="../html/libxml-xmlwriter.html">&lt;libxml/xmlwriter.h&gt;</a></li></ul><p>Uses:</p><ul><li> line 76: 
Function <a href="../html/libxml-xmlwriter.html#xmlNewTextWriterFilename">xmlNewTextWriterFilename</a> from 
xmlwriter.h</li><li> line 341: Type <a href="../html/libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> from
  tree.h</li><li> line 347: Function <a href="../html/libxml-tree.html#xmlBufferCreate">xmlBufferCreate</a> 
from tree.h</li><li> line 355: Function <a 
href="../html/libxml-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a> from 
xmlwriter.h</li><li> line 613: Function <a href="../html/libxml-tree.html#xmlBufferFree">xmlBufferFree</a> 
from tree.h</li><li> line 632: Function <a 
href="../html/libxml-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a> from xmlwriter.h</li><li> 
line 878: Type <a href="../html/libxml-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> from 
xmlwriter.h</li><li> line 880: Type <a href="../html/libxml-tree.html#xmlNodePtr">xmlNodePtr</a> from 
tree.h</li><li> line 885: Macro <a 
href="../html/libxml-parser.html#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a> from parser.h</li><li> line 
885: Function <a href="../html/libxml-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li><li> line 894: 
Function <a href="../html/libxml-tree.html#xmlNewDocN
 ode">xmlNewDocNode</a> from tree.h</li><li> line 901: Function <a 
href="../html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li><li> line 904: 
Function <a href="../html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a> from 
xmlwriter.h</li><li> line 913: Function <a 
href="../html/libxml-xmlwriter.html#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a> from 
xmlwriter.h</li><li> line 925: Function <a 
href="../html/libxml-xmlwriter.html#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a> from 
xmlwriter.h</li><li> line 949: Function <a 
href="../html/libxml-xmlwriter.html#xmlTextWriterWriteAttribute">xmlTextWriterWriteAttribute</a> from 
xmlwriter.h</li><li> line 959: Function <a 
href="../html/libxml-xmlwriter.html#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a> from 
xmlwriter.h</li><li> line 1073: Function <a 
href="../html/libxml-xmlwriter.html#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatEle
 ment</a> from xmlwriter.h</li><li> line 1096: Function <a 
href="../html/libxml-xmlwriter.html#xmlTextWriterStartElement">xmlTextWriterStartElement</a> from 
xmlwriter.h</li><li> line 1103: Function <a 
href="../html/libxml-xmlwriter.html#xmlTextWriterWriteElement">xmlTextWriterWriteElement</a> from 
xmlwriter.h</li><li> line 1111: Function <a 
href="../html/libxml-xmlwriter.html#xmlTextWriterEndElement">xmlTextWriterEndElement</a> from 
xmlwriter.h</li><li> line 1121: Function <a 
href="../html/libxml-xmlwriter.html#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a> from 
xmlwriter.h</li><li> line 1127: Function <a 
href="../html/libxml-xmlwriter.html#xmlFreeTextWriter">xmlFreeTextWriter</a> from xmlwriter.h</li><li> line 
1129: Function <a href="../html/libxml-tree.html#xmlSaveFileEnc">xmlSaveFileEnc</a> from tree.h</li><li> line 
1151: Type <a href="../html/libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> 
from encoding.h</li><li> line 1156: Function <a href=
 "../html/libxml-encoding.html#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a> from 
encoding.h</li></ul><p>Usage:</p><p>testWriter</p><p>Author: Alfred Mickautsch</p><p><a 
href="../bugs.html">Daniel 
Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/book1.html b/doc/html/book1.html
index a8694937..56abee3a 100644
--- a/doc/html/book1.html
+++ b/doc/html/book1.html
@@ -10,4 +10,4 @@ A:link, A:visited, A:active { text-decoration: underline }
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Reference Manual for libxml2</title></head><body bgcolor="#8b7765" text="#000000" 
link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" 
align="center"><tr><td width="120"><a href="http://swpat.ffii.org/";><img src="../epatents.png" alt="Action 
against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/";><img src="../gnome2.png" 
alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status";><img src="../w3c.png" alt="W3C Logo" /></a><a 
href="http://www.redhat.com/";><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a 
href="http://xmlsoft.org/";><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" 
/></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" 
bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" 
bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libxml2</h2></td></tr>
 </table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" 
align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" 
width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" 
cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" 
cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API 
Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" 
enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" 
/><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" 
href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer 
Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a 
style="font-weight:
 bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a 
href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a 
href="../guidelines.html">XML Guidelines</a></li><li><a 
href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" 
cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API 
Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a 
href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a 
href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a 
href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" 
cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related 
links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul>
 <li><a href="http://mail.gnome.org/archives/xml/";>Mail archive</a></li><li><a 
href="http://xmlsoft.org/XSLT/";>XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/";>DOM 
gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/";>XML-DSig xmlsec</a></li><li><a 
href="ftp://xmlsoft.org/";>FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/";>Windows 
binaries</a></li><li><a href="http://opencsw.org/packages/libxml2";>Solaris binaries</a></li><li><a 
href="http://www.explain.com.au/oss/libxml2xslt.html";>MacOsX binaries</a></li><li><a 
href="http://lxml.de/";>lxml Python bindings</a></li><li><a 
href="http://cpan.uwinnipeg.ca/dist/XML-LibXML";>Perl bindings</a></li><li><a 
href="http://libxmlplusplus.sourceforge.net/";>C++ bindings</a></li><li><a 
href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4";>PHP bindings</a></li><li><a 
href="http://sourceforge.net/projects/libxml2-pas/";>Pascal bindings</a></li><li><a 
href="http://libxml.rubyforge.org/";>Ruby bindings</a>
 </li><li><a href="http://tclxml.sourceforge.net/";>Tcl bindings</a></li><li><a 
href="https://gitlab.gnome.org/GNOME/libxml2/issues";>Bug 
Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table 
border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" 
cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" 
width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a 
href="libxml-DOCBparser.html">DOCBparser</a>: old DocBook SGML parser</li><li><a 
href="libxml-HTMLparser.html">HTMLparser</a>: interface for an HTML 4.0 non-verifying parser</li><li><a 
href="libxml-HTMLtree.html">HTMLtree</a>: specific APIs to process HTML tree, especially 
serialization</li><li><a href="libxml-SAX.html">SAX</a>: Old SAX version 1 handler, deprecated</li><li><a 
href="libxml-SAX2.html">SAX2</a>: SAX2 parser interface used to build the DOM tree</li><li><a href=
 "libxml-c14n.html">c14n</a>: Provide Canonical XML and Exclusive XML Canonicalization</li><li><a 
href="libxml-catalog.html">catalog</a>: interfaces to the Catalog handling system</li><li><a 
href="libxml-chvalid.html">chvalid</a>: Unicode character range checking</li><li><a 
href="libxml-debugXML.html">debugXML</a>: Tree debugging APIs</li><li><a href="libxml-dict.html">dict</a>: 
string dictionary</li><li><a href="libxml-encoding.html">encoding</a>: interface for the encoding conversion 
functions</li><li><a href="libxml-entities.html">entities</a>: interface for the XML entities 
handling</li><li><a href="libxml-globals.html">globals</a>: interface for all global variables of the 
library</li><li><a href="libxml-hash.html">hash</a>: Chained hash tables</li><li><a 
href="libxml-list.html">list</a>: lists interfaces</li><li><a href="libxml-nanoftp.html">nanoftp</a>: minimal 
FTP implementation</li><li><a href="libxml-nanohttp.html">nanohttp</a>: minimal HTTP 
implementation</li><li><a href="
 libxml-parser.html">parser</a>: the core parser module</li><li><a 
href="libxml-parserInternals.html">parserInternals</a>: internals routines and limits exported by the 
parser.</li><li><a href="libxml-pattern.html">pattern</a>: pattern expression handling</li><li><a 
href="libxml-relaxng.html">relaxng</a>: implementation of the Relax-NG validation</li><li><a 
href="libxml-schemasInternals.html">schemasInternals</a>: internal interfaces for XML Schemas</li><li><a 
href="libxml-schematron.html">schematron</a>: XML Schemastron implementation</li><li><a 
href="libxml-threads.html">threads</a>: interfaces for thread handling</li><li><a 
href="libxml-tree.html">tree</a>: interfaces for tree manipulation</li><li><a href="libxml-uri.html">uri</a>: 
library of generic URI related routines</li><li><a href="libxml-valid.html">valid</a>: The DTD 
validation</li><li><a href="libxml-xinclude.html">xinclude</a>: implementation of XInclude</li><li><a 
href="libxml-xlink.html">xlink</a>: unfinished XLink det
 ection module</li><li><a href="libxml-xmlIO.html">xmlIO</a>: interface for the I/O interfaces used by the 
parser</li><li><a href="libxml-xmlautomata.html">xmlautomata</a>: API to build regexp automata</li><li><a 
href="libxml-xmlerror.html">xmlerror</a>: error handling</li><li><a 
href="libxml-xmlexports.html">xmlexports</a>: macros for marking symbols as exportable/importable.</li><li><a 
href="libxml-xmlmemory.html">xmlmemory</a>: interface for the memory allocator</li><li><a 
href="libxml-xmlmodule.html">xmlmodule</a>: dynamic module loading</li><li><a 
href="libxml-xmlreader.html">xmlreader</a>: the XMLReader implementation</li><li><a 
href="libxml-xmlregexp.html">xmlregexp</a>: regular expressions handling</li><li><a 
href="libxml-xmlsave.html">xmlsave</a>: the XML document serializer</li><li><a 
href="libxml-xmlschemas.html">xmlschemas</a>: incomplete XML Schemas structure implementation</li><li><a 
href="libxml-xmlschemastypes.html">xmlschemastypes</a>: implementation of XML Schema Da
 tatypes</li><li><a href="libxml-xmlstring.html">xmlstring</a>: set of routines to process strings</li><li><a 
href="libxml-xmlunicode.html">xmlunicode</a>: Unicode character APIs</li><li><a 
href="libxml-xmlversion.html">xmlversion</a>: compile-time version informations</li><li><a 
href="libxml-xmlwriter.html">xmlwriter</a>: text writing API for XML</li><li><a 
href="libxml-xpath.html">xpath</a>: XML Path Language implementation</li><li><a 
href="libxml-xpathInternals.html">xpathInternals</a>: internal interfaces for XML Path Language 
implementation</li><li><a href="libxml-xpointer.html">xpointer</a>: API to handle XML Pointers</li></ul><p><a 
href="../bugs.html">Daniel 
Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
+    </style><title>Reference Manual for libxml2</title></head><body bgcolor="#8b7765" text="#000000" 
link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" 
align="center"><tr><td width="120"><a href="http://swpat.ffii.org/";><img src="../epatents.png" alt="Action 
against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/";><img src="../gnome2.png" 
alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status";><img src="../w3c.png" alt="W3C Logo" /></a><a 
href="http://www.redhat.com/";><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a 
href="http://xmlsoft.org/";><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" 
/></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" 
bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" 
bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libxml2</h2></td></tr>
 </table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" 
align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" 
width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" 
cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" 
cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API 
Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" 
enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" 
/><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" 
href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer 
Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a 
style="font-weight:
 bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a 
href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a 
href="../guidelines.html">XML Guidelines</a></li><li><a 
href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" 
cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API 
Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a 
href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a 
href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a 
href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" 
cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related 
links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul>
 <li><a href="http://mail.gnome.org/archives/xml/";>Mail archive</a></li><li><a 
href="http://xmlsoft.org/XSLT/";>XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/";>DOM 
gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/";>XML-DSig xmlsec</a></li><li><a 
href="ftp://xmlsoft.org/";>FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/";>Windows 
binaries</a></li><li><a href="http://opencsw.org/packages/libxml2";>Solaris binaries</a></li><li><a 
href="http://www.explain.com.au/oss/libxml2xslt.html";>MacOsX binaries</a></li><li><a 
href="http://lxml.de/";>lxml Python bindings</a></li><li><a 
href="http://cpan.uwinnipeg.ca/dist/XML-LibXML";>Perl bindings</a></li><li><a 
href="http://libxmlplusplus.sourceforge.net/";>C++ bindings</a></li><li><a 
href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4";>PHP bindings</a></li><li><a 
href="http://sourceforge.net/projects/libxml2-pas/";>Pascal bindings</a></li><li><a 
href="http://libxml.rubyforge.org/";>Ruby bindings</a>
 </li><li><a href="http://tclxml.sourceforge.net/";>Tcl bindings</a></li><li><a 
href="https://gitlab.gnome.org/GNOME/libxml2/issues";>Bug 
Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table 
border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" 
cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" 
width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a 
href="libxml-DOCBparser.html">DOCBparser</a>: old DocBook SGML parser</li><li><a 
href="libxml-HTMLparser.html">HTMLparser</a>: interface for an HTML 4.0 non-verifying parser</li><li><a 
href="libxml-HTMLtree.html">HTMLtree</a>: specific APIs to process HTML tree, especially 
serialization</li><li><a href="libxml-SAX.html">SAX</a>: Old SAX version 1 handler, deprecated</li><li><a 
href="libxml-SAX2.html">SAX2</a>: SAX2 parser interface used to build the DOM tree</li><li><a href=
 "libxml-c14n.html">c14n</a>: Provide Canonical XML and Exclusive XML Canonicalization</li><li><a 
href="libxml-catalog.html">catalog</a>: interfaces to the Catalog handling system</li><li><a 
href="libxml-chvalid.html">chvalid</a>: Unicode character range checking</li><li><a 
href="libxml-debugXML.html">debugXML</a>: Tree debugging APIs</li><li><a href="libxml-dict.html">dict</a>: 
string dictionary</li><li><a href="libxml-encoding.html">encoding</a>: interface for the encoding conversion 
functions</li><li><a href="libxml-entities.html">entities</a>: interface for the XML entities 
handling</li><li><a href="libxml-globals.html">globals</a>: interface for all global variables of the 
library</li><li><a href="libxml-hash.html">hash</a>: Chained hash tables</li><li><a 
href="libxml-list.html">list</a>: lists interfaces</li><li><a href="libxml-nanoftp.html">nanoftp</a>: minimal 
FTP implementation</li><li><a href="libxml-nanohttp.html">nanohttp</a>: minimal HTTP 
implementation</li><li><a href="
 libxml-parser.html">parser</a>: the core parser module</li><li><a 
href="libxml-parserInternals.html">parserInternals</a>: internals routines and limits exported by the 
parser.</li><li><a href="libxml-pattern.html">pattern</a>: pattern expression handling</li><li><a 
href="libxml-relaxng.html">relaxng</a>: implementation of the Relax-NG validation</li><li><a 
href="libxml-schemasInternals.html">schemasInternals</a>: internal interfaces for XML Schemas</li><li><a 
href="libxml-schematron.html">schematron</a>: XML Schemastron implementation</li><li><a 
href="libxml-threads.html">threads</a>: interfaces for thread handling</li><li><a 
href="libxml-tree.html">tree</a>: interfaces for tree manipulation</li><li><a href="libxml-uri.html">uri</a>: 
library of generic URI related routines</li><li><a href="libxml-valid.html">valid</a>: The DTD 
validation</li><li><a href="libxml-xinclude.html">xinclude</a>: implementation of XInclude</li><li><a 
href="libxml-xlink.html">xlink</a>: unfinished XLink det
 ection module</li><li><a href="libxml-xmlIO.html">xmlIO</a>: interface for the I/O interfaces used by the 
parser</li><li><a href="libxml-xmlautomata.html">xmlautomata</a>: API to build regexp automata</li><li><a 
href="libxml-xmlerror.html">xmlerror</a>: error handling</li><li><a 
href="libxml-xmlexports.html">xmlexports</a>: macros for marking symbols as exportable/importable.</li><li><a 
href="libxml-xmlmemory.html">xmlmemory</a>: interface for the memory allocator</li><li><a 
href="libxml-xmlmodule.html">xmlmodule</a>: dynamic module loading</li><li><a 
href="libxml-xmlreader.html">xmlreader</a>: the XMLReader implementation</li><li><a 
href="libxml-xmlregexp.html">xmlregexp</a>: regular expressions handling</li><li><a 
href="libxml-xmlsave.html">xmlsave</a>: the XML document serializer</li><li><a 
href="libxml-xmlschemas.html">xmlschemas</a>: incomplete XML Schemas structure implementation</li><li><a 
href="libxml-xmlschemastypes.html">xmlschemastypes</a>: implementation of XML Schema Da
 tatypes</li><li><a href="libxml-xmlstring.html">xmlstring</a>: set of routines to process strings</li><li><a 
href="libxml-xmlunicode.html">xmlunicode</a>: Unicode character APIs</li><li><a 
href="libxml-xmlversion.html">xmlversion</a>: compile-time version information</li><li><a 
href="libxml-xmlwriter.html">xmlwriter</a>: text writing API for XML</li><li><a 
href="libxml-xpath.html">xpath</a>: XML Path Language implementation</li><li><a 
href="libxml-xpathInternals.html">xpathInternals</a>: internal interfaces for XML Path Language 
implementation</li><li><a href="libxml-xpointer.html">xpointer</a>: API to handle XML Pointers</li></ul><p><a 
href="../bugs.html">Daniel 
Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/index.html b/doc/html/index.html
index a8694937..56abee3a 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -10,4 +10,4 @@ A:link, A:visited, A:active { text-decoration: underline }
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Reference Manual for libxml2</title></head><body bgcolor="#8b7765" text="#000000" 
link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" 
align="center"><tr><td width="120"><a href="http://swpat.ffii.org/";><img src="../epatents.png" alt="Action 
against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/";><img src="../gnome2.png" 
alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status";><img src="../w3c.png" alt="W3C Logo" /></a><a 
href="http://www.redhat.com/";><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a 
href="http://xmlsoft.org/";><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" 
/></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" 
bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" 
bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libxml2</h2></td></tr>
 </table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" 
align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" 
width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" 
cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" 
cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API 
Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" 
enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" 
/><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" 
href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer 
Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a 
style="font-weight:
 bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a 
href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a 
href="../guidelines.html">XML Guidelines</a></li><li><a 
href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" 
cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API 
Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a 
href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a 
href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a 
href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" 
cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related 
links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul>
 <li><a href="http://mail.gnome.org/archives/xml/";>Mail archive</a></li><li><a 
href="http://xmlsoft.org/XSLT/";>XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/";>DOM 
gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/";>XML-DSig xmlsec</a></li><li><a 
href="ftp://xmlsoft.org/";>FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/";>Windows 
binaries</a></li><li><a href="http://opencsw.org/packages/libxml2";>Solaris binaries</a></li><li><a 
href="http://www.explain.com.au/oss/libxml2xslt.html";>MacOsX binaries</a></li><li><a 
href="http://lxml.de/";>lxml Python bindings</a></li><li><a 
href="http://cpan.uwinnipeg.ca/dist/XML-LibXML";>Perl bindings</a></li><li><a 
href="http://libxmlplusplus.sourceforge.net/";>C++ bindings</a></li><li><a 
href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4";>PHP bindings</a></li><li><a 
href="http://sourceforge.net/projects/libxml2-pas/";>Pascal bindings</a></li><li><a 
href="http://libxml.rubyforge.org/";>Ruby bindings</a>
 </li><li><a href="http://tclxml.sourceforge.net/";>Tcl bindings</a></li><li><a 
href="https://gitlab.gnome.org/GNOME/libxml2/issues";>Bug 
Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table 
border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" 
cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" 
width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a 
href="libxml-DOCBparser.html">DOCBparser</a>: old DocBook SGML parser</li><li><a 
href="libxml-HTMLparser.html">HTMLparser</a>: interface for an HTML 4.0 non-verifying parser</li><li><a 
href="libxml-HTMLtree.html">HTMLtree</a>: specific APIs to process HTML tree, especially 
serialization</li><li><a href="libxml-SAX.html">SAX</a>: Old SAX version 1 handler, deprecated</li><li><a 
href="libxml-SAX2.html">SAX2</a>: SAX2 parser interface used to build the DOM tree</li><li><a href=
 "libxml-c14n.html">c14n</a>: Provide Canonical XML and Exclusive XML Canonicalization</li><li><a 
href="libxml-catalog.html">catalog</a>: interfaces to the Catalog handling system</li><li><a 
href="libxml-chvalid.html">chvalid</a>: Unicode character range checking</li><li><a 
href="libxml-debugXML.html">debugXML</a>: Tree debugging APIs</li><li><a href="libxml-dict.html">dict</a>: 
string dictionary</li><li><a href="libxml-encoding.html">encoding</a>: interface for the encoding conversion 
functions</li><li><a href="libxml-entities.html">entities</a>: interface for the XML entities 
handling</li><li><a href="libxml-globals.html">globals</a>: interface for all global variables of the 
library</li><li><a href="libxml-hash.html">hash</a>: Chained hash tables</li><li><a 
href="libxml-list.html">list</a>: lists interfaces</li><li><a href="libxml-nanoftp.html">nanoftp</a>: minimal 
FTP implementation</li><li><a href="libxml-nanohttp.html">nanohttp</a>: minimal HTTP 
implementation</li><li><a href="
 libxml-parser.html">parser</a>: the core parser module</li><li><a 
href="libxml-parserInternals.html">parserInternals</a>: internals routines and limits exported by the 
parser.</li><li><a href="libxml-pattern.html">pattern</a>: pattern expression handling</li><li><a 
href="libxml-relaxng.html">relaxng</a>: implementation of the Relax-NG validation</li><li><a 
href="libxml-schemasInternals.html">schemasInternals</a>: internal interfaces for XML Schemas</li><li><a 
href="libxml-schematron.html">schematron</a>: XML Schemastron implementation</li><li><a 
href="libxml-threads.html">threads</a>: interfaces for thread handling</li><li><a 
href="libxml-tree.html">tree</a>: interfaces for tree manipulation</li><li><a href="libxml-uri.html">uri</a>: 
library of generic URI related routines</li><li><a href="libxml-valid.html">valid</a>: The DTD 
validation</li><li><a href="libxml-xinclude.html">xinclude</a>: implementation of XInclude</li><li><a 
href="libxml-xlink.html">xlink</a>: unfinished XLink det
 ection module</li><li><a href="libxml-xmlIO.html">xmlIO</a>: interface for the I/O interfaces used by the 
parser</li><li><a href="libxml-xmlautomata.html">xmlautomata</a>: API to build regexp automata</li><li><a 
href="libxml-xmlerror.html">xmlerror</a>: error handling</li><li><a 
href="libxml-xmlexports.html">xmlexports</a>: macros for marking symbols as exportable/importable.</li><li><a 
href="libxml-xmlmemory.html">xmlmemory</a>: interface for the memory allocator</li><li><a 
href="libxml-xmlmodule.html">xmlmodule</a>: dynamic module loading</li><li><a 
href="libxml-xmlreader.html">xmlreader</a>: the XMLReader implementation</li><li><a 
href="libxml-xmlregexp.html">xmlregexp</a>: regular expressions handling</li><li><a 
href="libxml-xmlsave.html">xmlsave</a>: the XML document serializer</li><li><a 
href="libxml-xmlschemas.html">xmlschemas</a>: incomplete XML Schemas structure implementation</li><li><a 
href="libxml-xmlschemastypes.html">xmlschemastypes</a>: implementation of XML Schema Da
 tatypes</li><li><a href="libxml-xmlstring.html">xmlstring</a>: set of routines to process strings</li><li><a 
href="libxml-xmlunicode.html">xmlunicode</a>: Unicode character APIs</li><li><a 
href="libxml-xmlversion.html">xmlversion</a>: compile-time version informations</li><li><a 
href="libxml-xmlwriter.html">xmlwriter</a>: text writing API for XML</li><li><a 
href="libxml-xpath.html">xpath</a>: XML Path Language implementation</li><li><a 
href="libxml-xpathInternals.html">xpathInternals</a>: internal interfaces for XML Path Language 
implementation</li><li><a href="libxml-xpointer.html">xpointer</a>: API to handle XML Pointers</li></ul><p><a 
href="../bugs.html">Daniel 
Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
+    </style><title>Reference Manual for libxml2</title></head><body bgcolor="#8b7765" text="#000000" 
link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" 
align="center"><tr><td width="120"><a href="http://swpat.ffii.org/";><img src="../epatents.png" alt="Action 
against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/";><img src="../gnome2.png" 
alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status";><img src="../w3c.png" alt="W3C Logo" /></a><a 
href="http://www.redhat.com/";><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a 
href="http://xmlsoft.org/";><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" 
/></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" 
bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" 
bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libxml2</h2></td></tr>
 </table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" 
align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" 
width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" 
cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" 
cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API 
Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" 
enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" 
/><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" 
href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer 
Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a 
style="font-weight:
 bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a 
href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a 
href="../guidelines.html">XML Guidelines</a></li><li><a 
href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" 
cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API 
Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a 
href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a 
href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a 
href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" 
cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related 
links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul>
 <li><a href="http://mail.gnome.org/archives/xml/";>Mail archive</a></li><li><a 
href="http://xmlsoft.org/XSLT/";>XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/";>DOM 
gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/";>XML-DSig xmlsec</a></li><li><a 
href="ftp://xmlsoft.org/";>FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/";>Windows 
binaries</a></li><li><a href="http://opencsw.org/packages/libxml2";>Solaris binaries</a></li><li><a 
href="http://www.explain.com.au/oss/libxml2xslt.html";>MacOsX binaries</a></li><li><a 
href="http://lxml.de/";>lxml Python bindings</a></li><li><a 
href="http://cpan.uwinnipeg.ca/dist/XML-LibXML";>Perl bindings</a></li><li><a 
href="http://libxmlplusplus.sourceforge.net/";>C++ bindings</a></li><li><a 
href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4";>PHP bindings</a></li><li><a 
href="http://sourceforge.net/projects/libxml2-pas/";>Pascal bindings</a></li><li><a 
href="http://libxml.rubyforge.org/";>Ruby bindings</a>
 </li><li><a href="http://tclxml.sourceforge.net/";>Tcl bindings</a></li><li><a 
href="https://gitlab.gnome.org/GNOME/libxml2/issues";>Bug 
Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table 
border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" 
cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" 
width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a 
href="libxml-DOCBparser.html">DOCBparser</a>: old DocBook SGML parser</li><li><a 
href="libxml-HTMLparser.html">HTMLparser</a>: interface for an HTML 4.0 non-verifying parser</li><li><a 
href="libxml-HTMLtree.html">HTMLtree</a>: specific APIs to process HTML tree, especially 
serialization</li><li><a href="libxml-SAX.html">SAX</a>: Old SAX version 1 handler, deprecated</li><li><a 
href="libxml-SAX2.html">SAX2</a>: SAX2 parser interface used to build the DOM tree</li><li><a href=
 "libxml-c14n.html">c14n</a>: Provide Canonical XML and Exclusive XML Canonicalization</li><li><a 
href="libxml-catalog.html">catalog</a>: interfaces to the Catalog handling system</li><li><a 
href="libxml-chvalid.html">chvalid</a>: Unicode character range checking</li><li><a 
href="libxml-debugXML.html">debugXML</a>: Tree debugging APIs</li><li><a href="libxml-dict.html">dict</a>: 
string dictionary</li><li><a href="libxml-encoding.html">encoding</a>: interface for the encoding conversion 
functions</li><li><a href="libxml-entities.html">entities</a>: interface for the XML entities 
handling</li><li><a href="libxml-globals.html">globals</a>: interface for all global variables of the 
library</li><li><a href="libxml-hash.html">hash</a>: Chained hash tables</li><li><a 
href="libxml-list.html">list</a>: lists interfaces</li><li><a href="libxml-nanoftp.html">nanoftp</a>: minimal 
FTP implementation</li><li><a href="libxml-nanohttp.html">nanohttp</a>: minimal HTTP 
implementation</li><li><a href="
 libxml-parser.html">parser</a>: the core parser module</li><li><a 
href="libxml-parserInternals.html">parserInternals</a>: internals routines and limits exported by the 
parser.</li><li><a href="libxml-pattern.html">pattern</a>: pattern expression handling</li><li><a 
href="libxml-relaxng.html">relaxng</a>: implementation of the Relax-NG validation</li><li><a 
href="libxml-schemasInternals.html">schemasInternals</a>: internal interfaces for XML Schemas</li><li><a 
href="libxml-schematron.html">schematron</a>: XML Schemastron implementation</li><li><a 
href="libxml-threads.html">threads</a>: interfaces for thread handling</li><li><a 
href="libxml-tree.html">tree</a>: interfaces for tree manipulation</li><li><a href="libxml-uri.html">uri</a>: 
library of generic URI related routines</li><li><a href="libxml-valid.html">valid</a>: The DTD 
validation</li><li><a href="libxml-xinclude.html">xinclude</a>: implementation of XInclude</li><li><a 
href="libxml-xlink.html">xlink</a>: unfinished XLink det
 ection module</li><li><a href="libxml-xmlIO.html">xmlIO</a>: interface for the I/O interfaces used by the 
parser</li><li><a href="libxml-xmlautomata.html">xmlautomata</a>: API to build regexp automata</li><li><a 
href="libxml-xmlerror.html">xmlerror</a>: error handling</li><li><a 
href="libxml-xmlexports.html">xmlexports</a>: macros for marking symbols as exportable/importable.</li><li><a 
href="libxml-xmlmemory.html">xmlmemory</a>: interface for the memory allocator</li><li><a 
href="libxml-xmlmodule.html">xmlmodule</a>: dynamic module loading</li><li><a 
href="libxml-xmlreader.html">xmlreader</a>: the XMLReader implementation</li><li><a 
href="libxml-xmlregexp.html">xmlregexp</a>: regular expressions handling</li><li><a 
href="libxml-xmlsave.html">xmlsave</a>: the XML document serializer</li><li><a 
href="libxml-xmlschemas.html">xmlschemas</a>: incomplete XML Schemas structure implementation</li><li><a 
href="libxml-xmlschemastypes.html">xmlschemastypes</a>: implementation of XML Schema Da
 tatypes</li><li><a href="libxml-xmlstring.html">xmlstring</a>: set of routines to process strings</li><li><a 
href="libxml-xmlunicode.html">xmlunicode</a>: Unicode character APIs</li><li><a 
href="libxml-xmlversion.html">xmlversion</a>: compile-time version information</li><li><a 
href="libxml-xmlwriter.html">xmlwriter</a>: text writing API for XML</li><li><a 
href="libxml-xpath.html">xpath</a>: XML Path Language implementation</li><li><a 
href="libxml-xpathInternals.html">xpathInternals</a>: internal interfaces for XML Path Language 
implementation</li><li><a href="libxml-xpointer.html">xpointer</a>: API to handle XML Pointers</li></ul><p><a 
href="../bugs.html">Daniel 
Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-HTMLtree.html b/doc/html/libxml-HTMLtree.html
index 1bbec8c4..8d990927 100644
--- a/doc/html/libxml-HTMLtree.html
+++ b/doc/html/libxml-HTMLtree.html
@@ -36,9 +36,9 @@ A:link, A:visited, A:active { text-decoration: underline }
 <h3><a name="HTML_TEXT_NODE" id="HTML_TEXT_NODE"></a>Macro: HTML_TEXT_NODE</h3><pre>#define 
HTML_TEXT_NODE</pre><p>Macro. A text node in a HTML document is really implemented the same way as a text 
node in an XML document.</p>
 <h3><a name="htmlDocContentDumpFormatOutput" id="htmlDocContentDumpFormatOutput"></a>Function: 
htmlDocContentDumpFormatOutput</h3><pre class="programlisting">void     htmlDocContentDumpFormatOutput  (<a 
href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br />                                 
       <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />                                  const 
char * encoding, <br />                                   int format)<br />
 </pre><p>Dump an HTML document.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string</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><h3><a name="htmlDocContentDumpOutput" 
id="htmlDocContentDumpOutput"></a>Function: htmlDocContentDumpOutput</h3><pre class="programlisting">void     
 htmlDocContentDumpOutput        (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, 
<br />                                        <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />  
                                const char * encoding)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string (unused)</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been 
added</td></tr></tbody></table></div><h3><a name="htmlDocContentDumpOutput" 
id="htmlDocContentDumpOutput"></a>Function: htmlDocContentDumpOutput</h3><pre class="programlisting">void     
htmlDocContentDumpOutput        (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, 
<br />                                        <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />  
                                const char * encoding)<br />
 </pre><p>Dump an HTML document. Formatting return/spaces are added.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding 
string</td></tr></tbody></table></div><h3><a name="htmlDocDump" id="htmlDocDump"></a>Function: 
htmlDocDump</h3><pre class="programlisting">int     htmlDocDump                     (FILE * f, <br />         
                               <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string 
(unused)</td></tr></tbody></table></div><h3><a name="htmlDocDump" id="htmlDocDump"></a>Function: 
htmlDocDump</h3><pre class="programlisting">int    htmlDocDump                     (FILE * f, <br />          
                              <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br />
 </pre><p>Dump an HTML document to an open FILE.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>f</tt></i>:</span></td><td>the FILE*</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of 
failure.</td></tr></tbody></table></div><h3><a name="htmlDocDumpMemory" id="htmlDocDumpMemory"></a>Function: 
htmlDocDumpMemory</h3><pre class="programlisting">void htmlDocDumpMemory               (<a 
href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br />                                  <a 
href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br />                                      int * 
size)<br />
 </pre><p>Dump an HTML document in memory and return the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> 
* and it's size. It's up to the caller to free the memory.</p>
@@ -60,9 +60,9 @@ A:link, A:visited, A:active { text-decoration: underline }
 </pre><p>Dump an HTML node, recursive behaviour,children are printed too. TODO: if encoding == NULL try to 
save in the doc encoding</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>out</tt></i>:</span></td><td>the FILE pointer</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been 
added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written 
or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="htmlNodeDumpFormatOutput" 
id="htmlNodeDumpFormatOutput"></a>Function: htmlNodeDumpFormatOutput</h3><pre class="programlisting">void     
   htmlNodeDumpFormatOutput        (<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, 
<br />                                        <a href="libxml-tree.html#xmlDocPtr">xmlDocPt
 r</a> doc, <br />                                       <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> 
cur, <br />                                        const char * encoding, <br />                              
     int format)<br />
 </pre><p>Dump an HTML node, recursive behaviour,children are printed too.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string</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><h3><a name="htmlNodeDumpOutput" id="htmlNodeDumpOutput"></a>Function: 
htmlNodeDumpOutput</h3><pre class="programlisting">void       htmlNodeDumpOutput              (<a 
href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br />                                 
       <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />                                  <a 
href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />                                        const 
char * encoding)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string (unused)</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been 
added</td></tr></tbody></table></div><h3><a name="htmlNodeDumpOutput" id="htmlNodeDumpOutput"></a>Function: 
htmlNodeDumpOutput</h3><pre class="programlisting">void      htmlNodeDumpOutput              (<a 
href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br />                                 
       <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />                                  <a 
href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br />                                        const 
char * encoding)<br />
 </pre><p>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns/spaces are 
added.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding 
string</td></tr></tbody></table></div><h3><a name="htmlSaveFile" id="htmlSaveFile"></a>Function: 
htmlSaveFile</h3><pre class="programlisting">int htmlSaveFile                    (const char * filename, <br 
/>                                   <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string 
(unused)</td></tr></tbody></table></div><h3><a name="htmlSaveFile" id="htmlSaveFile"></a>Function: 
htmlSaveFile</h3><pre class="programlisting">int        htmlSaveFile                    (const char * 
filename, <br />                                   <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br 
/>
 </pre><p>Dump an HTML document to a file. If @filename is "-" the stdout file is used.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename (or URL)</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of 
failure.</td></tr></tbody></table></div><h3><a name="htmlSaveFileEnc" id="htmlSaveFileEnc"></a>Function: 
htmlSaveFileEnc</h3><pre class="programlisting">int     htmlSaveFileEnc                 (const char * 
filename, <br />                                   <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> cur, 
<br />                                  const char * encoding)<br />
 </pre><p>Dump an HTML document to a file using a given encoding and formatting returns/spaces are added.</p>
diff --git a/doc/html/libxml-SAX2.html b/doc/html/libxml-SAX2.html
index bdcb11dd..7a15a183 100644
--- a/doc/html/libxml-SAX2.html
+++ b/doc/html/libxml-SAX2.html
@@ -70,7 +70,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <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><h3><a name="xmlSAX2EndElement" id="xmlSAX2EndElement"></a>Function: 
xmlSAX2EndElement</h3><pre class="programlisting">void    xmlSAX2EndElement               (void * ctx, <br /> 
                                     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
 </pre><p>called when the end of an element has been detected.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>The element name</td></tr></tbody></table></div><h3><a 
name="xmlSAX2EndElementNs" id="xmlSAX2EndElementNs"></a>Function: xmlSAX2EndElementNs</h3><pre 
class="programlisting">void    xmlSAX2EndElementNs             (void * ctx, <br />                            
          const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * localname, <br />                       
            const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />                        
              const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI)<br />
-</pre><p>SAX2 callback when an element end has been detected by the parser. It provides the namespace 
informations for the element.</p>
+</pre><p>SAX2 callback when an element end has been detected by the parser. It provides the namespace 
information for the element.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>localname</tt></i>:</span></td><td>the local name of the element</td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>the element namespace prefix if 
available</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the element namespace name 
if available</td></tr></tbody></table></div><h3><a name="xmlSAX2EntityDecl" 
id="xmlSAX2EntityDecl"></a>Function: xmlSAX2EntityDecl</h3><pre class="programlisting">void   
xmlSAX2EntityDecl               (void * ctx, <br />                                      const <a 
href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />                                        int 
type, <br />                                        const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> 
* publicId, <br />                                    const <a 
href="libxml-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br />                                    <a 
href="libxml-xmlstring.ht
 ml#xmlChar">xmlChar</a> * content)<br />
 </pre><p>An entity definition has been parsed</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the entity type</td></tr><tr><td><span 
class="term"><i><tt>publicId</tt></i>:</span></td><td>The public ID of the entity</td></tr><tr><td><span 
class="term"><i><tt>systemId</tt></i>:</span></td><td>The system ID of the entity</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the entity value (without 
processing).</td></tr></tbody></table></div><h3><a name="xmlSAX2ExternalSubset" 
id="xmlSAX2ExternalSubset"></a>Function: xmlSAX2ExternalSubset</h3><pre class="programlisting">void 
xmlSAX2ExternalSubset           (void * ctx, <br />                                      const <a 
href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />                                        const 
<a href="libxml-xmlstring.
 html#xmlChar">xmlChar</a> * ExternalID, <br />                                  const <a 
href="libxml-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br />
@@ -118,7 +118,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <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><h3><a name="xmlSAX2StartElement" 
id="xmlSAX2StartElement"></a>Function: xmlSAX2StartElement</h3><pre class="programlisting">void      
xmlSAX2StartElement             (void * ctx, <br />                                      const <a 
href="libxml-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br />                                    const 
<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** atts)<br />
 </pre><p>called when an opening tag has been processed.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>fullname</tt></i>:</span></td><td>The element name, including namespace 
prefix</td></tr><tr><td><span class="term"><i><tt>atts</tt></i>:</span></td><td>An array of name/value 
attributes pairs, NULL terminated</td></tr></tbody></table></div><h3><a name="xmlSAX2StartElementNs" 
id="xmlSAX2StartElementNs"></a>Function: xmlSAX2StartElementNs</h3><pre class="programlisting">void    
xmlSAX2StartElementNs           (void * ctx, <br />                                      const <a 
href="libxml-xmlstring.html#xmlChar">xmlChar</a> * localname, <br />                                   const 
<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />                                      
const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI, <br />                                       
  int nb_namespaces, <br />                                       const <a 
href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br />                                        
 int n
 b_attributes, <br />                                    int nb_defaulted, <br />                             
           const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** attributes)<br />
-</pre><p>SAX2 callback when an element start has been detected by the parser. It provides the namespace 
informations for the element, as well as the new namespace declarations on the element.</p>
+</pre><p>SAX2 callback when an element start has been detected by the parser. It provides the namespace 
information for the element, as well as the new namespace declarations on the element.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>localname</tt></i>:</span></td><td>the local name of the element</td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>the element namespace prefix if 
available</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the element namespace name 
if available</td></tr><tr><td><span class="term"><i><tt>nb_namespaces</tt></i>:</span></td><td>number of 
namespace definitions on that node</td></tr><tr><td><span 
class="term"><i><tt>namespaces</tt></i>:</span></td><td>pointer to the array of prefix/URI pairs namespace 
definitions</td></tr><tr><td><span class="term"><i><tt>nb_attributes</tt></i>:</span></td><td>the number of 
attributes on that node</td></tr><tr><td><span class="term"><i><tt>nb_defaulted</tt></i>:</span></td><td>the 
number of default
 ed attributes.</td></tr><tr><td><span class="term"><i><tt>attributes</tt></i>:</span></td><td>pointer to the 
array of (localname/prefix/URI/value/end) <a href="libxml-SAX.html#attribute">attribute</a> 
values.</td></tr></tbody></table></div><h3><a name="xmlSAX2UnparsedEntityDecl" 
id="xmlSAX2UnparsedEntityDecl"></a>Function: xmlSAX2UnparsedEntityDecl</h3><pre class="programlisting">void   
 xmlSAX2UnparsedEntityDecl       (void * ctx, <br />                                      const <a 
href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />                                        const 
<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br />                                    
const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br />                                  
  const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br />
 </pre><p>What to do when an unparsed entity declaration is parsed</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>The name of the entity</td></tr><tr><td><span 
class="term"><i><tt>publicId</tt></i>:</span></td><td>The public ID of the entity</td></tr><tr><td><span 
class="term"><i><tt>systemId</tt></i>:</span></td><td>The system ID of the entity</td></tr><tr><td><span 
class="term"><i><tt>notationName</tt></i>:</span></td><td>the name of the 
notation</td></tr></tbody></table></div><h3><a name="xmlSAXDefaultVersion" 
id="xmlSAXDefaultVersion"></a>Function: xmlSAXDefaultVersion</h3><pre class="programlisting">int        
xmlSAXDefaultVersion            (int version)<br />
diff --git a/doc/html/libxml-debugXML.html b/doc/html/libxml-debugXML.html
index 6b5f0e00..2a3fa5f7 100644
--- a/doc/html/libxml-debugXML.html
+++ b/doc/html/libxml-debugXML.html
@@ -78,7 +78,7 @@ char *        <a href="#xmlShellReadlineFunc">xmlShellReadlineFunc</a>                (char 
* prompt)
 <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><h3><a name="xmlDebugDumpOneNode" 
id="xmlDebugDumpOneNode"></a>Function: xmlDebugDumpOneNode</h3><pre class="programlisting">void    
xmlDebugDumpOneNode             (FILE * output, <br />                                   <a 
href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />                                       int 
depth)<br />
 </pre><p>Dumps debug information for the element node, it is not recursive</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>the node</td></tr><tr><td><span 
class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation 
level.</td></tr></tbody></table></div><h3><a name="xmlDebugDumpString" id="xmlDebugDumpString"></a>Function: 
xmlDebugDumpString</h3><pre class="programlisting">void    xmlDebugDumpString              (FILE * output, 
<br />                                   const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)<br 
/>
-</pre><p>Dumps informations about the string, shorten it if necessary</p>
+</pre><p>Dumps information about the string, shorten it if necessary</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>output</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the string</td></tr></tbody></table></div><h3><a 
name="xmlLsCountNode" id="xmlLsCountNode"></a>Function: xmlLsCountNode</h3><pre class="programlisting">int 
xmlLsCountNode                  (<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
 </pre><p>Count the children of @node.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>the node to count</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of children of 
@node.</td></tr></tbody></table></div><h3><a name="xmlLsOneNode" id="xmlLsOneNode"></a>Function: 
xmlLsOneNode</h3><pre class="programlisting">void      xmlLsOneNode                    (FILE * output, <br /> 
                                  <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
@@ -93,7 +93,7 @@ char *        <a href="#xmlShellReadlineFunc">xmlShellReadlineFunc</a>                (char 
* prompt)
 int    xmlShellCmd                     (<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> 
ctxt, <br />                                         char * arg, <br />                                      
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />                                       <a 
href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)
 </pre><p>This is a generic signature for the XML shell functions.</p><div class="variablelist"><table 
border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a shell 
context</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>a string 
argument</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a first 
node</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>a second 
node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an int, negative returns 
indicating errors.</td></tr></tbody></table></div><br />
 <h3><a name="xmlShellDir" id="xmlShellDir"></a>Function: xmlShellDir</h3><pre class="programlisting">int     
  xmlShellDir                     (<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, 
<br />                                         char * arg, <br />                                      <a 
href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />                                       <a 
href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br />
-</pre><p>Implements the XML shell function "dir" dumps informations about the node (namespace, attributes, 
content).</p>
+</pre><p>Implements the XML shell function "dir" dumps information about the node (namespace, attributes, 
content).</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span 
class="term"><i><tt>arg</tt></i>:</span></td><td>unused</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>a node</td></tr><tr><td><span 
class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0</td></tr></tbody></table></div><h3><a 
name="xmlShellDu" id="xmlShellDu"></a>Function: xmlShellDu</h3><pre class="programlisting">int    xmlShellDu  
                    (<a href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br />          
                               char * arg, <br />                                      <a 
href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br />                                       <a 
href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br />
 </pre><p>Implements the XML shell function "du" show the structure of the subtree under node @tree If @tree 
is null, the command works on the current node.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the shell context</td></tr><tr><td><span 
class="term"><i><tt>arg</tt></i>:</span></td><td>unused</td></tr><tr><td><span 
class="term"><i><tt>tree</tt></i>:</span></td><td>a node defining a subtree</td></tr><tr><td><span 
class="term"><i><tt>node2</tt></i>:</span></td><td>unused</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or -1 in case of 
error</td></tr></tbody></table></div><h3><a name="xmlShellList" id="xmlShellList"></a>Function: 
xmlShellList</h3><pre class="programlisting">int    xmlShellList                    (<a 
href="libxml-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br />                                  
       char * arg, <br />                                      <a 
href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />                                       <a 
href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br />
diff --git a/doc/html/libxml-encoding.html b/doc/html/libxml-encoding.html
index 03157641..e56ed399 100644
--- a/doc/html/libxml-encoding.html
+++ b/doc/html/libxml-encoding.html
@@ -83,9 +83,9 @@ int   <a href="#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a>      (unsigned
     <a href="libxml-encoding.html#uconv_t">uconv_t</a> *       uconv_out
 }</pre><h3><a name="UTF8Toisolat1" id="UTF8Toisolat1"></a>Function: UTF8Toisolat1</h3><pre 
class="programlisting">int  UTF8Toisolat1                   (unsigned char * out, <br />                      
               int * outlen, <br />                                    const unsigned char * in, <br />       
                                 int * inlen)<br />
 </pre><p>Take a block of UTF-8 chars in and try to convert it to an ISO Latin 1 block of chars out.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the 
result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of 
@out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of UTF-8 
chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of 
@in</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written 
if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of 
octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the 
number of octets consumed.</td></tr></tbody></table></div><h3><a name="isolat1ToUTF8" 
id="isolat1ToUTF8"></a>Function: isolat1ToUTF8</h3><pre class="programlisting">int       isolat1ToUTF8        
           (unsigned ch
 ar * out, <br />                                        int * outlen, <br />                                 
   const unsigned char * in, <br />                                        int * inlen)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the 
result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of 
@out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of UTF-8 
chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of 
@in</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written 
if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of 
octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the 
number of octets produced.</td></tr></tbody></table></div><h3><a name="isolat1ToUTF8" 
id="isolat1ToUTF8"></a>Function: isolat1ToUTF8</h3><pre class="programlisting">int       isolat1ToUTF8        
           (unsigned ch
 ar * out, <br />                                        int * outlen, <br />                                 
   const unsigned char * in, <br />                                        int * inlen)<br />
 </pre><p>Take a block of ISO Latin 1 chars in and try to convert it to an UTF-8 block of chars out.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the 
result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of 
@out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of ISO 
Latin 1 chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of 
@in</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written 
if success, or -1 otherwise The value of @inlen after return is the number of octets consumed if the return 
value is positive, else unpredictable. The value of @outlen after return is the number of octets 
consumed.</td></tr></tbody></table></div><h3><a name="xmlAddEncodingAlias" 
id="xmlAddEncodingAlias"></a>Function: xmlAddEncodingAlias</h3><pre class="programlisting">int    
xmlAddEncodingAlias             (const char 
 * name, <br />                                  const char * alias)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the 
result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of 
@out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of ISO 
Latin 1 chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of 
@in</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written 
if success, or -1 otherwise The value of @inlen after return is the number of octets consumed if the return 
value is positive, else unpredictable. The value of @outlen after return is the number of octets 
produced.</td></tr></tbody></table></div><h3><a name="xmlAddEncodingAlias" 
id="xmlAddEncodingAlias"></a>Function: xmlAddEncodingAlias</h3><pre class="programlisting">int    
xmlAddEncodingAlias             (const char 
 * name, <br />                                  const char * alias)<br />
 </pre><p>Registers an alias @alias for an encoding named @name. Existing alias will be overwritten.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the encoding name as parsed, in UTF-8 format (ASCII 
actually)</td></tr><tr><td><span class="term"><i><tt>alias</tt></i>:</span></td><td>the alias name as parsed, 
in UTF-8 format (ASCII actually)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of 
error</td></tr></tbody></table></div><h3><a name="xmlCharEncCloseFunc" id="xmlCharEncCloseFunc"></a>Function: 
xmlCharEncCloseFunc</h3><pre class="programlisting">int        xmlCharEncCloseFunc             (<a 
href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler)<br />
 </pre><p>Generic front-end for encoding handler close function</p>
diff --git a/doc/html/libxml-lib.html b/doc/html/libxml-lib.html
index a8694937..56abee3a 100644
--- a/doc/html/libxml-lib.html
+++ b/doc/html/libxml-lib.html
@@ -10,4 +10,4 @@ A:link, A:visited, A:active { text-decoration: underline }
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Reference Manual for libxml2</title></head><body bgcolor="#8b7765" text="#000000" 
link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" 
align="center"><tr><td width="120"><a href="http://swpat.ffii.org/";><img src="../epatents.png" alt="Action 
against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/";><img src="../gnome2.png" 
alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status";><img src="../w3c.png" alt="W3C Logo" /></a><a 
href="http://www.redhat.com/";><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a 
href="http://xmlsoft.org/";><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" 
/></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" 
bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" 
bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libxml2</h2></td></tr>
 </table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" 
align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" 
width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" 
cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" 
cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API 
Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" 
enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" 
/><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" 
href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer 
Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a 
style="font-weight:
 bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a 
href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a 
href="../guidelines.html">XML Guidelines</a></li><li><a 
href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" 
cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API 
Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a 
href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a 
href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a 
href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" 
cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related 
links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul>
 <li><a href="http://mail.gnome.org/archives/xml/";>Mail archive</a></li><li><a 
href="http://xmlsoft.org/XSLT/";>XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/";>DOM 
gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/";>XML-DSig xmlsec</a></li><li><a 
href="ftp://xmlsoft.org/";>FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/";>Windows 
binaries</a></li><li><a href="http://opencsw.org/packages/libxml2";>Solaris binaries</a></li><li><a 
href="http://www.explain.com.au/oss/libxml2xslt.html";>MacOsX binaries</a></li><li><a 
href="http://lxml.de/";>lxml Python bindings</a></li><li><a 
href="http://cpan.uwinnipeg.ca/dist/XML-LibXML";>Perl bindings</a></li><li><a 
href="http://libxmlplusplus.sourceforge.net/";>C++ bindings</a></li><li><a 
href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4";>PHP bindings</a></li><li><a 
href="http://sourceforge.net/projects/libxml2-pas/";>Pascal bindings</a></li><li><a 
href="http://libxml.rubyforge.org/";>Ruby bindings</a>
 </li><li><a href="http://tclxml.sourceforge.net/";>Tcl bindings</a></li><li><a 
href="https://gitlab.gnome.org/GNOME/libxml2/issues";>Bug 
Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table 
border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" 
cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" 
width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a 
href="libxml-DOCBparser.html">DOCBparser</a>: old DocBook SGML parser</li><li><a 
href="libxml-HTMLparser.html">HTMLparser</a>: interface for an HTML 4.0 non-verifying parser</li><li><a 
href="libxml-HTMLtree.html">HTMLtree</a>: specific APIs to process HTML tree, especially 
serialization</li><li><a href="libxml-SAX.html">SAX</a>: Old SAX version 1 handler, deprecated</li><li><a 
href="libxml-SAX2.html">SAX2</a>: SAX2 parser interface used to build the DOM tree</li><li><a href=
 "libxml-c14n.html">c14n</a>: Provide Canonical XML and Exclusive XML Canonicalization</li><li><a 
href="libxml-catalog.html">catalog</a>: interfaces to the Catalog handling system</li><li><a 
href="libxml-chvalid.html">chvalid</a>: Unicode character range checking</li><li><a 
href="libxml-debugXML.html">debugXML</a>: Tree debugging APIs</li><li><a href="libxml-dict.html">dict</a>: 
string dictionary</li><li><a href="libxml-encoding.html">encoding</a>: interface for the encoding conversion 
functions</li><li><a href="libxml-entities.html">entities</a>: interface for the XML entities 
handling</li><li><a href="libxml-globals.html">globals</a>: interface for all global variables of the 
library</li><li><a href="libxml-hash.html">hash</a>: Chained hash tables</li><li><a 
href="libxml-list.html">list</a>: lists interfaces</li><li><a href="libxml-nanoftp.html">nanoftp</a>: minimal 
FTP implementation</li><li><a href="libxml-nanohttp.html">nanohttp</a>: minimal HTTP 
implementation</li><li><a href="
 libxml-parser.html">parser</a>: the core parser module</li><li><a 
href="libxml-parserInternals.html">parserInternals</a>: internals routines and limits exported by the 
parser.</li><li><a href="libxml-pattern.html">pattern</a>: pattern expression handling</li><li><a 
href="libxml-relaxng.html">relaxng</a>: implementation of the Relax-NG validation</li><li><a 
href="libxml-schemasInternals.html">schemasInternals</a>: internal interfaces for XML Schemas</li><li><a 
href="libxml-schematron.html">schematron</a>: XML Schemastron implementation</li><li><a 
href="libxml-threads.html">threads</a>: interfaces for thread handling</li><li><a 
href="libxml-tree.html">tree</a>: interfaces for tree manipulation</li><li><a href="libxml-uri.html">uri</a>: 
library of generic URI related routines</li><li><a href="libxml-valid.html">valid</a>: The DTD 
validation</li><li><a href="libxml-xinclude.html">xinclude</a>: implementation of XInclude</li><li><a 
href="libxml-xlink.html">xlink</a>: unfinished XLink det
 ection module</li><li><a href="libxml-xmlIO.html">xmlIO</a>: interface for the I/O interfaces used by the 
parser</li><li><a href="libxml-xmlautomata.html">xmlautomata</a>: API to build regexp automata</li><li><a 
href="libxml-xmlerror.html">xmlerror</a>: error handling</li><li><a 
href="libxml-xmlexports.html">xmlexports</a>: macros for marking symbols as exportable/importable.</li><li><a 
href="libxml-xmlmemory.html">xmlmemory</a>: interface for the memory allocator</li><li><a 
href="libxml-xmlmodule.html">xmlmodule</a>: dynamic module loading</li><li><a 
href="libxml-xmlreader.html">xmlreader</a>: the XMLReader implementation</li><li><a 
href="libxml-xmlregexp.html">xmlregexp</a>: regular expressions handling</li><li><a 
href="libxml-xmlsave.html">xmlsave</a>: the XML document serializer</li><li><a 
href="libxml-xmlschemas.html">xmlschemas</a>: incomplete XML Schemas structure implementation</li><li><a 
href="libxml-xmlschemastypes.html">xmlschemastypes</a>: implementation of XML Schema Da
 tatypes</li><li><a href="libxml-xmlstring.html">xmlstring</a>: set of routines to process strings</li><li><a 
href="libxml-xmlunicode.html">xmlunicode</a>: Unicode character APIs</li><li><a 
href="libxml-xmlversion.html">xmlversion</a>: compile-time version informations</li><li><a 
href="libxml-xmlwriter.html">xmlwriter</a>: text writing API for XML</li><li><a 
href="libxml-xpath.html">xpath</a>: XML Path Language implementation</li><li><a 
href="libxml-xpathInternals.html">xpathInternals</a>: internal interfaces for XML Path Language 
implementation</li><li><a href="libxml-xpointer.html">xpointer</a>: API to handle XML Pointers</li></ul><p><a 
href="../bugs.html">Daniel 
Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
+    </style><title>Reference Manual for libxml2</title></head><body bgcolor="#8b7765" text="#000000" 
link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" 
align="center"><tr><td width="120"><a href="http://swpat.ffii.org/";><img src="../epatents.png" alt="Action 
against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/";><img src="../gnome2.png" 
alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status";><img src="../w3c.png" alt="W3C Logo" /></a><a 
href="http://www.redhat.com/";><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a 
href="http://xmlsoft.org/";><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" 
/></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" 
bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" 
bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libxml2</h2></td></tr>
 </table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" 
align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" 
width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" 
cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" 
cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API 
Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" 
enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" 
/><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" 
href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer 
Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a 
style="font-weight:
 bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a 
href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a 
href="../guidelines.html">XML Guidelines</a></li><li><a 
href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" 
cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API 
Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a 
href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a 
href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a 
href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" 
cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related 
links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul>
 <li><a href="http://mail.gnome.org/archives/xml/";>Mail archive</a></li><li><a 
href="http://xmlsoft.org/XSLT/";>XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/";>DOM 
gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/";>XML-DSig xmlsec</a></li><li><a 
href="ftp://xmlsoft.org/";>FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/";>Windows 
binaries</a></li><li><a href="http://opencsw.org/packages/libxml2";>Solaris binaries</a></li><li><a 
href="http://www.explain.com.au/oss/libxml2xslt.html";>MacOsX binaries</a></li><li><a 
href="http://lxml.de/";>lxml Python bindings</a></li><li><a 
href="http://cpan.uwinnipeg.ca/dist/XML-LibXML";>Perl bindings</a></li><li><a 
href="http://libxmlplusplus.sourceforge.net/";>C++ bindings</a></li><li><a 
href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4";>PHP bindings</a></li><li><a 
href="http://sourceforge.net/projects/libxml2-pas/";>Pascal bindings</a></li><li><a 
href="http://libxml.rubyforge.org/";>Ruby bindings</a>
 </li><li><a href="http://tclxml.sourceforge.net/";>Tcl bindings</a></li><li><a 
href="https://gitlab.gnome.org/GNOME/libxml2/issues";>Bug 
Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table 
border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" 
cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" 
width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a 
href="libxml-DOCBparser.html">DOCBparser</a>: old DocBook SGML parser</li><li><a 
href="libxml-HTMLparser.html">HTMLparser</a>: interface for an HTML 4.0 non-verifying parser</li><li><a 
href="libxml-HTMLtree.html">HTMLtree</a>: specific APIs to process HTML tree, especially 
serialization</li><li><a href="libxml-SAX.html">SAX</a>: Old SAX version 1 handler, deprecated</li><li><a 
href="libxml-SAX2.html">SAX2</a>: SAX2 parser interface used to build the DOM tree</li><li><a href=
 "libxml-c14n.html">c14n</a>: Provide Canonical XML and Exclusive XML Canonicalization</li><li><a 
href="libxml-catalog.html">catalog</a>: interfaces to the Catalog handling system</li><li><a 
href="libxml-chvalid.html">chvalid</a>: Unicode character range checking</li><li><a 
href="libxml-debugXML.html">debugXML</a>: Tree debugging APIs</li><li><a href="libxml-dict.html">dict</a>: 
string dictionary</li><li><a href="libxml-encoding.html">encoding</a>: interface for the encoding conversion 
functions</li><li><a href="libxml-entities.html">entities</a>: interface for the XML entities 
handling</li><li><a href="libxml-globals.html">globals</a>: interface for all global variables of the 
library</li><li><a href="libxml-hash.html">hash</a>: Chained hash tables</li><li><a 
href="libxml-list.html">list</a>: lists interfaces</li><li><a href="libxml-nanoftp.html">nanoftp</a>: minimal 
FTP implementation</li><li><a href="libxml-nanohttp.html">nanohttp</a>: minimal HTTP 
implementation</li><li><a href="
 libxml-parser.html">parser</a>: the core parser module</li><li><a 
href="libxml-parserInternals.html">parserInternals</a>: internals routines and limits exported by the 
parser.</li><li><a href="libxml-pattern.html">pattern</a>: pattern expression handling</li><li><a 
href="libxml-relaxng.html">relaxng</a>: implementation of the Relax-NG validation</li><li><a 
href="libxml-schemasInternals.html">schemasInternals</a>: internal interfaces for XML Schemas</li><li><a 
href="libxml-schematron.html">schematron</a>: XML Schemastron implementation</li><li><a 
href="libxml-threads.html">threads</a>: interfaces for thread handling</li><li><a 
href="libxml-tree.html">tree</a>: interfaces for tree manipulation</li><li><a href="libxml-uri.html">uri</a>: 
library of generic URI related routines</li><li><a href="libxml-valid.html">valid</a>: The DTD 
validation</li><li><a href="libxml-xinclude.html">xinclude</a>: implementation of XInclude</li><li><a 
href="libxml-xlink.html">xlink</a>: unfinished XLink det
 ection module</li><li><a href="libxml-xmlIO.html">xmlIO</a>: interface for the I/O interfaces used by the 
parser</li><li><a href="libxml-xmlautomata.html">xmlautomata</a>: API to build regexp automata</li><li><a 
href="libxml-xmlerror.html">xmlerror</a>: error handling</li><li><a 
href="libxml-xmlexports.html">xmlexports</a>: macros for marking symbols as exportable/importable.</li><li><a 
href="libxml-xmlmemory.html">xmlmemory</a>: interface for the memory allocator</li><li><a 
href="libxml-xmlmodule.html">xmlmodule</a>: dynamic module loading</li><li><a 
href="libxml-xmlreader.html">xmlreader</a>: the XMLReader implementation</li><li><a 
href="libxml-xmlregexp.html">xmlregexp</a>: regular expressions handling</li><li><a 
href="libxml-xmlsave.html">xmlsave</a>: the XML document serializer</li><li><a 
href="libxml-xmlschemas.html">xmlschemas</a>: incomplete XML Schemas structure implementation</li><li><a 
href="libxml-xmlschemastypes.html">xmlschemastypes</a>: implementation of XML Schema Da
 tatypes</li><li><a href="libxml-xmlstring.html">xmlstring</a>: set of routines to process strings</li><li><a 
href="libxml-xmlunicode.html">xmlunicode</a>: Unicode character APIs</li><li><a 
href="libxml-xmlversion.html">xmlversion</a>: compile-time version information</li><li><a 
href="libxml-xmlwriter.html">xmlwriter</a>: text writing API for XML</li><li><a 
href="libxml-xpath.html">xpath</a>: XML Path Language implementation</li><li><a 
href="libxml-xpathInternals.html">xpathInternals</a>: internal interfaces for XML Path Language 
implementation</li><li><a href="libxml-xpointer.html">xpointer</a>: API to handle XML Pointers</li></ul><p><a 
href="../bugs.html">Daniel 
Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-nanoftp.html b/doc/html/libxml-nanoftp.html
index 3e3ac628..d389630f 100644
--- a/doc/html/libxml-nanoftp.html
+++ b/doc/html/libxml-nanoftp.html
@@ -50,45 +50,45 @@ void        ftpListCallback                 (void * userData, <br />                      
                   const char * filename, <br
 <h3><a name="xmlNanoFTPCheckResponse" id="xmlNanoFTPCheckResponse"></a>Function: 
xmlNanoFTPCheckResponse</h3><pre class="programlisting">int   xmlNanoFTPCheckResponse         (void * ctx)<br 
/>
 </pre><p>Check if there is a response from the FTP server after a command.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the code number, or 
0</td></tr></tbody></table></div><h3><a name="xmlNanoFTPCleanup" id="xmlNanoFTPCleanup"></a>Function: 
xmlNanoFTPCleanup</h3><pre class="programlisting">void      xmlNanoFTPCleanup               (void)<br />
-</pre><p>Cleanup the FTP protocol layer. This cleanup proxy informations.</p>
+</pre><p>Cleanup the FTP protocol layer. This cleanup proxy information.</p>
 <h3><a name="xmlNanoFTPClose" id="xmlNanoFTPClose"></a>Function: xmlNanoFTPClose</h3><pre 
class="programlisting">int   xmlNanoFTPClose                 (void * ctx)<br />
 </pre><p>Close the connection and both control and transport</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 incase of error, 0 
otherwise</td></tr></tbody></table></div><h3><a name="xmlNanoFTPCloseConnection" 
id="xmlNanoFTPCloseConnection"></a>Function: xmlNanoFTPCloseConnection</h3><pre class="programlisting">int    
 xmlNanoFTPCloseConnection       (void * ctx)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 
otherwise</td></tr></tbody></table></div><h3><a name="xmlNanoFTPCloseConnection" 
id="xmlNanoFTPCloseConnection"></a>Function: xmlNanoFTPCloseConnection</h3><pre class="programlisting">int    
xmlNanoFTPCloseConnection       (void * ctx)<br />
 </pre><p>Close the data connection from the server</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 incase of error, 0 
otherwise</td></tr></tbody></table></div><h3><a name="xmlNanoFTPConnect" id="xmlNanoFTPConnect"></a>Function: 
xmlNanoFTPConnect</h3><pre class="programlisting">int     xmlNanoFTPConnect               (void * ctx)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 
otherwise</td></tr></tbody></table></div><h3><a name="xmlNanoFTPConnect" id="xmlNanoFTPConnect"></a>Function: 
xmlNanoFTPConnect</h3><pre class="programlisting">int    xmlNanoFTPConnect               (void * ctx)<br />
 </pre><p>Tries to open a control connection</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 
otherwise</td></tr></tbody></table></div><h3><a name="xmlNanoFTPConnectTo" 
id="xmlNanoFTPConnectTo"></a>Function: xmlNanoFTPConnectTo</h3><pre class="programlisting">void *   
xmlNanoFTPConnectTo             (const char * server, <br />                                     int port)<br 
/>
 </pre><p>Tries to open a control connection to the given server/port</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>server</tt></i>:</span></td><td>an FTP server name</td></tr><tr><td><span 
class="term"><i><tt>port</tt></i>:</span></td><td>the port (use 21 if 0)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>an fTP context or NULL if it 
failed</td></tr></tbody></table></div><h3><a name="xmlNanoFTPCwd" id="xmlNanoFTPCwd"></a>Function: 
xmlNanoFTPCwd</h3><pre class="programlisting">int      xmlNanoFTPCwd                   (void * ctx, <br />    
                                  const char * directory)<br />
 </pre><p>Tries to change the remote directory</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>directory</tt></i>:</span></td><td>a directory on the server</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 incase of error, 1 if CWD worked, 0 if it 
failed</td></tr></tbody></table></div><h3><a name="xmlNanoFTPDele" id="xmlNanoFTPDele"></a>Function: 
xmlNanoFTPDele</h3><pre class="programlisting">int  xmlNanoFTPDele                  (void * ctx, <br />       
                               const char * file)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>directory</tt></i>:</span></td><td>a directory on the server</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 1 if CWD worked, 0 if it 
failed</td></tr></tbody></table></div><h3><a name="xmlNanoFTPDele" id="xmlNanoFTPDele"></a>Function: 
xmlNanoFTPDele</h3><pre class="programlisting">int xmlNanoFTPDele                  (void * ctx, <br />        
                              const char * file)<br />
 </pre><p>Tries to delete an item (file or directory) from server</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>file</tt></i>:</span></td><td>a file or directory on the server</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 incase of error, 1 if DELE worked, 0 if it 
failed</td></tr></tbody></table></div><h3><a name="xmlNanoFTPFreeCtxt" id="xmlNanoFTPFreeCtxt"></a>Function: 
xmlNanoFTPFreeCtxt</h3><pre class="programlisting">void xmlNanoFTPFreeCtxt              (void * ctx)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>file</tt></i>:</span></td><td>a file or directory on the server</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 1 if DELE worked, 0 if it 
failed</td></tr></tbody></table></div><h3><a name="xmlNanoFTPFreeCtxt" id="xmlNanoFTPFreeCtxt"></a>Function: 
xmlNanoFTPFreeCtxt</h3><pre class="programlisting">void        xmlNanoFTPFreeCtxt              (void * 
ctx)<br />
 </pre><p>Frees the context after closing the connection.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr></tbody></table></div><h3><a 
name="xmlNanoFTPGet" id="xmlNanoFTPGet"></a>Function: xmlNanoFTPGet</h3><pre class="programlisting">int     
xmlNanoFTPGet                   (void * ctx, <br />                                      <a 
href="libxml-nanoftp.html#ftpDataCallback">ftpDataCallback</a> callback, <br />                               
       void * userData, <br />                                         const char * filename)<br />
 </pre><p>Fetch the given file from the server. All data are passed back in the callbacks. The last callback 
has a size of 0 block.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>callback</tt></i>:</span></td><td>the user callback</td></tr><tr><td><span 
class="term"><i><tt>userData</tt></i>:</span></td><td>the user callback data</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the file to retrieve</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 incase of error, 0 
otherwise</td></tr></tbody></table></div><h3><a name="xmlNanoFTPGetConnection" 
id="xmlNanoFTPGetConnection"></a>Function: xmlNanoFTPGetConnection</h3><pre class="programlisting"><a 
href="libxml-nanoftp.html#SOCKET">SOCKET</a>  xmlNanoFTPGetConnection         (void * ctx)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>callback</tt></i>:</span></td><td>the user callback</td></tr><tr><td><span 
class="term"><i><tt>userData</tt></i>:</span></td><td>the user callback data</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the file to retrieve</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 
otherwise</td></tr></tbody></table></div><h3><a name="xmlNanoFTPGetConnection" 
id="xmlNanoFTPGetConnection"></a>Function: xmlNanoFTPGetConnection</h3><pre class="programlisting"><a 
href="libxml-nanoftp.html#SOCKET">SOCKET</a> xmlNanoFTPGetConnection         (void * ctx)<br />
 </pre><p>Try to open a data connection to the server. Currently only passive mode is supported.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 incase of error, 0 
otherwise</td></tr></tbody></table></div><h3><a name="xmlNanoFTPGetResponse" 
id="xmlNanoFTPGetResponse"></a>Function: xmlNanoFTPGetResponse</h3><pre class="programlisting">int 
xmlNanoFTPGetResponse           (void * ctx)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 
otherwise</td></tr></tbody></table></div><h3><a name="xmlNanoFTPGetResponse" 
id="xmlNanoFTPGetResponse"></a>Function: xmlNanoFTPGetResponse</h3><pre class="programlisting">int        
xmlNanoFTPGetResponse           (void * ctx)<br />
 </pre><p>Get the response from the FTP server after a command.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the code number</td></tr></tbody></table></div><h3><a 
name="xmlNanoFTPGetSocket" id="xmlNanoFTPGetSocket"></a>Function: xmlNanoFTPGetSocket</h3><pre 
class="programlisting"><a href="libxml-nanoftp.html#SOCKET">SOCKET</a>   xmlNanoFTPGetSocket             
(void * ctx, <br />                                      const char * filename)<br />
 </pre><p>Initiate fetch of the given file from the server.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the file to retrieve (or NULL if path is in 
context).</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the socket for the data 
connection, or &lt;0 in case of error</td></tr></tbody></table></div><h3><a name="xmlNanoFTPInit" 
id="xmlNanoFTPInit"></a>Function: xmlNanoFTPInit</h3><pre class="programlisting">void    xmlNanoFTPInit       
           (void)<br />
-</pre><p>Initialize the FTP protocol layer. Currently it just checks for proxy informations, and get the 
hostname</p>
+</pre><p>Initialize the FTP protocol layer. Currently it just checks for proxy information, and get the 
hostname</p>
 <h3><a name="xmlNanoFTPList" id="xmlNanoFTPList"></a>Function: xmlNanoFTPList</h3><pre 
class="programlisting">int      xmlNanoFTPList                  (void * ctx, <br />                           
           <a href="libxml-nanoftp.html#ftpListCallback">ftpListCallback</a> callback, <br />                 
                     void * userData, <br />                                         const char * 
filename)<br />
 </pre><p>Do a listing on the server. All files info are passed back in the callbacks.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>callback</tt></i>:</span></td><td>the user callback</td></tr><tr><td><span 
class="term"><i><tt>userData</tt></i>:</span></td><td>the user callback data</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>optional files to list</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 incase of error, 0 
otherwise</td></tr></tbody></table></div><h3><a name="xmlNanoFTPNewCtxt" id="xmlNanoFTPNewCtxt"></a>Function: 
xmlNanoFTPNewCtxt</h3><pre class="programlisting">void *   xmlNanoFTPNewCtxt               (const char * 
URL)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>callback</tt></i>:</span></td><td>the user callback</td></tr><tr><td><span 
class="term"><i><tt>userData</tt></i>:</span></td><td>the user callback data</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>optional files to list</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 
otherwise</td></tr></tbody></table></div><h3><a name="xmlNanoFTPNewCtxt" id="xmlNanoFTPNewCtxt"></a>Function: 
xmlNanoFTPNewCtxt</h3><pre class="programlisting">void *  xmlNanoFTPNewCtxt               (const char * 
URL)<br />
 </pre><p>Allocate and initialize a new FTP context.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>The URL used to initialize the 
context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an FTP context or NULL in 
case of error.</td></tr></tbody></table></div><h3><a name="xmlNanoFTPOpen" id="xmlNanoFTPOpen"></a>Function: 
xmlNanoFTPOpen</h3><pre class="programlisting">void *  xmlNanoFTPOpen                  (const char * URL)<br 
/>
 </pre><p>Start to fetch the given ftp:// resource</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the URL to the resource</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>an FTP context, or 
NULL</td></tr></tbody></table></div><h3><a name="xmlNanoFTPProxy" id="xmlNanoFTPProxy"></a>Function: 
xmlNanoFTPProxy</h3><pre class="programlisting">void xmlNanoFTPProxy                 (const char * host, <br 
/>                                       int port, <br />                                        const char * 
user, <br />                                       const char * passwd, <br />                                
     int type)<br />
-</pre><p>Setup the FTP proxy informations. This can also be done by using ftp_proxy ftp_proxy_user and 
ftp_proxy_password environment variables.</p>
+</pre><p>Setup the FTP proxy information. This can also be done by using ftp_proxy ftp_proxy_user and 
ftp_proxy_password environment variables.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>host</tt></i>:</span></td><td>the proxy host name</td></tr><tr><td><span 
class="term"><i><tt>port</tt></i>:</span></td><td>the proxy port</td></tr><tr><td><span 
class="term"><i><tt>user</tt></i>:</span></td><td>the proxy user name</td></tr><tr><td><span 
class="term"><i><tt>passwd</tt></i>:</span></td><td>the proxy password</td></tr><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the type of proxy 1 for using SITE, 2 for USER 
a@b</td></tr></tbody></table></div><h3><a name="xmlNanoFTPQuit" id="xmlNanoFTPQuit"></a>Function: 
xmlNanoFTPQuit</h3><pre class="programlisting">int     xmlNanoFTPQuit                  (void * ctx)<br />
 </pre><p>Send a QUIT command to the server</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 
otherwise</td></tr></tbody></table></div><h3><a name="xmlNanoFTPRead" id="xmlNanoFTPRead"></a>Function: 
xmlNanoFTPRead</h3><pre class="programlisting">int     xmlNanoFTPRead                  (void * ctx, <br />    
                                  void * dest, <br />                                     int len)<br />
 </pre><p>This function tries to read @len bytes from the existing FTP connection and saves them in @dest. 
This is a blocking call.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the FTP context</td></tr><tr><td><span 
class="term"><i><tt>dest</tt></i>:</span></td><td>a buffer</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the buffer length</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte read. 0 is an indication of an end of 
connection. -1 indicates a parameter error.</td></tr></tbody></table></div><h3><a name="xmlNanoFTPScanProxy" 
id="xmlNanoFTPScanProxy"></a>Function: xmlNanoFTPScanProxy</h3><pre class="programlisting">void    
xmlNanoFTPScanProxy             (const char * URL)<br />
-</pre><p>(Re)Initialize the FTP Proxy context by parsing the URL and finding the protocol host port it 
indicates. Should be like ftp://myproxy/ or ftp://myproxy:3128/ A NULL URL cleans up proxy informations.</p>
+</pre><p>(Re)Initialize the FTP Proxy context by parsing the URL and finding the protocol host port it 
indicates. Should be like ftp://myproxy/ or ftp://myproxy:3128/ A NULL URL cleans up proxy information.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>The proxy URL used to initialize the proxy 
context</td></tr></tbody></table></div><h3><a name="xmlNanoFTPUpdateURL" 
id="xmlNanoFTPUpdateURL"></a>Function: xmlNanoFTPUpdateURL</h3><pre class="programlisting">int       
xmlNanoFTPUpdateURL             (void * ctx, <br />                                      const char * URL)<br 
/>
 </pre><p>Update an FTP context by parsing the URL and finding new path it indicates. If there is an error in 
the protocol, hostname, port or other information, the error is raised. It indicates a new connection has to 
be established.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>The URL used to update the context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if Ok, -1 in case of error (other 
host).</td></tr></tbody></table></div><p><a href="../bugs.html">Daniel 
Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-nanohttp.html b/doc/html/libxml-nanohttp.html
index f507c142..28fcb20d 100644
--- a/doc/html/libxml-nanohttp.html
+++ b/doc/html/libxml-nanohttp.html
@@ -40,8 +40,8 @@ A:link, A:visited, A:active { text-decoration: underline }
 </pre><p>Provides the specified encoding if specified in the HTTP headers.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the specified encoding or NULL if not 
available</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPFetch" id="xmlNanoHTTPFetch"></a>Function: 
xmlNanoHTTPFetch</h3><pre class="programlisting">int      xmlNanoHTTPFetch                (const char * URL, 
<br />                                        const char * filename, <br />                                   
char ** contentType)<br />
 </pre><p>This function try to fetch the indicated resource via HTTP GET and save it's content in the 
file.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>The URL to load</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename where the content should be 
saved</td></tr><tr><td><span class="term"><i><tt>contentType</tt></i>:</span></td><td>if available the 
Content-Type information will be returned at that location</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 incase of success. The 
contentType, if provided must be freed by the caller</td></tr></tbody></table></div><h3><a 
name="xmlNanoHTTPInit" id="xmlNanoHTTPInit"></a>Function: xmlNanoHTTPInit</h3><pre 
class="programlisting">void    xmlNanoHTTPInit                 (void)<br />
-</pre><p>Initialize the HTTP protocol layer. Currently it just checks for proxy informations</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>The URL to load</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename where the content should be 
saved</td></tr><tr><td><span class="term"><i><tt>contentType</tt></i>:</span></td><td>if available the 
Content-Type information will be returned at that location</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 in case of success. The 
contentType, if provided must be freed by the caller</td></tr></tbody></table></div><h3><a 
name="xmlNanoHTTPInit" id="xmlNanoHTTPInit"></a>Function: xmlNanoHTTPInit</h3><pre 
class="programlisting">void   xmlNanoHTTPInit                 (void)<br />
+</pre><p>Initialize the HTTP protocol layer. Currently it just checks for proxy information</p>
 <h3><a name="xmlNanoHTTPMethod" id="xmlNanoHTTPMethod"></a>Function: xmlNanoHTTPMethod</h3><pre 
class="programlisting">void *  xmlNanoHTTPMethod               (const char * URL, <br />                      
                  const char * method, <br />                                     const char * input, <br />  
                                    char ** contentType, <br />                                     const 
char * headers, <br />                                    int ilen)<br />
 </pre><p>This function try to open a connection to the indicated resource via HTTP using the given @method, 
adding the given extra headers and the input buffer for the request content.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>The URL to load</td></tr><tr><td><span 
class="term"><i><tt>method</tt></i>:</span></td><td>the HTTP method to use</td></tr><tr><td><span 
class="term"><i><tt>input</tt></i>:</span></td><td>the input string if any</td></tr><tr><td><span 
class="term"><i><tt>contentType</tt></i>:</span></td><td>the Content-Type information IN and 
OUT</td></tr><tr><td><span class="term"><i><tt>headers</tt></i>:</span></td><td>the extra 
headers</td></tr><tr><td><span class="term"><i><tt>ilen</tt></i>:</span></td><td>input 
length</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL in case of failure, 
otherwise a request handler. The contentType, if provided must be freed by the 
caller</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPMethodRedir" 
id="xmlNanoHTTPMethodRedir"></a>Function: xmlNanoHTTPMethodRedir</h3><pre class="programlisting"
void *        xmlNanoHTTPMethodRedir          (const char * URL, <br />                                     
  const char * method, <br />                                     const char * input, <br />               
                      char ** contentType, <br />                                     char ** redir, <br 
/>                                   const char * headers, <br />                                    int 
ilen)<br />
@@ -60,6 +60,6 @@ A:link, A:visited, A:active { text-decoration: underline }
 </pre><p>Get the latest HTTP return code received</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the HTTP return code for the 
request.</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPSave" id="xmlNanoHTTPSave"></a>Function: 
xmlNanoHTTPSave</h3><pre class="programlisting">int   xmlNanoHTTPSave                 (void * ctxt, <br />    
                                 const char * filename)<br />
 </pre><p>This function saves the output of the HTTP transaction to a file It closes and free the context at 
the end</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename where the content should be 
saved</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 
incase of success.</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPScanProxy" 
id="xmlNanoHTTPScanProxy"></a>Function: xmlNanoHTTPScanProxy</h3><pre class="programlisting">void        
xmlNanoHTTPScanProxy            (const char * URL)<br />
-</pre><p>(Re)Initialize the HTTP Proxy context by parsing the URL and finding the protocol host port it 
indicates. Should be like http://myproxy/ or http://myproxy:3128/ A NULL URL cleans up proxy informations.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename where the content should be 
saved</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 in 
case of success.</td></tr></tbody></table></div><h3><a name="xmlNanoHTTPScanProxy" 
id="xmlNanoHTTPScanProxy"></a>Function: xmlNanoHTTPScanProxy</h3><pre class="programlisting">void       
xmlNanoHTTPScanProxy            (const char * URL)<br />
+</pre><p>(Re)Initialize the HTTP Proxy context by parsing the URL and finding the protocol host port it 
indicates. Should be like http://myproxy/ or http://myproxy:3128/ A NULL URL cleans up proxy information.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>The proxy URL used to initialize the proxy 
context</td></tr></tbody></table></div><p><a href="../bugs.html">Daniel 
Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-parser.html b/doc/html/libxml-parser.html
index d1c320e3..ea9ae265 100644
--- a/doc/html/libxml-parser.html
+++ b/doc/html/libxml-parser.html
@@ -20,6 +20,8 @@ A:link, A:visited, A:active { text-decoration: underline }
 </pre><pre class="programlisting">Enum <a href="#xmlParserOption">xmlParserOption</a>
 </pre><pre class="programlisting">Structure <a href="#xmlSAXHandlerV1">xmlSAXHandlerV1</a><br />struct 
_xmlSAXHandlerV1
 </pre><pre class="programlisting">Typedef <a href="libxml-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * 
<a name="xmlSAXHandlerV1Ptr" id="xmlSAXHandlerV1Ptr">xmlSAXHandlerV1Ptr</a>
+</pre><pre class="programlisting">Structure <a href="#xmlStartTag">xmlStartTag</a><br />struct _xmlStartTag
+The content of this structure is not made public by the API.
 </pre><pre class="programlisting">Function type: <a href="#attributeDeclSAXFunc">attributeDeclSAXFunc</a>
 void   <a href="#attributeDeclSAXFunc">attributeDeclSAXFunc</a>                (void * ctx, <br />           
                           const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * elem, <br />           
                             const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br />     
                               int type, <br />                                        int def, <br />        
                                 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, 
<br />                                        <a 
href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)
 </pre>
@@ -320,6 +322,8 @@ void        <a href="#xmlParserInputDeallocate">xmlParserInputDeallocate</a>        (<a 
href="
     <a href="libxml-parser.html#cdataBlockSAXFunc">cdataBlockSAXFunc</a>       cdataBlock
     <a href="libxml-parser.html#externalSubsetSAXFunc">externalSubsetSAXFunc</a>       externalSubset
     unsigned int       initialized
+}</pre><h3><a name="xmlStartTag" id="xmlStartTag">Structure xmlStartTag</a></h3><pre 
class="programlisting">Structure xmlStartTag<br />struct _xmlStartTag {
+The content of this structure is not made public by the API.
 }</pre><h3><a name="attributeDeclSAXFunc" id="attributeDeclSAXFunc"></a>Function type: 
attributeDeclSAXFunc</h3><pre class="programlisting">Function type: attributeDeclSAXFunc
 void   attributeDeclSAXFunc            (void * ctx, <br />                                      const <a 
href="libxml-xmlstring.html#xmlChar">xmlChar</a> * elem, <br />                                        const 
<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br />                                    int 
type, <br />                                        int def, <br />                                         
const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br />                              
          <a href="libxml-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)
 </pre><p>An <a href="libxml-SAX.html#attribute">attribute</a> definition has been parsed.</p><div 
class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>elem</tt></i>:</span></td><td>the name of the element</td></tr><tr><td><span 
class="term"><i><tt>fullname</tt></i>:</span></td><td>the <a href="libxml-SAX.html#attribute">attribute</a> 
name</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the <a 
href="libxml-SAX.html#attribute">attribute</a> type</td></tr><tr><td><span 
class="term"><i><tt>def</tt></i>:</span></td><td>the type of default value</td></tr><tr><td><span 
class="term"><i><tt>defaultValue</tt></i>:</span></td><td>the <a 
href="libxml-SAX.html#attribute">attribute</a> default value</td></tr><tr><td><span 
class="term"><i><tt>tree</tt></i>:</span></td><td>the tree of enumerated value set</td></tr></tbody>
 </table></div><br />
@@ -343,7 +347,7 @@ void        endDocumentSAXFunc              (void * ctx)
 </pre><p>Called when the document end has been detected.</p><div class="variablelist"><table border="0"><col 
align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML 
parser context)</td></tr></tbody></table></div><br />
 <h3><a name="endElementNsSAX2Func" id="endElementNsSAX2Func"></a>Function type: 
endElementNsSAX2Func</h3><pre class="programlisting">Function type: endElementNsSAX2Func
 void   endElementNsSAX2Func            (void * ctx, <br />                                      const <a 
href="libxml-xmlstring.html#xmlChar">xmlChar</a> * localname, <br />                                   const 
<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />                                      
const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI)
-</pre><p>SAX2 callback when an element end has been detected by the parser. It provides the namespace 
informations for the element.</p><div class="variablelist"><table border="0"><col align="left" 
/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser 
context)</td></tr><tr><td><span class="term"><i><tt>localname</tt></i>:</span></td><td>the local name of the 
element</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the element namespace 
prefix if available</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the element 
namespace name if available</td></tr></tbody></table></div><br />
+</pre><p>SAX2 callback when an element end has been detected by the parser. It provides the namespace 
information for the element.</p><div class="variablelist"><table border="0"><col align="left" 
/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser 
context)</td></tr><tr><td><span class="term"><i><tt>localname</tt></i>:</span></td><td>the local name of the 
element</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>the element namespace 
prefix if available</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the element 
namespace name if available</td></tr></tbody></table></div><br />
 <h3><a name="endElementSAXFunc" id="endElementSAXFunc"></a>Function type: endElementSAXFunc</h3><pre 
class="programlisting">Function type: endElementSAXFunc
 void   endElementSAXFunc               (void * ctx, <br />                                      const <a 
href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
 </pre><p>Called when the end of an element has been detected.</p><div class="variablelist"><table 
border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the user 
data (XML parser context)</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>The 
element name</td></tr></tbody></table></div><br />
@@ -400,7 +404,7 @@ void        startDocumentSAXFunc            (void * ctx)
 </pre><p>Called when the document start being processed.</p><div class="variablelist"><table border="0"><col 
align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML 
parser context)</td></tr></tbody></table></div><br />
 <h3><a name="startElementNsSAX2Func" id="startElementNsSAX2Func"></a>Function type: 
startElementNsSAX2Func</h3><pre class="programlisting">Function type: startElementNsSAX2Func
 void   startElementNsSAX2Func          (void * ctx, <br />                                      const <a 
href="libxml-xmlstring.html#xmlChar">xmlChar</a> * localname, <br />                                   const 
<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br />                                      
const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URI, <br />                                       
  int nb_namespaces, <br />                                       const <a 
href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br />                                        
 int nb_attributes, <br />                                       int nb_defaulted, <br />                     
                   const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** attributes)
-</pre><p>SAX2 callback when an element start has been detected by the parser. It provides the namespace 
informations for the element, as well as the new namespace declarations on the element.</p><div 
class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>localname</tt></i>:</span></td><td>the local name of the element</td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>the element namespace prefix if 
available</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the element namespace name 
if available</td></tr><tr><td><span class="term"><i><tt>nb_namespaces</tt></i>:</span></td><td>number of 
namespace definitions on that node</td></tr><tr><td><span 
class="term"><i><tt>namespaces</tt></i>:</span></td><td>pointer to the array of prefix/URI pairs namespace 
definitions</td></tr><tr><td><span clas
 s="term"><i><tt>nb_attributes</tt></i>:</span></td><td>the number of attributes on that 
node</td></tr><tr><td><span class="term"><i><tt>nb_defaulted</tt></i>:</span></td><td>the number of defaulted 
attributes. The defaulted ones are at the end of the array</td></tr><tr><td><span 
class="term"><i><tt>attributes</tt></i>:</span></td><td>pointer to the array of 
(localname/prefix/URI/value/end) <a href="libxml-SAX.html#attribute">attribute</a> 
values.</td></tr></tbody></table></div><br />
+</pre><p>SAX2 callback when an element start has been detected by the parser. It provides the namespace 
information for the element, as well as the new namespace declarations on the element.</p><div 
class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>localname</tt></i>:</span></td><td>the local name of the element</td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>the element namespace prefix if 
available</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the element namespace name 
if available</td></tr><tr><td><span class="term"><i><tt>nb_namespaces</tt></i>:</span></td><td>number of 
namespace definitions on that node</td></tr><tr><td><span 
class="term"><i><tt>namespaces</tt></i>:</span></td><td>pointer to the array of prefix/URI pairs namespace 
definitions</td></tr><tr><td><span class
 ="term"><i><tt>nb_attributes</tt></i>:</span></td><td>the number of attributes on that 
node</td></tr><tr><td><span class="term"><i><tt>nb_defaulted</tt></i>:</span></td><td>the number of defaulted 
attributes. The defaulted ones are at the end of the array</td></tr><tr><td><span 
class="term"><i><tt>attributes</tt></i>:</span></td><td>pointer to the array of 
(localname/prefix/URI/value/end) <a href="libxml-SAX.html#attribute">attribute</a> 
values.</td></tr></tbody></table></div><br />
 <h3><a name="startElementSAXFunc" id="startElementSAXFunc"></a>Function type: startElementSAXFunc</h3><pre 
class="programlisting">Function type: startElementSAXFunc
 void   startElementSAXFunc             (void * ctx, <br />                                      const <a 
href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />                                        const 
<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** atts)
 </pre><p>Called when an opening tag has been processed.</p><div class="variablelist"><table border="0"><col 
align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML 
parser context)</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>The element name, 
including namespace prefix</td></tr><tr><td><span class="term"><i><tt>atts</tt></i>:</span></td><td>An array 
of name/value attributes pairs, NULL terminated</td></tr></tbody></table></div><br />
@@ -473,9 +477,9 @@ void        warningSAXFunc                  (void * ctx, <br />                           
           const char * msg, <br />                                        ...
 </pre><p>Allocate and initialize a new parser context.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> or NULL</td></tr></tbody></table></div><h3><a 
name="xmlParseBalancedChunkMemory" id="xmlParseBalancedChunkMemory"></a>Function: 
xmlParseBalancedChunkMemory</h3><pre class="programlisting">int xmlParseBalancedChunkMemory     (<a 
href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />                                  <a 
href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />                                    
void * user_data, <br />                                        int depth, <br />                             
          const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * string, <br />                          
            <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br />
 </pre><p>Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the 
Well Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= 
(element | CharData | Reference | CDSect | PI | Comment)*</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document the chunk pertains to</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>Returns</tt></i>:</span></td><td>0 if the chunk is well balanced, -1 in case of args 
problem and the parser error code otherwise</td></tr></tbody></table></div><h3><a name="xmlParseBalanced
 ChunkMemoryRecover" id="xmlParseBalancedChunkMemoryRecover"></a>Function: 
xmlParseBalancedChunkMemoryRecover</h3><pre class="programlisting">int       
xmlParseBalancedChunkMemoryRecover      (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />       
                                   <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br 
/>                                            void * user_data, <br />                                        
        int depth, <br />                                               const <a 
href="libxml-xmlstring.html#xmlChar">xmlChar</a> * string, <br />                                             
 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> * lst, <br />                                           
   int recover)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document the chunk pertains to (must not be 
NULL)</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block (possibly 
NULL)</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on 
SAX callbacks (possibly NULL)</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>Used 
for loop detection, use 0</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>the 
input string in UTF8 or ISO-Latin (zero terminated)</td></tr><tr><td><span 
class="term"><i><tt>lst</tt></i>:</span></td><td>the return value for the set of parsed 
nodes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the chunk is well 
balanced, -1 in case of args problem and the parser error code 
otherwise</td></tr></tbody></table></div><h3><a na
 me="xmlParseBalancedChunkMemoryRecover" id="xmlParseBalancedChunkMemoryRecover"></a>Function: 
xmlParseBalancedChunkMemoryRecover</h3><pre class="programlisting">int   xmlParseBalancedChunkMemoryRecover   
   (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />                                          
<a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />                                  
          void * user_data, <br />                                                int depth, <br />           
                                    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * string, <br 
/>                                              <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> * lst, 
<br />                                              int recover)<br />
 </pre><p>Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the 
Well Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= 
(element | CharData | Reference | CDSect | PI | Comment)*</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document the chunk pertains to</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"><i><tt>Returns</tt></i>:</span></td><td>0 if the chunk is well 
balanced,
  -1 in case of args problem and the parser error code otherwise In case recover is set to 1, the nodelist 
will not be empty even if the parsed chunk is not well balanced, assuming the parsing succeeded to some 
extent.</td></tr></tbody></table></div><h3><a name="xmlParseChunk" id="xmlParseChunk"></a>Function: 
xmlParseChunk</h3><pre class="programlisting">int        xmlParseChunk                   (<a 
href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />                                   
const char * chunk, <br />                                      int size, <br />                              
          int terminate)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document the chunk pertains to (must not be 
NULL)</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block (possibly 
NULL)</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on 
SAX callbacks (possibly NULL)</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>Used 
for loop detection, use 0</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>the 
input string in UTF8 or ISO-Latin (zero terminated)</td></tr><tr><td><span 
class="term"><i><tt>lst</tt></i>:</span></td><td>the return value for the set of parsed 
nodes</td></tr><tr><td><span class="term"><i><tt>recover</tt></i>:</span></td><td>return nodes even if the 
data is broken (use 0)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the 
chu
 nk is well balanced, -1 in case of args problem and the parser error code otherwise In case recover is set 
to 1, the nodelist will not be empty even if the parsed chunk is not well balanced, assuming the parsing 
succeeded to some extent.</td></tr></tbody></table></div><h3><a name="xmlParseChunk" 
id="xmlParseChunk"></a>Function: xmlParseChunk</h3><pre class="programlisting">int    xmlParseChunk           
        (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />                        
           const char * chunk, <br />                                      int size, <br />                   
                     int terminate)<br />
 </pre><p>Parse a Chunk of memory</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>chunk</tt></i>:</span></td><td>an char array</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>the size in byte of the chunk</td></tr><tr><td><span 
class="term"><i><tt>terminate</tt></i>:</span></td><td>last chunk indicator</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>zero if no error, the <a 
href="libxml-xmlerror.html#xmlParserErrors">xmlParserErrors</a> 
otherwise.</td></tr></tbody></table></div><h3><a name="xmlParseCtxtExternalEntity" 
id="xmlParseCtxtExternalEntity"></a>Function: xmlParseCtxtExternalEntity</h3><pre class="programlisting">int  
  xmlParseCtxtExternalEntity      (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br 
/>                                    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URL, <br /> 
                                        const 
 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ID, <br />                                        <a 
href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br />
 </pre><p>Parse an external general entity within an existing parsing context An external general parsed 
entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? 
content</p>
@@ -491,7 +495,7 @@ void        warningSAXFunc                  (void * ctx, <br />                           
           const char * msg, <br />                                        ...
 </pre><p>parse a general parsed entity An external general parsed entity is well-formed if it matches the 
production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0, -1 in case of error. the parser context is augmented 
as a result of the parsing.</td></tr></tbody></table></div><h3><a name="xmlParseExternalEntity" 
id="xmlParseExternalEntity"></a>Function: xmlParseExternalEntity</h3><pre class="programlisting">int  
xmlParseExternalEntity          (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />               
                   <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br />               
                     void * user_data, <br />                                        int depth, <br />        
                               const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * URL, <br />        
                                 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ID, <br />       
                           <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br />
 </pre><p>Parse an external general entity An external general parsed entity is well-formed if it matches the 
production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document the chunk pertains to</td></tr><tr><td><span 
class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler 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"><i><tt>Returns</tt></i>:</span></td><td>0 if the entity is 
well formed, -1 in case of args problem and the parser er
 ror code otherwise</td></tr></tbody></table></div><h3><a name="xmlParseFile" id="xmlParseFile"></a>Function: 
xmlParseFile</h3><pre class="programlisting"><a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>   
xmlParseFile            (const char * filename)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document the chunk pertains to</td></tr><tr><td><span 
class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block (possibly NULL)</td></tr><tr><td><span 
class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX callbacks (possibly 
NULL)</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>Used for loop detection, use 
0</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the URL for the entity to 
load</td></tr><tr><td><span class="term"><i><tt>ID</tt></i>:</span></td><td>the System ID for the entity to 
load</td></tr><tr><td><span class="term"><i><tt>lst</tt></i>:</span></td><td>the return value for the set of 
parsed nodes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the entity is 
well formed, -1 in case of args problem and the parser e
 rror code otherwise</td></tr></tbody></table></div><h3><a name="xmlParseFile" 
id="xmlParseFile"></a>Function: xmlParseFile</h3><pre class="programlisting"><a 
href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a>  xmlParseFile            (const char * filename)<br />
 </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>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree if the file was wellformed, 
NULL otherwise.</td></tr></tbody></table></div><h3><a name="xmlParseInNodeContext" 
id="xmlParseInNodeContext"></a>Function: xmlParseInNodeContext</h3><pre class="programlisting"><a 
href="libxml-xmlerror.html#xmlParserErrors">xmlParserErrors</a>       xmlParseInNodeContext   (<a 
href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />                                       const 
char * data, <br />                                       int datalen, <br />                                 
    int options, <br />                                     <a 
href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br />
 </pre><p>Parse a well-balanced chunk of an XML document within the context (DTD, namespaces, etc ...) of the 
given node. The allowed sequence for the data is a Well Balanced Chunk defined by the content production in 
the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
diff --git a/doc/html/libxml-parserInternals.html b/doc/html/libxml-parserInternals.html
index 357803e2..a56f142e 100644
--- a/doc/html/libxml-parserInternals.html
+++ b/doc/html/libxml-parserInternals.html
@@ -139,7 +139,7 @@ void        <a href="#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a>            (<a 
href="lib
 <h3><a name="htmlCreateFileParserCtxt" id="htmlCreateFileParserCtxt"></a>Function: 
htmlCreateFileParserCtxt</h3><pre class="programlisting"><a 
href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>   htmlCreateFileParserCtxt        
(const char * filename, <br />                                                   const char * encoding)<br />
 </pre><p>Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document 
is provided by default if found at compile-time.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document 
encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser 
context or NULL</td></tr></tbody></table></div><h3><a name="htmlInitAutoClose" 
id="htmlInitAutoClose"></a>Function: htmlInitAutoClose</h3><pre class="programlisting">void htmlInitAutoClose 
              (void)<br />
-</pre><p>Initialize the htmlStartCloseIndex for fast lookup of closing tags names. This is not reentrant. 
Call xmlInitParser() once before processing in case of use in multithreaded programs.</p>
+</pre><p>This is a no-op now.</p>
 <h3><a name="inputPop" id="inputPop"></a>Function: inputPop</h3><pre class="programlisting"><a 
href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> inputPop        (<a 
href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
 </pre><p>Pops the top parser input from the input stack</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the input just 
removed</td></tr></tbody></table></div><h3><a name="inputPush" id="inputPush"></a>Function: 
inputPush</h3><pre class="programlisting">int      inputPush                       (<a 
href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />                                   
<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> value)<br />
@@ -175,7 +175,7 @@ void        xmlEntityReferenceFunc          (<a 
href="libxml-tree.html#xmlEntityPtr">xmlEntityP
 </pre><p>Callback function used when one needs to be able to track back the provenance of a chunk of nodes 
inherited from an entity replacement.</p><div class="variablelist"><table border="0"><col align="left" 
/><tbody><tr><td><span class="term"><i><tt>ent</tt></i>:</span></td><td>the entity</td></tr><tr><td><span 
class="term"><i><tt>firstNode</tt></i>:</span></td><td>the fist node in the chunk</td></tr><tr><td><span 
class="term"><i><tt>lastNode</tt></i>:</span></td><td>the last nod in the 
chunk</td></tr></tbody></table></div><br />
 <h3><a name="xmlErrMemory" id="xmlErrMemory"></a>Function: xmlErrMemory</h3><pre class="programlisting">void 
  xmlErrMemory                    (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br 
/>                                   const char * extra)<br />
 </pre><p>Handle a redefinition of <a href="libxml-SAX.html#attribute">attribute</a> error</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>extra</tt></i>:</span></td><td>extra informations</td></tr></tbody></table></div><h3><a 
name="xmlFreeInputStream" id="xmlFreeInputStream"></a>Function: xmlFreeInputStream</h3><pre 
class="programlisting">void        xmlFreeInputStream              (<a 
href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>extra</tt></i>:</span></td><td>extra information</td></tr></tbody></table></div><h3><a 
name="xmlFreeInputStream" id="xmlFreeInputStream"></a>Function: xmlFreeInputStream</h3><pre 
class="programlisting">void xmlFreeInputStream              (<a 
href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br />
 </pre><p>Free up an input stream.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>input</tt></i>:</span></td><td>an <a 
href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a></td></tr></tbody></table></div><h3><a 
name="xmlHandleEntity" id="xmlHandleEntity"></a>Function: xmlHandleEntity</h3><pre 
class="programlisting">void     xmlHandleEntity                 (<a 
href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />                                   
<a href="libxml-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity)<br />
 </pre><p>Default handling of defined entities, when should we define a new input stream ? When do we just 
handle that as a set of chars ? OBSOLETE: to be removed at some point.</p>
@@ -214,7 +214,7 @@ void        xmlEntityReferenceFunc          (<a 
href="libxml-tree.html#xmlEntityPtr">xmlEntityP
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the value parsed (as an int), 0 in case of 
error</td></tr></tbody></table></div><h3><a name="xmlParseComment" id="xmlParseComment"></a>Function: 
xmlParseComment</h3><pre class="programlisting">void xmlParseComment                 (<a 
href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
 </pre><p>Skip an XML (SGML) <a href="libxml-SAX.html#comment">comment</a> &lt;!-- .... --&gt; The spec says 
that "For compatibility, the string "--" (double-hyphen) must not occur within comments. " [15] Comment ::= 
'&lt;!--' ((Char - '-') | ('-' (Char - '-')))* '--&gt;'</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a 
name="xmlParseContent" id="xmlParseContent"></a>Function: xmlParseContent</h3><pre 
class="programlisting">void      xmlParseContent                 (<a 
href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
-</pre><p>Parse a content: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
+</pre><p>Parse a content sequence. Stops at EOF or '&lt;/'. [43] content ::= (element | CharData | Reference 
| CDSect | PI | Comment)*</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a 
name="xmlParseDefaultDecl" id="xmlParseDefaultDecl"></a>Function: xmlParseDefaultDecl</h3><pre 
class="programlisting">int   xmlParseDefaultDecl             (<a 
href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br />                                   
<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** value)<br />
 </pre><p>Parse an <a href="libxml-SAX.html#attribute">attribute</a> default declaration [60] DefaultDecl ::= 
'#REQUIRED' | '#IMPLIED' | (('#FIXED' S)? AttValue) [ VC: Required Attribute ] if the default declaration is 
the keyword #REQUIRED, then the <a href="libxml-SAX.html#attribute">attribute</a> must be specified for all 
elements of the type in the attribute-list declaration. [ VC: Attribute Default Legal ] The declared default 
value must meet the lexical constraints of the declared <a href="libxml-SAX.html#attribute">attribute</a> 
type c.f. xmlValidateAttributeDecl() [ VC: Fixed Attribute Default ] if an <a 
href="libxml-SAX.html#attribute">attribute</a> has a default value declared with the #FIXED keyword, 
instances of that <a href="libxml-SAX.html#attribute">attribute</a> must match the default value. [ WFC: No 
&lt; in Attribute Values ] handled in xmlParseAttValue()</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>Receive a possible fixed default value for the <a 
href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>XML_ATTRIBUTE_NONE, XML_ATTRIBUTE_REQUIRED, <a 
href="libxml-tree.html#XML_ATTRIBUTE_IMPLIED">XML_ATTRIBUTE_IMPLIED</a> or 
XML_ATTRIBUTE_FIXED.</td></tr></tbody></table></div><h3><a name="xmlParseDocTypeDecl" 
id="xmlParseDocTypeDecl"></a>Function: xmlParseDocTypeDecl</h3><pre class="programlisting">void    
xmlParseDocTypeDecl             (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br />
diff --git a/doc/html/libxml-relaxng.html b/doc/html/libxml-relaxng.html
index 28341106..a55c8978 100644
--- a/doc/html/libxml-relaxng.html
+++ b/doc/html/libxml-relaxng.html
@@ -120,7 +120,7 @@ The content of this structure is not made public by the API.
 <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><h3><a name="xmlRelaxNGGetParserErrors" 
id="xmlRelaxNGGetParserErrors"></a>Function: xmlRelaxNGGetParserErrors</h3><pre class="programlisting">int 
xmlRelaxNGGetParserErrors       (<a 
href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br />                   
               <a href="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * 
err, <br />                                         <a 
href="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br />     
                               void ** ctx)<br />
 </pre><p>Get the callback information used to handle errors for a validation context</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span 
class="term"><i><tt>err</tt></i>:</span></td><td>the error callback result</td></tr><tr><td><span 
class="term"><i><tt>warn</tt></i>:</span></td><td>the warning callback result</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the callbacks 
result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 
otherwise.</td></tr></tbody></table></div><h3><a name="xmlRelaxNGGetValidErrors" 
id="xmlRelaxNGGetValidErrors"></a>Function: xmlRelaxNGGetValidErrors</h3><pre class="programlisting">int    
xmlRelaxNGGetValidErrors        (<a 
href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br />                     
               <a href="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> * 
err, <br />                                         
 <a href="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> * warn, <br /> 
                                   void ** ctx)<br />
-</pre><p>Get the error and warning callback informations</p>
+</pre><p>Get the error and warning callback information</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span 
class="term"><i><tt>err</tt></i>:</span></td><td>the error function result</td></tr><tr><td><span 
class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function result</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context result</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error and 0 
otherwise</td></tr></tbody></table></div><h3><a name="xmlRelaxNGInitTypes" 
id="xmlRelaxNGInitTypes"></a>Function: xmlRelaxNGInitTypes</h3><pre class="programlisting">int       
xmlRelaxNGInitTypes             (void)<br />
 </pre><p>Initialize the default type libraries.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of 
error.</td></tr></tbody></table></div><h3><a name="xmlRelaxNGNewDocParserCtxt" 
id="xmlRelaxNGNewDocParserCtxt"></a>Function: xmlRelaxNGNewDocParserCtxt</h3><pre class="programlisting"><a 
href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>     xmlRelaxNGNewDocParserCtxt 
     (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
@@ -138,7 +138,7 @@ The content of this structure is not made public by the API.
 <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><h3><a name="xmlRelaxNGSetParserStructuredErrors" 
id="xmlRelaxNGSetParserStructuredErrors"></a>Function: xmlRelaxNGSetParserStructuredErrors</h3><pre 
class="programlisting">void       xmlRelaxNGSetParserStructuredErrors     (<a 
href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br />                   
                       <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> 
serror, <br />                                                 void * ctx)<br />
 </pre><p>Set the callback functions used to handle errors for a parsing context</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG parser context</td></tr><tr><td><span 
class="term"><i><tt>serror</tt></i>:</span></td><td>the error callback</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the 
callbacks</td></tr></tbody></table></div><h3><a name="xmlRelaxNGSetValidErrors" 
id="xmlRelaxNGSetValidErrors"></a>Function: xmlRelaxNGSetValidErrors</h3><pre class="programlisting">void     
  xmlRelaxNGSetValidErrors        (<a 
href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br />                     
               <a href="libxml-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, 
<br />                                   <a 
href="libxml-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br />       
                               void * ctx)<br />
-</pre><p>Set the error and warning callback informations</p>
+</pre><p>Set the error and warning callback information</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span 
class="term"><i><tt>err</tt></i>:</span></td><td>the error function</td></tr><tr><td><span 
class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div><h3><a 
name="xmlRelaxNGSetValidStructuredErrors" id="xmlRelaxNGSetValidStructuredErrors"></a>Function: 
xmlRelaxNGSetValidStructuredErrors</h3><pre class="programlisting">void      
xmlRelaxNGSetValidStructuredErrors      (<a 
href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br />                     
                       <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> 
serror, <br />                                                 void * ctx)<br />
 </pre><p>Set the structured error callback</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span 
class="term"><i><tt>serror</tt></i>:</span></td><td>the structured error function</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div><h3><a 
name="xmlRelaxNGValidateDoc" id="xmlRelaxNGValidateDoc"></a>Function: xmlRelaxNGValidateDoc</h3><pre 
class="programlisting">int      xmlRelaxNGValidateDoc           (<a 
href="libxml-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br />                     
               <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
@@ -158,5 +158,5 @@ void        xmlRelaxNGValidityErrorFunc     (void * ctx, <br />                           
           const char * msg, <br
 void   xmlRelaxNGValidityWarningFunc   (void * ctx, <br />                                      const char * 
msg, <br />                                        ... ...)
 </pre><p>Signature of a warning callback from a Relax-NG validation</p><div class="variablelist"><table 
border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the 
validation context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the 
message</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra 
arguments</td></tr></tbody></table></div><br />
 <h3><a name="xmlRelaxParserSetFlag" id="xmlRelaxParserSetFlag"></a>Function: xmlRelaxParserSetFlag</h3><pre 
class="programlisting">int xmlRelaxParserSetFlag           (<a 
href="libxml-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br />                   
               int flags)<br />
-</pre><p>Semi private function used to pass informations to a parser context which are a combination of <a 
href="libxml-relaxng.html#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a> .</p>
+</pre><p>Semi private function used to pass information to a parser context which are a combination of <a 
href="libxml-relaxng.html#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a> .</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a RelaxNG parser context</td></tr><tr><td><span 
class="term"><i><tt>flags</tt></i>:</span></td><td>a set of flags values</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if success and -1 in case of 
error</td></tr></tbody></table></div><p><a href="../bugs.html">Daniel 
Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-tree.html b/doc/html/libxml-tree.html
index e78af7b1..d6120bc3 100644
--- a/doc/html/libxml-tree.html
+++ b/doc/html/libxml-tree.html
@@ -253,7 +253,7 @@ The content of this structure is not made public by the API.
     struct _xmlDoc *   doc     : the containing document
     <a href="libxml-tree.html#xmlNs">xmlNs</a> *       ns      : pointer to the associated namespace
     <a href="libxml-tree.html#xmlAttributeType">xmlAttributeType</a>   atype   : the <a 
href="libxml-SAX.html#attribute">attribute</a> type if validating
-    void *     psvi    : for type/PSVI informations
+    void *     psvi    : for type/PSVI information
 }</pre><h3><a name="xmlAttribute" id="xmlAttribute">Structure xmlAttribute</a></h3><pre 
class="programlisting">Structure xmlAttribute<br />struct _xmlAttribute {
     void *     _private        : application data
     <a href="libxml-tree.html#xmlElementType">xmlElementType</a>       type    : XML_ATTRIBUTE_DECL, must be 
second !
@@ -334,7 +334,7 @@ The content of this structure is not made public by the API.
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *        URL     : The URI for that document
     int        charset : Internal flag for charset handling, act
     struct _xmlDict *  dict    : dict used to allocate names or NULL
-    void *     psvi    : for type/PSVI informations
+    void *     psvi    : for type/PSVI information
     int        parseFlags      : set of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a> 
used to parse th
     int        properties      : set of <a href="libxml-tree.html#xmlDocProperties">xmlDocProperties</a> for 
this docume
 }</pre><h3>Enum <a name="xmlDocProperties" id="xmlDocProperties">xmlDocProperties</a></h3><pre 
class="programlisting">Enum xmlDocProperties {
@@ -474,7 +474,7 @@ The content of this structure is not made public by the API.
     <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *      content : the content
     struct _xmlAttr *  properties      : properties list
     <a href="libxml-tree.html#xmlNs">xmlNs</a> *       nsDef   : namespace definitions on this node
-    void *     psvi    : for type/PSVI informations
+    void *     psvi    : for type/PSVI information
     unsigned short     line    : line number
     unsigned short     extra   : extra data for XPath/XSLT
 }</pre><h3><a name="xmlNotation" id="xmlNotation">Structure xmlNotation</a></h3><pre 
class="programlisting">Structure xmlNotation<br />struct _xmlNotation {
@@ -531,7 +531,7 @@ The content of this structure is not made public by the API.
     int        nameNr  : Depth of the parsing stack
     int        nameMax : Max depth of the parsing stack
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * *      nameTab : array of nodes
-    long       nbChars : number of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> processed
+    long       nbChars : unused
     long       checkIndex      : used by progressive parsing lookup
     int        keepBlanks      : ugly but ...
     int        disableSAX      : SAX callbacks are disabled
@@ -567,7 +567,7 @@ The content of this structure is not made public by the API.
     int        nsMax   : the size of the arrays
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * *      nsTab   : the array of 
prefix/namespace name
     int *      attallocs       : which <a href="libxml-SAX.html#attribute">attribute</a> were allocated
-    void * *   pushTab : array of data for push
+    <a href="libxml-parser.html#xmlStartTag">xmlStartTag</a> * pushTab : array of data for push
     <a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>     attsDefault     : defaulted 
attributes if any
     <a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>     attsSpecial     : non-CDATA 
attributes if any
     int        nsWellFormed    : is the document XML Namespace okay
@@ -576,7 +576,7 @@ The content of this structure is not made public by the API.
     int        freeElemsNr     : number of freed element nodes
     <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>       freeElems       : List of freed element nodes
     int        freeAttrsNr     : number of freed attributes nodes
-    <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>       freeAttrs       : * the complete error 
informations for th
+    <a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>       freeAttrs       : * the complete error 
information for the
     <a href="libxml-xmlerror.html#xmlError">xmlError</a>       lastError
     <a href="libxml-parser.html#xmlParserMode">xmlParserMode</a>       parseMode       : the parser mode
     unsigned long      nbentities      : number of entities references
@@ -851,7 +851,7 @@ The content of this structure is not made public by the API.
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>namespace if any</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the node name</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the XML text content if any</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node 
object.</td></tr></tbody></table></div><h3><a name="xmlNewDocPI" id="xmlNewDocPI"></a>Function: 
xmlNewDocPI</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>       
xmlNewDocPI             (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />                       
           const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />                           
             const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
 </pre><p>Creation of a processing instruction element.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the target document</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the processing instruction name</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the PI content</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node 
object.</td></tr></tbody></table></div><h3><a name="xmlNewDocProp" id="xmlNewDocProp"></a>Function: 
xmlNewDocProp</h3><pre class="programlisting"><a href="libxml-tree.html#xmlAttrPtr">xmlAttrPtr</a>     
xmlNewDocProp           (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />                       
           const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />                           
             const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
-</pre><p>Create a new property carried by a document.</p>
+</pre><p>Create a new property carried by a document. NOTE: @value is supposed to be a piece of XML CDATA, 
so it allows entity references, but XML special chars need to be escaped first by using 
xmlEncodeEntitiesReentrant(). Use xmlNewProp() if you don't need entities support.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the <a 
href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the value of the <a 
href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the <a 
href="libxml-SAX.html#attribute">attribute</a></td></tr></tbody></table></div><h3><a name="xmlNewDocRawNode" 
id="xmlNewDocRawNode"></a>Function: xmlNewDocRawNode</h3><pre class="programlisting"><a 
href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlNewDocRawNode        (<a 
href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />                                  <a 
href="libxml-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br />                                     const <a 
href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />                               
         const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
 </pre><p>Creation of a new node element within a document. @ns and @content are optional (NULL).</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>namespace if any</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the node name</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the text content if any</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node 
object.</td></tr></tbody></table></div><h3><a name="xmlNewDocText" id="xmlNewDocText"></a>Function: 
xmlNewDocText</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>     
xmlNewDocText           (const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc, <br />                     
                   const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * content)<br />
diff --git a/doc/html/libxml-xinclude.html b/doc/html/libxml-xinclude.html
index 5fcf09bd..1da27747 100644
--- a/doc/html/libxml-xinclude.html
+++ b/doc/html/libxml-xinclude.html
@@ -47,7 +47,7 @@ The content of this structure is not made public by the API.
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>an XML document</td></tr><tr><td><span 
class="term"><i><tt>flags</tt></i>:</span></td><td>a set of <a 
href="libxml-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML 
includes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution 
were done, -1 if some processing failed or the number of substitutions 
done.</td></tr></tbody></table></div><h3><a name="xmlXIncludeProcessFlagsData" 
id="xmlXIncludeProcessFlagsData"></a>Function: xmlXIncludeProcessFlagsData</h3><pre 
class="programlisting">int  xmlXIncludeProcessFlagsData     (<a 
href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />                                  int flags, <br 
/>                                       void * data)<br />
 </pre><p>Implement the XInclude substitution on the XML document @doc</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>an XML document</td></tr><tr><td><span 
class="term"><i><tt>flags</tt></i>:</span></td><td>a set of <a 
href="libxml-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML 
includes</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>application data that will 
be passed to the parser context in the _private field of the parser context(s)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing 
failed or the number of substitutions done.</td></tr></tbody></table></div><h3><a 
name="xmlXIncludeProcessNode" id="xmlXIncludeProcessNode"></a>Function: xmlXIncludeProcessNode</h3><pre 
class="programlisting">int      xmlXIncludeProcessNode          (<a 
href="libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br />                            
       <a href="libxml-tree.html#xmlNo
 dePtr">xmlNodePtr</a> node)<br />
-</pre><p>Implement the XInclude substitution for the given subtree reusing the informations and data coming 
from the given context.</p>
+</pre><p>Implement the XInclude substitution for the given subtree reusing the information and data coming 
from the given context.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an existing XInclude context</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>a node in an XML document</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing 
failed or the number of substitutions done.</td></tr></tbody></table></div><h3><a 
name="xmlXIncludeProcessTree" id="xmlXIncludeProcessTree"></a>Function: xmlXIncludeProcessTree</h3><pre 
class="programlisting">int  xmlXIncludeProcessTree          (<a 
href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree)<br />
 </pre><p>Implement the XInclude substitution for the given subtree</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>tree</tt></i>:</span></td><td>a node in an XML document</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing 
failed or the number of substitutions done.</td></tr></tbody></table></div><h3><a 
name="xmlXIncludeProcessTreeFlags" id="xmlXIncludeProcessTreeFlags"></a>Function: 
xmlXIncludeProcessTreeFlags</h3><pre class="programlisting">int xmlXIncludeProcessTreeFlags     (<a 
href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br />                                       int 
flags)<br />
diff --git a/doc/html/libxml-xmlIO.html b/doc/html/libxml-xmlIO.html
index a3118dfa..f3e57537 100644
--- a/doc/html/libxml-xmlIO.html
+++ b/doc/html/libxml-xmlIO.html
@@ -79,6 +79,7 @@ int   <a href="#xmlOutputWriteCallback">xmlOutputWriteCallback</a>            (void * contex
 <pre class="programlisting">int        <a href="#xmlParserInputBufferPush">xmlParserInputBufferPush</a>      
  (<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br />                  
                     int len, <br />                                         const char * buf)</pre>
 <pre class="programlisting">int        <a href="#xmlParserInputBufferRead">xmlParserInputBufferRead</a>      
  (<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br />                  
                     int len)</pre>
 <pre class="programlisting">int        <a href="#xmlPopInputCallbacks">xmlPopInputCallbacks</a>              
  (void)</pre>
+<pre class="programlisting">int        <a href="#xmlPopOutputCallbacks">xmlPopOutputCallbacks</a>            
  (void)</pre>
 <pre class="programlisting">void       <a 
href="#xmlRegisterDefaultInputCallbacks">xmlRegisterDefaultInputCallbacks</a>        (void)</pre>
 <pre class="programlisting">void       <a 
href="#xmlRegisterDefaultOutputCallbacks">xmlRegisterDefaultOutputCallbacks</a>      (void)</pre>
 <pre class="programlisting">void       <a 
href="#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a>        (void)</pre>
@@ -199,7 +200,9 @@ int xmlOutputWriteCallback          (void * context, <br />                               
   const char * buffer, <b
 </pre><p>Refresh the content of the input buffer, the old data are considered consumed This routine handle 
the I18N transcoding to internal UTF-8</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>in</tt></i>:</span></td><td>a buffered parser input</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>indicative value of the amount of chars to 
read</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars read and 
stored in the buffer, or -1 in case of error.</td></tr></tbody></table></div><h3><a 
name="xmlPopInputCallbacks" id="xmlPopInputCallbacks"></a>Function: xmlPopInputCallbacks</h3><pre 
class="programlisting">int xmlPopInputCallbacks            (void)<br />
 </pre><p>Clear the top input callback from the input stack. this includes the compiled-in I/O.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of input callback registered or -1 in case of 
error.</td></tr></tbody></table></div><h3><a name="xmlRegisterDefaultInputCallbacks" 
id="xmlRegisterDefaultInputCallbacks"></a>Function: xmlRegisterDefaultInputCallbacks</h3><pre 
class="programlisting">void      xmlRegisterDefaultInputCallbacks        (void)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of input callback registered or -1 in case of 
error.</td></tr></tbody></table></div><h3><a name="xmlPopOutputCallbacks" 
id="xmlPopOutputCallbacks"></a>Function: xmlPopOutputCallbacks</h3><pre class="programlisting">int        
xmlPopOutputCallbacks           (void)<br />
+</pre><p>Remove the top output callbacks from the output stack. This includes the compiled-in I/O.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of output callback registered or -1 in case 
of error.</td></tr></tbody></table></div><h3><a name="xmlRegisterDefaultInputCallbacks" 
id="xmlRegisterDefaultInputCallbacks"></a>Function: xmlRegisterDefaultInputCallbacks</h3><pre 
class="programlisting">void     xmlRegisterDefaultInputCallbacks        (void)<br />
 </pre><p>Registers the default compiled-in I/O handlers.</p>
 <h3><a name="xmlRegisterDefaultOutputCallbacks" id="xmlRegisterDefaultOutputCallbacks"></a>Function: 
xmlRegisterDefaultOutputCallbacks</h3><pre class="programlisting">void    xmlRegisterDefaultOutputCallbacks   
    (void)<br />
 </pre><p>Registers the default compiled-in I/O handlers.</p>
diff --git a/doc/html/libxml-xmlerror.html b/doc/html/libxml-xmlerror.html
index 1b418a34..5858f639 100644
--- a/doc/html/libxml-xmlerror.html
+++ b/doc/html/libxml-xmlerror.html
@@ -844,7 +844,7 @@ void        xmlGenericErrorFunc             (void * ctx, <br />                           
           const char * msg, <br />
 <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><h3><a name="xmlParserPrintFileContext" 
id="xmlParserPrintFileContext"></a>Function: xmlParserPrintFileContext</h3><pre class="programlisting">void   
     xmlParserPrintFileContext       (<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> 
input)<br />
 </pre><p>Displays current context within the input content for error tracking</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>input</tt></i>:</span></td><td>an <a 
href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input</td></tr></tbody></table></div><h3><a 
name="xmlParserPrintFileInfo" id="xmlParserPrintFileInfo"></a>Function: xmlParserPrintFileInfo</h3><pre 
class="programlisting">void  xmlParserPrintFileInfo          (<a 
href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br />
-</pre><p>Displays the associated file and line informations for the current input</p>
+</pre><p>Displays the associated file and line information for the current input</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>input</tt></i>:</span></td><td>an <a 
href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input</td></tr></tbody></table></div><h3><a 
name="xmlParserValidityError" id="xmlParserValidityError"></a>Function: xmlParserValidityError</h3><pre 
class="programlisting">void  xmlParserValidityError          (void * ctx, <br />                              
        const char * msg, <br />                                        ... ...)<br />
 </pre><p>Display and format an validity error messages, gives file, line, position and extra parameters.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>msg</tt></i>:</span></td><td>the message to display/transmit</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message 
display</td></tr></tbody></table></div><h3><a name="xmlParserValidityWarning" 
id="xmlParserValidityWarning"></a>Function: xmlParserValidityWarning</h3><pre class="programlisting">void   
xmlParserValidityWarning        (void * ctx, <br />                                      const char * msg, 
<br />                                        ... ...)<br />
diff --git a/doc/html/libxml-xmlexports.html b/doc/html/libxml-xmlexports.html
index a5a4d752..a0f2aae0 100644
--- a/doc/html/libxml-xmlexports.html
+++ b/doc/html/libxml-xmlexports.html
@@ -10,10 +10,11 @@ A:link, A:visited, A:active { text-decoration: underline }
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlexports from libxml2</title></head><body bgcolor="#8b7765" text="#000000" 
link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" 
align="center"><tr><td width="120"><a href="http://swpat.ffii.org/";><img src="../epatents.png" alt="Action 
against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/";><img src="../gnome2.png" 
alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status";><img src="../w3c.png" alt="W3C Logo" /></a><a 
href="http://www.redhat.com/";><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a 
href="http://xmlsoft.org/";><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" 
/></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" 
bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" 
bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlexports from libxml2</h2></td><
 /tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" 
width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" 
width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" 
cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" 
cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API 
Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" 
enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" 
/><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" 
href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer 
Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a 
style="font-wei
 ght:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a 
href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a 
href="../guidelines.html">XML Guidelines</a></li><li><a 
href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" 
cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API 
Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a 
href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a 
href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a 
href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" 
cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related 
links</b></center></td></tr><tr><td bgcolor="#fffacd">
 <ul><li><a href="http://mail.gnome.org/archives/xml/";>Mail archive</a></li><li><a 
href="http://xmlsoft.org/XSLT/";>XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/";>DOM 
gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/";>XML-DSig xmlsec</a></li><li><a 
href="ftp://xmlsoft.org/";>FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/";>Windows 
binaries</a></li><li><a href="http://opencsw.org/packages/libxml2";>Solaris binaries</a></li><li><a 
href="http://www.explain.com.au/oss/libxml2xslt.html";>MacOsX binaries</a></li><li><a 
href="http://lxml.de/";>lxml Python bindings</a></li><li><a 
href="http://cpan.uwinnipeg.ca/dist/XML-LibXML";>Perl bindings</a></li><li><a 
href="http://libxmlplusplus.sourceforge.net/";>C++ bindings</a></li><li><a 
href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4";>PHP bindings</a></li><li><a 
href="http://sourceforge.net/projects/libxml2-pas/";>Pascal bindings</a></li><li><a 
href="http://libxml.rubyforge.org/";>Ruby bindings
 </a></li><li><a href="http://tclxml.sourceforge.net/";>Tcl bindings</a></li><li><a 
href="https://gitlab.gnome.org/GNOME/libxml2/issues";>Bug 
Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table 
border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" 
cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" 
width="100%"><tr><td bgcolor="#fffacd"><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><th align="left"><a 
href="libxml-xmlerror.html">xmlerror</a></th><td><a accesskey="u" href="index.html"><img src="up.png" 
width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API 
documentation</a></th><td><a accesskey="h" href=".
 ./index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th 
align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a 
href="libxml-xmlmemory.html">xmlmemory</a></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><p>macros for marking 
symbols as exportable/importable. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a 
href="#LIBXML_DLL_IMPORT">LIBXML_DLL_IMPORT</a></pre><pre class="programlisting">#define <a 
href="#XMLCALL">XMLCALL</a></pre><pre class="programlisting">#define <a 
href="#XMLCDECL">XMLCDECL</a></pre><pre class="programlisting">#define <a 
href="#XMLPUBFUN">XMLPUBFUN</a></pre><pre class="programlisting">#define <a 
href="#XMLPUBVAR">XMLPUBVAR</a></pre><h2>Description</h2>
+    </style><title>Module xmlexports from libxml2</title></head><body bgcolor="#8b7765" text="#000000" 
link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" 
align="center"><tr><td width="120"><a href="http://swpat.ffii.org/";><img src="../epatents.png" alt="Action 
against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/";><img src="../gnome2.png" 
alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status";><img src="../w3c.png" alt="W3C Logo" /></a><a 
href="http://www.redhat.com/";><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a 
href="http://xmlsoft.org/";><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" 
/></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" 
bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" 
bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlexports from libxml2</h2></td><
 /tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" 
width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" 
width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" 
cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" 
cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API 
Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" 
enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" 
/><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" 
href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer 
Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a 
style="font-wei
 ght:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a 
href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a 
href="../guidelines.html">XML Guidelines</a></li><li><a 
href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" 
cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API 
Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a 
href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a 
href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a 
href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" 
cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related 
links</b></center></td></tr><tr><td bgcolor="#fffacd">
 <ul><li><a href="http://mail.gnome.org/archives/xml/";>Mail archive</a></li><li><a 
href="http://xmlsoft.org/XSLT/";>XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/";>DOM 
gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/";>XML-DSig xmlsec</a></li><li><a 
href="ftp://xmlsoft.org/";>FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/";>Windows 
binaries</a></li><li><a href="http://opencsw.org/packages/libxml2";>Solaris binaries</a></li><li><a 
href="http://www.explain.com.au/oss/libxml2xslt.html";>MacOsX binaries</a></li><li><a 
href="http://lxml.de/";>lxml Python bindings</a></li><li><a 
href="http://cpan.uwinnipeg.ca/dist/XML-LibXML";>Perl bindings</a></li><li><a 
href="http://libxmlplusplus.sourceforge.net/";>C++ bindings</a></li><li><a 
href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4";>PHP bindings</a></li><li><a 
href="http://sourceforge.net/projects/libxml2-pas/";>Pascal bindings</a></li><li><a 
href="http://libxml.rubyforge.org/";>Ruby bindings
 </a></li><li><a href="http://tclxml.sourceforge.net/";>Tcl bindings</a></li><li><a 
href="https://gitlab.gnome.org/GNOME/libxml2/issues";>Bug 
Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table 
border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" 
cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" 
width="100%"><tr><td bgcolor="#fffacd"><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><th align="left"><a 
href="libxml-xmlerror.html">xmlerror</a></th><td><a accesskey="u" href="index.html"><img src="up.png" 
width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API 
documentation</a></th><td><a accesskey="h" href=".
 ./index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th 
align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a 
href="libxml-xmlmemory.html">xmlmemory</a></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><p>macros for marking 
symbols as exportable/importable. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a 
href="#LIBXML_DLL_IMPORT">LIBXML_DLL_IMPORT</a></pre><pre class="programlisting">#define <a 
href="#XMLCALL">XMLCALL</a></pre><pre class="programlisting">#define <a 
href="#XMLCDECL">XMLCDECL</a></pre><pre class="programlisting">#define <a 
href="#XMLPUBFUN">XMLPUBFUN</a></pre><pre class="programlisting">#define <a 
href="#XMLPUBLIC">XMLPUBLIC</a></pre><pre class="programlisting">#define <a 
href="#XMLPUBVAR">XMLPUBVAR</a></pre><h2>Description</h2>
 <h3><a name="LIBXML_DLL_IMPORT" id="LIBXML_DLL_IMPORT"></a>Macro: LIBXML_DLL_IMPORT</h3><pre>#define 
LIBXML_DLL_IMPORT</pre><p></p>
-<h3><a name="XMLCALL" id="XMLCALL"></a>Macro: XMLCALL</h3><pre>#define XMLCALL</pre><p></p>
-<h3><a name="XMLCDECL" id="XMLCDECL"></a>Macro: XMLCDECL</h3><pre>#define XMLCDECL</pre><p></p>
-<h3><a name="XMLPUBFUN" id="XMLPUBFUN"></a>Macro: XMLPUBFUN</h3><pre>#define XMLPUBFUN</pre><p></p>
-<h3><a name="XMLPUBVAR" id="XMLPUBVAR"></a>Macro: XMLPUBVAR</h3><pre>#define XMLPUBVAR</pre><p></p>
+<h3><a name="XMLCALL" id="XMLCALL"></a>Macro: XMLCALL</h3><pre>#define XMLCALL</pre><p>Macro which declares 
the calling convention for exported functions</p>
+<h3><a name="XMLCDECL" id="XMLCDECL"></a>Macro: XMLCDECL</h3><pre>#define XMLCDECL</pre><p>Macro which 
declares the calling convention for exported functions that use '...'.</p>
+<h3><a name="XMLPUBFUN" id="XMLPUBFUN"></a>Macro: XMLPUBFUN</h3><pre>#define XMLPUBFUN</pre><p>Macro which 
declares an exportable function</p>
+<h3><a name="XMLPUBLIC" id="XMLPUBLIC"></a>Macro: XMLPUBLIC</h3><pre>#define XMLPUBLIC</pre><p>Macro which 
declares a public symbol</p>
+<h3><a name="XMLPUBVAR" id="XMLPUBVAR"></a>Macro: XMLPUBVAR</h3><pre>#define XMLPUBVAR</pre><p>Macro which 
declares an exportable variable</p>
 <p><a href="../bugs.html">Daniel 
Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-xmlreader.html b/doc/html/libxml-xmlreader.html
index bb1debcc..138b6ae4 100644
--- a/doc/html/libxml-xmlreader.html
+++ b/doc/html/libxml-xmlreader.html
@@ -280,7 +280,7 @@ void        xmlTextReaderErrorFunc          (void * arg, <br />                           
           const char * msg, <br />
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the node was read successfully, 0 if there is no 
more nodes to read, or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderNodeType" 
id="xmlTextReaderNodeType"></a>Function: xmlTextReaderNodeType</h3><pre class="programlisting">int     
xmlTextReaderNodeType           (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader)<br />
 </pre><p>Get the node type of the current node Reference: 
http://www.gnu.org/software/dotgnu/pnetlib-doc/System/Xml/XmlNodeType.html</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml-xmlreader.html#xmlReaderTypes">xmlReaderTypes</a> of the current node or -1 in case of 
error</td></tr></tbody></table></div><h3><a name="xmlTextReaderNormalization" 
id="xmlTextReaderNormalization"></a>Function: xmlTextReaderNormalization</h3><pre class="programlisting">int  
    xmlTextReaderNormalization      (<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader)<br />
-</pre><p>The value indicating whether to normalize white space and <a 
href="libxml-SAX.html#attribute">attribute</a> values. Since <a 
href="libxml-SAX.html#attribute">attribute</a> value and end of line normalizations are a MUST in the XML 
specification only the value true is accepted. The broken bahaviour of accepting out of range character 
entities like &amp;#0; is of course not supported either.</p>
+</pre><p>The value indicating whether to normalize white space and <a 
href="libxml-SAX.html#attribute">attribute</a> values. Since <a 
href="libxml-SAX.html#attribute">attribute</a> value and end of line normalizations are a MUST in the XML 
specification only the value true is accepted. The broken behaviour of accepting out of range character 
entities like &amp;#0; is of course not supported either.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 or -1 in case of 
error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderPrefix" 
id="xmlTextReaderPrefix"></a>Function: xmlTextReaderPrefix</h3><pre class="programlisting"><a 
href="libxml-xmlstring.html#xmlChar">xmlChar</a> *        xmlTextReaderPrefix     (<a 
href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
 </pre><p>A shorthand <a href="libxml-SAX.html#reference">reference</a> to the namespace associated with the 
node.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the prefix or NULL if not available, if non NULL it need 
to be freed by the caller.</td></tr></tbody></table></div><h3><a name="xmlTextReaderPreserve" 
id="xmlTextReaderPreserve"></a>Function: xmlTextReaderPreserve</h3><pre class="programlisting"><a 
href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> xmlTextReaderPreserve   (<a 
href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
diff --git a/doc/html/libxml-xmlregexp.html b/doc/html/libxml-xmlregexp.html
index 99b7636f..7300e5ba 100644
--- a/doc/html/libxml-xmlregexp.html
+++ b/doc/html/libxml-xmlregexp.html
@@ -119,9 +119,9 @@ The content of this structure is not made public by the API.
 void   xmlRegExecCallbacks             (<a 
href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br />                             
       const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * token, <br />                              
         void * transdata, <br />                                        void * inputdata)
 </pre><p>Callback function when doing a transition in the automata</p><div class="variablelist"><table 
border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>exec</tt></i>:</span></td><td>the 
regular expression context</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the 
current token string</td></tr><tr><td><span class="term"><i><tt>transdata</tt></i>:</span></td><td>transition 
data</td></tr><tr><td><span class="term"><i><tt>inputdata</tt></i>:</span></td><td>input 
data</td></tr></tbody></table></div><br />
 <h3><a name="xmlRegExecErrInfo" id="xmlRegExecErrInfo"></a>Function: xmlRegExecErrInfo</h3><pre 
class="programlisting">int     xmlRegExecErrInfo               (<a 
href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br />                             
       const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** string, <br />                            
         int * nbval, <br />                                     int * nbneg, <br />                          
           <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** values, <br />                              
     int * terminal)<br />
-</pre><p>Extract error informations from the regexp execution, the parameter @string will be updated with 
the value pushed and not accepted, the parameter @values must point to an array of @nbval string pointers on 
return nbval will contain the number of possible strings in that state and the @values array will be updated 
with them. The string values</p>
+</pre><p>Extract error information from the regexp execution, the parameter @string will be updated with the 
value pushed and not accepted, the parameter @values must point to an array of @nbval string pointers on 
return nbval will contain the number of possible strings in that state and the @values array will be updated 
with them. The string values</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>exec</tt></i>:</span></td><td>a regexp execution context generating an 
error</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>return value for the error 
string</td></tr><tr><td><span class="term"><i><tt>nbval</tt></i>:</span></td><td>pointer to the number of 
accepted values IN/OUT</td></tr><tr><td><span class="term"><i><tt>nbneg</tt></i>:</span></td><td>return 
number of negative transitions</td></tr><tr><td><span 
class="term"><i><tt>values</tt></i>:</span></td><td>pointer to the array of acceptable 
values</td></tr><tr><td><span class="term"><i><tt>terminal</tt></i>:</span></td><td>return value if this was 
a terminal state</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>will be freed 
with the @exec context and don't need to be deallocated. Returns: 0 in case of success or -1 in case of 
error.</td></tr></tbody></table></div><h3>
 <a name="xmlRegExecNextValues" id="xmlRegExecNextValues"></a>Function: xmlRegExecNextValues</h3><pre 
class="programlisting">int        xmlRegExecNextValues            (<a 
href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br />                             
       int * nbval, <br />                                     int * nbneg, <br />                            
         <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** values, <br />                                
   int * terminal)<br />
-</pre><p>Extract informations from the regexp execution, the parameter @values must point to an array of 
@nbval string pointers on return nbval will contain the number of possible strings in that state and the 
@values array will be updated with them. The string values</p>
+</pre><p>Extract information from the regexp execution, the parameter @values must point to an array of 
@nbval string pointers on return nbval will contain the number of possible strings in that state and the 
@values array will be updated with them. The string values</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>exec</tt></i>:</span></td><td>a regexp execution context</td></tr><tr><td><span 
class="term"><i><tt>nbval</tt></i>:</span></td><td>pointer to the number of accepted values 
IN/OUT</td></tr><tr><td><span class="term"><i><tt>nbneg</tt></i>:</span></td><td>return number of negative 
transitions</td></tr><tr><td><span class="term"><i><tt>values</tt></i>:</span></td><td>pointer to the array 
of acceptable values</td></tr><tr><td><span class="term"><i><tt>terminal</tt></i>:</span></td><td>return 
value if this was a terminal state</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>will be freed with the @exec context and don't need to 
be deallocated. Returns: 0 in case of success or -1 in case of error.</td></tr></tbody></table></div><h3><a 
name="xmlRegExecPushString" id="xmlRegExecPushString"></a>Function: xmlRegExecPushString</h3><pre 
class="programlisting">int    x
 mlRegExecPushString            (<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> 
exec, <br />                                    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * 
value, <br />                                       void * data)<br />
 </pre><p>Push one input token in the execution context</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>exec</tt></i>:</span></td><td>a regexp execution context or NULL to indicate the 
end</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>a string token 
input</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the token 
to reuse in callbacks</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the 
regexp reached a final state, 0 if non-final, and a negative value in case of 
error.</td></tr></tbody></table></div><h3><a name="xmlRegExecPushString2" 
id="xmlRegExecPushString2"></a>Function: xmlRegExecPushString2</h3><pre class="programlisting">int       
xmlRegExecPushString2           (<a href="libxml-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> 
exec, <br />                                    const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * 
value, <br />                                       const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> 
*
  value2, <br />                                         void * data)<br />
diff --git a/doc/html/libxml-xmlsave.html b/doc/html/libxml-xmlsave.html
index c3bea9fb..24350007 100644
--- a/doc/html/libxml-xmlsave.html
+++ b/doc/html/libxml-xmlsave.html
@@ -23,7 +23,7 @@ The content of this structure is not made public by the API.
 <pre class="programlisting"><a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>    <a 
href="#xmlSaveToFd">xmlSaveToFd</a>          (int fd, <br />                                  const char * 
encoding, <br />                                   int options)</pre>
 <pre class="programlisting"><a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>    <a 
href="#xmlSaveToFilename">xmlSaveToFilename</a>      (const char * filename, <br />                           
        const char * encoding, <br />                                   int options)</pre>
 <pre class="programlisting"><a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>    <a 
href="#xmlSaveToIO">xmlSaveToIO</a>          (<a 
href="libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br />                    
               <a href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br />  
                                 void * ioctx, <br />                                    const char * 
encoding, <br />                                   int options)</pre>
-<pre class="programlisting">long       <a href="#xmlSaveTree">xmlSaveTree</a>                  (<a 
href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br />                                    
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
+<pre class="programlisting">long       <a href="#xmlSaveTree">xmlSaveTree</a>                  (<a 
href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br />                                    
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)</pre>
 <h2>Description</h2>
 <h3><a name="xmlSaveCtxt" id="xmlSaveCtxt">Structure xmlSaveCtxt</a></h3><pre 
class="programlisting">Structure xmlSaveCtxt<br />struct _xmlSaveCtxt {
 The content of this structure is not made public by the API.
@@ -55,6 +55,6 @@ The content of this structure is not made public by the API.
 </pre><p>Create a document saving context serializing to a filename or possibly to an URL (but this is less 
reliable) with the encoding and the options given.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>a file name or an URL</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding name to use or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a set of xmlSaveOptions</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new serialization context or NULL in case of 
error.</td></tr></tbody></table></div><h3><a name="xmlSaveToIO" id="xmlSaveToIO"></a>Function: 
xmlSaveToIO</h3><pre class="programlisting"><a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>   
    xmlSaveToIO             (<a href="libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> 
iowrite, <br />                                   <a 
href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br />                    
               void * ioctx, <br />                                    const char * encoding, <br />          
                         int options)<br />
 </pre><p>Create a document saving context serializing to a file descriptor with the encoding and the options 
given</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>iowrite</tt></i>:</span></td><td>an I/O write function</td></tr><tr><td><span 
class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span 
class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding name to use or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a set of xmlSaveOptions</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new serialization context or NULL in case of 
error.</td></tr></tbody></table></div><h3><a name="xmlSaveTree" id="xmlSaveTree"></a>Function: 
xmlSaveTree</h3><pre class="programlisting">long        xmlSaveTree                     (<a 
href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br />                                    
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>iowrite</tt></i>:</span></td><td>an I/O write function</td></tr><tr><td><span 
class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span 
class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding name to use or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a set of xmlSaveOptions</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new serialization context or NULL in case of 
error.</td></tr></tbody></table></div><h3><a name="xmlSaveTree" id="xmlSaveTree"></a>Function: 
xmlSaveTree</h3><pre class="programlisting">long        xmlSaveTree                     (<a 
href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br />                                    
<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br />
 </pre><p>Save a subtree starting at the node parameter to a saving context TODO: The function is not fully 
implemented yet as it does not return the byte count but 0 instead</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a document saving context</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>the top node of the subtree to save</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of 
error</td></tr></tbody></table></div><p><a href="../bugs.html">Daniel 
Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a document saving context</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of 
error</td></tr></tbody></table></div><p><a href="../bugs.html">Daniel 
Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-xmlschemas.html b/doc/html/libxml-xmlschemas.html
index 3729afb8..5f2e1df5 100644
--- a/doc/html/libxml-xmlschemas.html
+++ b/doc/html/libxml-xmlschemas.html
@@ -130,7 +130,7 @@ The content of this structure is not made public by the API.
 <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><h3><a name="xmlSchemaGetParserErrors" 
id="xmlSchemaGetParserErrors"></a>Function: xmlSchemaGetParserErrors</h3><pre class="programlisting">int    
xmlSchemaGetParserErrors        (<a 
href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br />                  
                       <a 
href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * err, <br />         
                               <a 
href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br />    
                               void ** ctx)<br />
 </pre><p>Get the callback information used to handle errors for a parser context</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XMl-Schema parser context</td></tr><tr><td><span 
class="term"><i><tt>err</tt></i>:</span></td><td>the error callback result</td></tr><tr><td><span 
class="term"><i><tt>warn</tt></i>:</span></td><td>the warning callback result</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the callbacks 
result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 
otherwise</td></tr></tbody></table></div><h3><a name="xmlSchemaGetValidErrors" 
id="xmlSchemaGetValidErrors"></a>Function: xmlSchemaGetValidErrors</h3><pre class="programlisting">int  
xmlSchemaGetValidErrors         (<a 
href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />                    
               <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> * 
err, <br />                                        <a h
 ref="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> * warn, <br />    
                                   void ** ctx)<br />
-</pre><p>Get the error and warning callback informations</p>
+</pre><p>Get the error and warning callback information</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a XML-Schema validation context</td></tr><tr><td><span 
class="term"><i><tt>err</tt></i>:</span></td><td>the error function result</td></tr><tr><td><span 
class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function result</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context result</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error and 0 
otherwise</td></tr></tbody></table></div><h3><a name="xmlSchemaIsValid" id="xmlSchemaIsValid"></a>Function: 
xmlSchemaIsValid</h3><pre class="programlisting">int      xmlSchemaIsValid                (<a 
href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br />
 </pre><p>Check if any error was detected during validation.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema validation context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid so far, 0 if errors were detected, and -1 in 
case of internal error.</td></tr></tbody></table></div><h3><a name="xmlSchemaNewDocParserCtxt" 
id="xmlSchemaNewDocParserCtxt"></a>Function: xmlSchemaNewDocParserCtxt</h3><pre class="programlisting"><a 
href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>      
xmlSchemaNewDocParserCtxt       (<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
@@ -152,7 +152,7 @@ The content of this structure is not made public by the API.
 <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><h3><a name="xmlSchemaSetParserStructuredErrors" 
id="xmlSchemaSetParserStructuredErrors"></a>Function: xmlSchemaSetParserStructuredErrors</h3><pre 
class="programlisting">void    xmlSchemaSetParserStructuredErrors      (<a 
href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br />                  
                               <a 
href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br />                  
                               void * ctx)<br />
 </pre><p>Set the structured error callback</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema parser context</td></tr><tr><td><span 
class="term"><i><tt>serror</tt></i>:</span></td><td>the structured error function</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div><h3><a 
name="xmlSchemaSetValidErrors" id="xmlSchemaSetValidErrors"></a>Function: xmlSchemaSetValidErrors</h3><pre 
class="programlisting">void     xmlSchemaSetValidErrors         (<a 
href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />                    
               <a href="libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> 
err, <br />                                  <a 
href="libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br />      
                               void * ctx)<br />
-</pre><p>Set the error and warning callback informations</p>
+</pre><p>Set the error and warning callback information</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span 
class="term"><i><tt>err</tt></i>:</span></td><td>the error function</td></tr><tr><td><span 
class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div><h3><a 
name="xmlSchemaSetValidOptions" id="xmlSchemaSetValidOptions"></a>Function: xmlSchemaSetValidOptions</h3><pre 
class="programlisting">int       xmlSchemaSetValidOptions        (<a 
href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />                    
               int options)<br />
 </pre><p>Sets the options to be used during the validation.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml-xmlschemas.html#xmlSchemaValidOption">xmlSchemaValidOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of an API 
error.</td></tr></tbody></table></div><h3><a name="xmlSchemaSetValidStructuredErrors" 
id="xmlSchemaSetValidStructuredErrors"></a>Function: xmlSchemaSetValidStructuredErrors</h3><pre 
class="programlisting">void        xmlSchemaSetValidStructuredErrors       (<a 
href="libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br />                    
                       <a href="libxml-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> 
serror, <br />                                                 void * ctx)<br />
@@ -178,7 +178,7 @@ void        xmlSchemaValidityErrorFunc      (void * ctx, <br />                           
           const char * msg, <br /
 </pre><p>Signature of an error callback from an XSD validation</p><div class="variablelist"><table 
border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the 
validation context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the 
message</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra 
arguments</td></tr></tbody></table></div><br />
 <h3><a name="xmlSchemaValidityLocatorFunc" id="xmlSchemaValidityLocatorFunc"></a>Function type: 
xmlSchemaValidityLocatorFunc</h3><pre class="programlisting">Function type: xmlSchemaValidityLocatorFunc
 int    xmlSchemaValidityLocatorFunc    (void * ctx, <br />                                      const char 
** file, <br />                                      unsigned long * line)
-</pre><p>A schemas validation locator, a callback called by the validator. This is used when file or node 
informations are not available to find out what file and line number are affected</p><div 
class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>user provided context</td></tr><tr><td><span 
class="term"><i><tt>file</tt></i>:</span></td><td>returned file information</td></tr><tr><td><span 
class="term"><i><tt>line</tt></i>:</span></td><td>returned line information</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of 
error</td></tr></tbody></table></div><br />
+</pre><p>A schemas validation locator, a callback called by the validator. This is used when file or node 
information are not available to find out what file and line number are affected</p><div 
class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>user provided context</td></tr><tr><td><span 
class="term"><i><tt>file</tt></i>:</span></td><td>returned file information</td></tr><tr><td><span 
class="term"><i><tt>line</tt></i>:</span></td><td>returned line information</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of 
error</td></tr></tbody></table></div><br />
 <h3><a name="xmlSchemaValidityWarningFunc" id="xmlSchemaValidityWarningFunc"></a>Function type: 
xmlSchemaValidityWarningFunc</h3><pre class="programlisting">Function type: xmlSchemaValidityWarningFunc
 void   xmlSchemaValidityWarningFunc    (void * ctx, <br />                                      const char * 
msg, <br />                                        ... ...)
 </pre><p>Signature of a warning callback from an XSD validation</p><div class="variablelist"><table 
border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the 
validation context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the 
message</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra 
arguments</td></tr></tbody></table></div><br />
diff --git a/doc/html/libxml-xmlversion.html b/doc/html/libxml-xmlversion.html
index 86904681..d60f08ef 100644
--- a/doc/html/libxml-xmlversion.html
+++ b/doc/html/libxml-xmlversion.html
@@ -10,7 +10,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module xmlversion from libxml2</title></head><body bgcolor="#8b7765" text="#000000" 
link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" 
align="center"><tr><td width="120"><a href="http://swpat.ffii.org/";><img src="../epatents.png" alt="Action 
against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/";><img src="../gnome2.png" 
alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status";><img src="../w3c.png" alt="W3C Logo" /></a><a 
href="http://www.redhat.com/";><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a 
href="http://xmlsoft.org/";><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" 
/></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" 
bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" 
bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlversion from libxml2</h2></td><
 /tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" 
width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" 
width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" 
cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" 
cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API 
Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" 
enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" 
/><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" 
href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer 
Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a 
style="font-wei
 ght:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a 
href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a 
href="../guidelines.html">XML Guidelines</a></li><li><a 
href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" 
cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API 
Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a 
href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a 
href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a 
href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" 
cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related 
links</b></center></td></tr><tr><td bgcolor="#fffacd">
 <ul><li><a href="http://mail.gnome.org/archives/xml/";>Mail archive</a></li><li><a 
href="http://xmlsoft.org/XSLT/";>XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/";>DOM 
gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/";>XML-DSig xmlsec</a></li><li><a 
href="ftp://xmlsoft.org/";>FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/";>Windows 
binaries</a></li><li><a href="http://opencsw.org/packages/libxml2";>Solaris binaries</a></li><li><a 
href="http://www.explain.com.au/oss/libxml2xslt.html";>MacOsX binaries</a></li><li><a 
href="http://lxml.de/";>lxml Python bindings</a></li><li><a 
href="http://cpan.uwinnipeg.ca/dist/XML-LibXML";>Perl bindings</a></li><li><a 
href="http://libxmlplusplus.sourceforge.net/";>C++ bindings</a></li><li><a 
href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4";>PHP bindings</a></li><li><a 
href="http://sourceforge.net/projects/libxml2-pas/";>Pascal bindings</a></li><li><a 
href="http://libxml.rubyforge.org/";>Ruby bindings
 </a></li><li><a href="http://tclxml.sourceforge.net/";>Tcl bindings</a></li><li><a 
href="https://gitlab.gnome.org/GNOME/libxml2/issues";>Bug 
Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table 
border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" 
cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" 
width="100%"><tr><td bgcolor="#fffacd"><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><th align="left"><a 
href="libxml-xmlunicode.html">xmlunicode</a></th><td><a accesskey="u" href="index.html"><img src="up.png" 
width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API 
documentation</a></th><td><a accesskey="h" h
 ref="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th 
align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a 
href="libxml-xmlwriter.html">xmlwriter</a></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><p>compile-time version 
informations for the XML library </p><h2>Table of Contents</h2><pre class="programlisting">#define <a 
href="#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a></pre><pre class="programlisting">#define <a 
href="#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_ATTR_ALLOC_SIZE">LIBXML_ATTR_ALLOC_SIZE</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_ATTR_FORMAT">LIBXML_ATTR_FORMAT</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_AUTOMATA_ENABLED">LIBXML_AUTOMATA_ENABLED</a></pre><pre class="programlisting"
#define <a href="#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_DOCB_ENABLED">LIBXML_DOCB_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_DOTTED_VERSION">LIBXML_DOTTED_VERSION</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_FTP_ENABLED">LIBXML_FTP_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_HTML_ENABLED">LIBXML_HTML_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_HTTP_ENABLED">LIBXML_HTTP_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML
 _ICONV_ENABLED">LIBXML_ICONV_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_ICU_ENABLED">LIBXML_ICU_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_LEGACY_ENABLED">LIBXML_LEGACY_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_LZMA_ENABLED">LIBXML_LZMA_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_MODULES_ENABLED">LIBXML_MODULES_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_MODULE_EXTENSION">LIBXML_MODULE_EXTENSION</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_OUTPUT_ENABLED">LIBXML_OUTPUT_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_PUSH_ENABLED">LIBXML_PUSH_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_
 READER_ENABLED">LIBXML_READER_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_SAX1_ENABLED">LIBXML_SAX1_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_SCHEMAS_ENABLED">LIBXML_SCHEMAS_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_SCHEMATRON_ENABLED">LIBXML_SCHEMATRON_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_THREAD_ALLOC_ENABLED">LIBXML_THREAD_ALLOC_ENABLED</a></pre><pre class="programlisting">#define 
<a href="#LIBXML_THREAD_ENABLED">LIBXML_THREAD_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_TREE_ENABLED">LIBXML_TREE_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</a></pre><pre class="programlisting">#define <a
  href="#LIBXML_VALID_ENABLED">LIBXML_VALID_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_VERSION">LIBXML_VERSION</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_VERSION_STRING">LIBXML_VERSION_STRING</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_XINCLUDE_ENABLED">LIBXML_XINCLUDE_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_XPATH_ENABLED">LIBXML_XPATH_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_XPTR_ENABLED">LIBXML_XPTR_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_ZLIB_ENABLED">LIBXML_ZLIB_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#WITHOUT_TRIO">WITHOUT_TRIO</a></pre><pre class="programlisting">#define <a 
href="#WITH_TRIO">WITH_TRIO</a></pre><
 pre class="programlisting">void        <a href="#xmlCheckVersion">xmlCheckVersion</a>                  (int 
version)</pre>
+    </style><title>Module xmlversion from libxml2</title></head><body bgcolor="#8b7765" text="#000000" 
link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" 
align="center"><tr><td width="120"><a href="http://swpat.ffii.org/";><img src="../epatents.png" alt="Action 
against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/";><img src="../gnome2.png" 
alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status";><img src="../w3c.png" alt="W3C Logo" /></a><a 
href="http://www.redhat.com/";><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a 
href="http://xmlsoft.org/";><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" 
/></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" 
bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" 
bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module xmlversion from libxml2</h2></td><
 /tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" 
width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" 
width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" 
cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" 
cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API 
Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" 
enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" 
/><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" 
href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer 
Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a 
style="font-wei
 ght:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a 
href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a 
href="../guidelines.html">XML Guidelines</a></li><li><a 
href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" 
cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API 
Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a 
href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a 
href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a 
href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" 
cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related 
links</b></center></td></tr><tr><td bgcolor="#fffacd">
 <ul><li><a href="http://mail.gnome.org/archives/xml/";>Mail archive</a></li><li><a 
href="http://xmlsoft.org/XSLT/";>XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/";>DOM 
gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/";>XML-DSig xmlsec</a></li><li><a 
href="ftp://xmlsoft.org/";>FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/";>Windows 
binaries</a></li><li><a href="http://opencsw.org/packages/libxml2";>Solaris binaries</a></li><li><a 
href="http://www.explain.com.au/oss/libxml2xslt.html";>MacOsX binaries</a></li><li><a 
href="http://lxml.de/";>lxml Python bindings</a></li><li><a 
href="http://cpan.uwinnipeg.ca/dist/XML-LibXML";>Perl bindings</a></li><li><a 
href="http://libxmlplusplus.sourceforge.net/";>C++ bindings</a></li><li><a 
href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4";>PHP bindings</a></li><li><a 
href="http://sourceforge.net/projects/libxml2-pas/";>Pascal bindings</a></li><li><a 
href="http://libxml.rubyforge.org/";>Ruby bindings
 </a></li><li><a href="http://tclxml.sourceforge.net/";>Tcl bindings</a></li><li><a 
href="https://gitlab.gnome.org/GNOME/libxml2/issues";>Bug 
Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table 
border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" 
cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" 
width="100%"><tr><td bgcolor="#fffacd"><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><th align="left"><a 
href="libxml-xmlunicode.html">xmlunicode</a></th><td><a accesskey="u" href="index.html"><img src="up.png" 
width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API 
documentation</a></th><td><a accesskey="h" h
 ref="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th 
align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a 
href="libxml-xmlwriter.html">xmlwriter</a></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><p>compile-time version 
information for the XML library </p><h2>Table of Contents</h2><pre class="programlisting">#define <a 
href="#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a></pre><pre class="programlisting">#define <a 
href="#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_ATTR_ALLOC_SIZE">LIBXML_ATTR_ALLOC_SIZE</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_ATTR_FORMAT">LIBXML_ATTR_FORMAT</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_AUTOMATA_ENABLED">LIBXML_AUTOMATA_ENABLED</a></pre><pre class="programlisting">
 #define <a href="#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_DOCB_ENABLED">LIBXML_DOCB_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_DOTTED_VERSION">LIBXML_DOTTED_VERSION</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_FTP_ENABLED">LIBXML_FTP_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_HTML_ENABLED">LIBXML_HTML_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_HTTP_ENABLED">LIBXML_HTTP_ENABLED</a></pre><pre class="programlisting">#define <a href="#LIBXML_
 ICONV_ENABLED">LIBXML_ICONV_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_ICU_ENABLED">LIBXML_ICU_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_LEGACY_ENABLED">LIBXML_LEGACY_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_LZMA_ENABLED">LIBXML_LZMA_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_MODULES_ENABLED">LIBXML_MODULES_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_MODULE_EXTENSION">LIBXML_MODULE_EXTENSION</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_OUTPUT_ENABLED">LIBXML_OUTPUT_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_PUSH_ENABLED">LIBXML_PUSH_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_R
 EADER_ENABLED">LIBXML_READER_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_SAX1_ENABLED">LIBXML_SAX1_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_SCHEMAS_ENABLED">LIBXML_SCHEMAS_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_SCHEMATRON_ENABLED">LIBXML_SCHEMATRON_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_THREAD_ALLOC_ENABLED">LIBXML_THREAD_ALLOC_ENABLED</a></pre><pre class="programlisting">#define 
<a href="#LIBXML_THREAD_ENABLED">LIBXML_THREAD_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_TREE_ENABLED">LIBXML_TREE_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</a></pre><pre class="programlisting">#define <a 
 href="#LIBXML_VALID_ENABLED">LIBXML_VALID_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_VERSION">LIBXML_VERSION</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_VERSION_STRING">LIBXML_VERSION_STRING</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_XINCLUDE_ENABLED">LIBXML_XINCLUDE_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_XPATH_ENABLED">LIBXML_XPATH_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_XPTR_ENABLED">LIBXML_XPTR_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#LIBXML_ZLIB_ENABLED">LIBXML_ZLIB_ENABLED</a></pre><pre class="programlisting">#define <a 
href="#WITHOUT_TRIO">WITHOUT_TRIO</a></pre><pre class="programlisting">#define <a 
href="#WITH_TRIO">WITH_TRIO</a></pre><p
 re class="programlisting">void <a href="#xmlCheckVersion">xmlCheckVersion</a>                  (int 
version)</pre>
 <h2>Description</h2>
 <h3><a name="ATTRIBUTE_UNUSED" id="ATTRIBUTE_UNUSED"></a>Macro: ATTRIBUTE_UNUSED</h3><pre>#define 
ATTRIBUTE_UNUSED</pre><p>Macro used to signal to GCC unused function parameters</p>
 <h3><a name="DEBUG_MEMORY_LOCATION" id="DEBUG_MEMORY_LOCATION"></a>Macro: 
DEBUG_MEMORY_LOCATION</h3><pre>#define DEBUG_MEMORY_LOCATION</pre><p>Whether the memory debugging is 
configured in</p>
diff --git a/doc/html/libxml-xpath.html b/doc/html/libxml-xpath.html
index 5bdd564b..78203078 100644
--- a/doc/html/libxml-xpath.html
+++ b/doc/html/libxml-xpath.html
@@ -147,8 +147,6 @@ The content of this structure is not made public by the API.
     unsigned long      opLimit
     unsigned long      opCount
     int        depth
-    int        maxDepth
-    int        maxParserDepth
 }</pre><h3>Enum <a name="xmlXPathError" id="xmlXPathError">xmlXPathError</a></h3><pre 
class="programlisting">Enum xmlXPathError {
     <a name="XPATH_EXPRESSION_OK" id="XPATH_EXPRESSION_OK">XPATH_EXPRESSION_OK</a> = 0
     <a name="XPATH_NUMBER_ERROR" id="XPATH_NUMBER_ERROR">XPATH_NUMBER_ERROR</a> = 1
diff --git a/doc/libxml2-api.xml b/doc/libxml2-api.xml
index f264a298..c31b6a76 100644
--- a/doc/libxml2-api.xml
+++ b/doc/libxml2-api.xml
@@ -771,6 +771,7 @@
      <exports symbol='xmlParserNodeInfoSeq' type='typedef'/>
      <exports symbol='xmlFeature' type='typedef'/>
      <exports symbol='xmlParserMode' type='typedef'/>
+     <exports symbol='xmlStartTag' type='typedef'/>
      <exports symbol='xmlParserOption' type='typedef'/>
      <exports symbol='xmlSAXHandlerV1Ptr' type='typedef'/>
      <exports symbol='xmlParserNodeInfo' type='typedef'/>
@@ -1905,6 +1906,7 @@
      <exports symbol='xmlInputMatchCallback' type='function'/>
      <exports symbol='xmlRegisterDefaultOutputCallbacks' type='function'/>
      <exports symbol='xmlFileClose' type='function'/>
+     <exports symbol='xmlPopOutputCallbacks' type='function'/>
      <exports symbol='xmlOutputMatchCallback' type='function'/>
      <exports symbol='xmlParserInputBufferPush' type='function'/>
      <exports symbol='xmlIOFTPRead' type='function'/>
@@ -2788,12 +2790,12 @@
     <file name='xmlexports'>
      <summary>macros for marking symbols as exportable/importable.</summary>
      <description>macros for marking symbols as exportable/importable. </description>
-     <author>Igor Zlatovic &lt;igor zlatkovic com&gt; </author>
-     <exports symbol='XMLCALL' type='macro'/>
-     <exports symbol='XMLPUBVAR' type='macro'/>
      <exports symbol='XMLCDECL' type='macro'/>
-     <exports symbol='XMLPUBFUN' type='macro'/>
+     <exports symbol='XMLPUBLIC' type='macro'/>
+     <exports symbol='XMLPUBVAR' type='macro'/>
      <exports symbol='LIBXML_DLL_IMPORT' type='macro'/>
+     <exports symbol='XMLCALL' type='macro'/>
+     <exports symbol='XMLPUBFUN' type='macro'/>
     </file>
     <file name='xmlmemory'>
      <summary>interface for the memory allocator</summary>
@@ -3378,8 +3380,8 @@
      <exports symbol='xmlUCSIsCatMe' type='function'/>
     </file>
     <file name='xmlversion'>
-     <summary>compile-time version informations</summary>
-     <description>compile-time version informations for the XML library </description>
+     <summary>compile-time version information</summary>
+     <description>compile-time version information for the XML library </description>
      <author>Daniel Veillard </author>
      <exports symbol='LIBXML_VERSION_EXTRA' type='macro'/>
      <exports symbol='LIBXML_MODULES_ENABLED' type='macro'/>
@@ -4148,12 +4150,19 @@
       <info>Macro defining &quot;xpointer&quot;</info>
     </macro>
     <macro name='XMLCALL' file='xmlexports'>
+      <info>Macro which declares the calling convention for exported functions</info>
     </macro>
     <macro name='XMLCDECL' file='xmlexports'>
+      <info>Macro which declares the calling convention for exported functions that use 
&apos;...&apos;.</info>
     </macro>
     <macro name='XMLPUBFUN' file='xmlexports'>
+      <info>Macro which declares an exportable function</info>
+    </macro>
+    <macro name='XMLPUBLIC' file='xmlexports'>
+      <info>Macro which declares a public symbol</info>
     </macro>
     <macro name='XMLPUBVAR' file='xmlexports'>
+      <info>Macro which declares an exportable variable</info>
     </macro>
     <macro name='XML_CAST_FPTR' file='hash'>
       <info>Macro to do a casting from an object pointer to a function pointer without encountering a 
warning from gcc  #define XML_CAST_FPTR(fptr) (*(void **)(&amp;fptr)) This macro violated ISO C aliasing 
rules (gcc4 on s390 broke) so it is disabled now</info>
@@ -5994,7 +6003,7 @@ if necessary or NULL'/>
       <field name='doc' type='struct _xmlDoc *' info=' the containing document'/>
       <field name='ns' type='xmlNs *' info=' pointer to the associated namespace'/>
       <field name='atype' type='xmlAttributeType' info=' the attribute type if validating'/>
-      <field name='psvi' type='void *' info=' for type/PSVI informations'/>
+      <field name='psvi' type='void *' info=' for type/PSVI information'/>
     </struct>
     <typedef name='xmlAttrPtr' file='tree' type='xmlAttr *'/>
     <struct name='xmlAttribute' file='tree' type='struct _xmlAttribute'>
@@ -6119,7 +6128,7 @@ standalone attribute was specified'/>
       <field name='charset' type='int' info=' Internal flag for charset handling,
 actually an xmlCharEncoding'/>
       <field name='dict' type='struct _xmlDict *' info=' dict used to allocate names or NULL'/>
-      <field name='psvi' type='void *' info=' for type/PSVI informations'/>
+      <field name='psvi' type='void *' info=' for type/PSVI information'/>
       <field name='parseFlags' type='int' info=' set of xmlParserOption used to parse the
 document'/>
       <field name='properties' type='int' info=' set of xmlDocProperties for this document
@@ -6316,7 +6325,7 @@ set at the end of parsing'/>
       <field name='content' type='xmlChar *' info=' the content'/>
       <field name='properties' type='struct _xmlAttr *' info=' properties list'/>
       <field name='nsDef' type='xmlNs *' info=' namespace definitions on this node'/>
-      <field name='psvi' type='void *' info=' for type/PSVI informations'/>
+      <field name='psvi' type='void *' info=' for type/PSVI information'/>
       <field name='line' type='unsigned short' info=' line number'/>
       <field name='extra' type='unsigned short' info=' extra data for XPath/XSLT'/>
     </struct>
@@ -6393,7 +6402,7 @@ set at the end of parsing'/>
       <field name='nameNr' type='int' info=' Depth of the parsing stack'/>
       <field name='nameMax' type='int' info=' Max depth of the parsing stack'/>
       <field name='nameTab' type='const xmlChar * *' info=' array of nodes'/>
-      <field name='nbChars' type='long' info=' number of xmlChar processed'/>
+      <field name='nbChars' type='long' info=' unused'/>
       <field name='checkIndex' type='long' info=' used by progressive parsing lookup'/>
       <field name='keepBlanks' type='int' info=' ugly but ...'/>
       <field name='disableSAX' type='int' info=' SAX callbacks are disabled'/>
@@ -6432,7 +6441,7 @@ actually an xmlCharEncoding'/>
       <field name='nsMax' type='int' info=' the size of the arrays'/>
       <field name='nsTab' type='const xmlChar * *' info=' the array of prefix/namespace name'/>
       <field name='attallocs' type='int *' info=' which attribute were allocated'/>
-      <field name='pushTab' type='void * *' info=' array of data for push'/>
+      <field name='pushTab' type='xmlStartTag *' info=' array of data for push'/>
       <field name='attsDefault' type='xmlHashTablePtr' info=' defaulted attributes if any'/>
       <field name='attsSpecial' type='xmlHashTablePtr' info=' non-CDATA attributes if any'/>
       <field name='nsWellFormed' type='int' info=' is the document XML Namespace okay'/>
@@ -6442,7 +6451,7 @@ actually an xmlCharEncoding'/>
       <field name='freeElemsNr' type='int' info=' number of freed element nodes'/>
       <field name='freeElems' type='xmlNodePtr' info=' List of freed element nodes'/>
       <field name='freeAttrsNr' type='int' info=' number of freed attributes nodes'/>
-      <field name='freeAttrs' type='xmlAttrPtr' info='* the complete error informations for the last error.
+      <field name='freeAttrs' type='xmlAttrPtr' info='* the complete error information for the last error.
 *'/>
       <field name='lastError' type='xmlError' info=''/>
       <field name='parseMode' type='xmlParserMode' info=' the parser mode'/>
@@ -6836,6 +6845,7 @@ Could we use @subtypes for this?'/>
       <field name='input' type='xmlShellReadlineFunc' info=''/>
     </struct>
     <typedef name='xmlShellCtxtPtr' file='debugXML' type='xmlShellCtxt *'/>
+    <struct name='xmlStartTag' file='parser' type='struct _xmlStartTag'/>
     <struct name='xmlStreamCtxt' file='pattern' type='struct _xmlStreamCtxt'/>
     <typedef name='xmlStreamCtxtPtr' file='pattern' type='xmlStreamCtxt *'/>
     <struct name='xmlTextReader' file='xmlreader' type='struct _xmlTextReader'/>
@@ -6935,8 +6945,6 @@ Could we use @subtypes for this?'/>
       <field name='opLimit' type='unsigned long' info=''/>
       <field name='opCount' type='unsigned long' info=''/>
       <field name='depth' type='int' info=''/>
-      <field name='maxDepth' type='int' info=''/>
-      <field name='maxParserDepth' type='int' info=''/>
     </struct>
     <typedef name='xmlXPathContextPtr' file='xpath' type='xmlXPathContext *'/>
     <typedef name='xmlXPathError' file='xpath' type='enum'/>
@@ -7044,7 +7052,7 @@ Could we use @subtypes for this?'/>
     <function name='UTF8Toisolat1' file='encoding' module='encoding'>
       <cond>defined(LIBXML_OUTPUT_ENABLED)</cond>
       <info>Take a block of UTF-8 chars in and try to convert it to an ISO Latin 1 block of chars out.</info>
-      <return type='int' info='the number of bytes written if success, -2 if the transcoding fails, or -1 
otherwise The value of @inlen after return is the number of octets consumed if the return value is positive, 
else unpredictable. The value of @outlen after return is the number of octets consumed.'/>
+      <return type='int' info='the number of bytes written if success, -2 if the transcoding fails, or -1 
otherwise The value of @inlen after return is the number of octets consumed if the return value is positive, 
else unpredictable. The value of @outlen after return is the number of octets produced.'/>
       <arg name='out' type='unsigned char *' info='a pointer to an array of bytes to store the result'/>
       <arg name='outlen' type='int *' info='the length of @out'/>
       <arg name='in' type='const unsigned char *' info='a pointer to an array of UTF-8 chars'/>
@@ -7260,7 +7268,7 @@ Could we use @subtypes for this?'/>
       <arg name='name' type='const xmlChar *' info='The element name'/>
     </function>
     <functype name='endElementNsSAX2Func' file='parser' module='parser'>
-      <info>SAX2 callback when an element end has been detected by the parser. It provides the namespace 
informations for the element.</info>
+      <info>SAX2 callback when an element end has been detected by the parser. It provides the namespace 
information for the element.</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
       <arg name='localname' type='const xmlChar *' info='the local name of the element'/>
@@ -7553,7 +7561,7 @@ Could we use @subtypes for this?'/>
       <return type='void'/>
       <arg name='buf' type='xmlOutputBufferPtr' info='the HTML buffer output'/>
       <arg name='cur' type='xmlDocPtr' info='the document'/>
-      <arg name='encoding' type='const char *' info='the encoding string'/>
+      <arg name='encoding' type='const char *' info='the encoding string (unused)'/>
       <arg name='format' type='int' info='should formatting spaces been added'/>
     </function>
     <function name='htmlDocContentDumpOutput' file='HTMLtree' module='HTMLtree'>
@@ -7562,7 +7570,7 @@ Could we use @subtypes for this?'/>
       <return type='void'/>
       <arg name='buf' type='xmlOutputBufferPtr' info='the HTML buffer output'/>
       <arg name='cur' type='xmlDocPtr' info='the document'/>
-      <arg name='encoding' type='const char *' info='the encoding string'/>
+      <arg name='encoding' type='const char *' info='the encoding string (unused)'/>
     </function>
     <function name='htmlDocDump' file='HTMLtree' module='HTMLtree'>
       <cond>defined(LIBXML_HTML_ENABLED) &amp;&amp; defined(LIBXML_OUTPUT_ENABLED)</cond>
@@ -7644,7 +7652,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='htmlInitAutoClose' file='parserInternals' module='HTMLparser'>
       <cond>defined(LIBXML_HTML_ENABLED)</cond>
-      <info>Initialize the htmlStartCloseIndex for fast lookup of closing tags names. This is not reentrant. 
Call xmlInitParser() once before processing in case of use in multithreaded programs.</info>
+      <info>This is a no-op now.</info>
       <return type='void'/>
     </function>
     <function name='htmlIsAutoClosed' file='HTMLparser' module='HTMLparser'>
@@ -7718,7 +7726,7 @@ Could we use @subtypes for this?'/>
       <arg name='buf' type='xmlOutputBufferPtr' info='the HTML buffer output'/>
       <arg name='doc' type='xmlDocPtr' info='the document'/>
       <arg name='cur' type='xmlNodePtr' info='the current node'/>
-      <arg name='encoding' type='const char *' info='the encoding string'/>
+      <arg name='encoding' type='const char *' info='the encoding string (unused)'/>
       <arg name='format' type='int' info='should formatting spaces been added'/>
     </function>
     <function name='htmlNodeDumpOutput' file='HTMLtree' module='HTMLtree'>
@@ -7728,7 +7736,7 @@ Could we use @subtypes for this?'/>
       <arg name='buf' type='xmlOutputBufferPtr' info='the HTML buffer output'/>
       <arg name='doc' type='xmlDocPtr' info='the document'/>
       <arg name='cur' type='xmlNodePtr' info='the current node'/>
-      <arg name='encoding' type='const char *' info='the encoding string'/>
+      <arg name='encoding' type='const char *' info='the encoding string (unused)'/>
     </function>
     <function name='htmlNodeStatus' file='HTMLparser' module='HTMLparser'>
       <cond>defined(LIBXML_HTML_ENABLED)</cond>
@@ -7967,7 +7975,7 @@ Could we use @subtypes for this?'/>
     </functype>
     <function name='isolat1ToUTF8' file='encoding' module='encoding'>
       <info>Take a block of ISO Latin 1 chars in and try to convert it to an UTF-8 block of chars out.</info>
-      <return type='int' info='the number of bytes written if success, or -1 otherwise The value of @inlen 
after return is the number of octets consumed if the return value is positive, else unpredictable. The value 
of @outlen after return is the number of octets consumed.'/>
+      <return type='int' info='the number of bytes written if success, or -1 otherwise The value of @inlen 
after return is the number of octets consumed if the return value is positive, else unpredictable. The value 
of @outlen after return is the number of octets produced.'/>
       <arg name='out' type='unsigned char *' info='a pointer to an array of bytes to store the result'/>
       <arg name='outlen' type='int *' info='the length of @out'/>
       <arg name='in' type='const unsigned char *' info='a pointer to an array of ISO Latin 1 chars'/>
@@ -8103,7 +8111,7 @@ Could we use @subtypes for this?'/>
       <arg name='atts' type='const xmlChar **' info='An array of name/value attributes pairs, NULL 
terminated'/>
     </function>
     <functype name='startElementNsSAX2Func' file='parser' module='parser'>
-      <info>SAX2 callback when an element start has been detected by the parser. It provides the namespace 
informations for the element, as well as the new namespace declarations on the element.</info>
+      <info>SAX2 callback when an element start has been detected by the parser. It provides the namespace 
information for the element, as well as the new namespace declarations on the element.</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
       <arg name='localname' type='const xmlChar *' info='the local name of the element'/>
@@ -9470,7 +9478,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlDebugDumpString' file='debugXML' module='debugXML'>
       <cond>defined(LIBXML_DEBUG_ENABLED)</cond>
-      <info>Dumps informations about the string, shorten it if necessary</info>
+      <info>Dumps information about the string, shorten it if necessary</info>
       <return type='void'/>
       <arg name='output' type='FILE *' info='the FILE * for the output'/>
       <arg name='str' type='const xmlChar *' info='the string'/>
@@ -9755,7 +9763,7 @@ Could we use @subtypes for this?'/>
       <info>Handle a redefinition of attribute error</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
-      <arg name='extra' type='const char *' info='extra informations'/>
+      <arg name='extra' type='const char *' info='extra information'/>
     </function>
     <function name='xmlExpCtxtNbCons' file='xmlregexp' module='xmlregexp'>
       <cond>defined(LIBXML_REGEXP_ENABLED) &amp;&amp; defined(LIBXML_EXPR_ENABLED)</cond>
@@ -11157,19 +11165,19 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlNanoFTPCleanup' file='nanoftp' module='nanoftp'>
       <cond>defined(LIBXML_FTP_ENABLED)</cond>
-      <info>Cleanup the FTP protocol layer. This cleanup proxy informations.</info>
+      <info>Cleanup the FTP protocol layer. This cleanup proxy information.</info>
       <return type='void'/>
     </function>
     <function name='xmlNanoFTPClose' file='nanoftp' module='nanoftp'>
       <cond>defined(LIBXML_FTP_ENABLED)</cond>
       <info>Close the connection and both control and transport</info>
-      <return type='int' info='-1 incase of error, 0 otherwise'/>
+      <return type='int' info='-1 in case of error, 0 otherwise'/>
       <arg name='ctx' type='void *' info='an FTP context'/>
     </function>
     <function name='xmlNanoFTPCloseConnection' file='nanoftp' module='nanoftp'>
       <cond>defined(LIBXML_FTP_ENABLED)</cond>
       <info>Close the data connection from the server</info>
-      <return type='int' info='-1 incase of error, 0 otherwise'/>
+      <return type='int' info='-1 in case of error, 0 otherwise'/>
       <arg name='ctx' type='void *' info='an FTP context'/>
     </function>
     <function name='xmlNanoFTPConnect' file='nanoftp' module='nanoftp'>
@@ -11188,14 +11196,14 @@ Could we use @subtypes for this?'/>
     <function name='xmlNanoFTPCwd' file='nanoftp' module='nanoftp'>
       <cond>defined(LIBXML_FTP_ENABLED)</cond>
       <info>Tries to change the remote directory</info>
-      <return type='int' info='-1 incase of error, 1 if CWD worked, 0 if it failed'/>
+      <return type='int' info='-1 in case of error, 1 if CWD worked, 0 if it failed'/>
       <arg name='ctx' type='void *' info='an FTP context'/>
       <arg name='directory' type='const char *' info='a directory on the server'/>
     </function>
     <function name='xmlNanoFTPDele' file='nanoftp' module='nanoftp'>
       <cond>defined(LIBXML_FTP_ENABLED)</cond>
       <info>Tries to delete an item (file or directory) from server</info>
-      <return type='int' info='-1 incase of error, 1 if DELE worked, 0 if it failed'/>
+      <return type='int' info='-1 in case of error, 1 if DELE worked, 0 if it failed'/>
       <arg name='ctx' type='void *' info='an FTP context'/>
       <arg name='file' type='const char *' info='a file or directory on the server'/>
     </function>
@@ -11208,7 +11216,7 @@ Could we use @subtypes for this?'/>
     <function name='xmlNanoFTPGet' file='nanoftp' module='nanoftp'>
       <cond>defined(LIBXML_FTP_ENABLED)</cond>
       <info>Fetch the given file from the server. All data are passed back in the callbacks. The last 
callback has a size of 0 block.</info>
-      <return type='int' info='-1 incase of error, 0 otherwise'/>
+      <return type='int' info='-1 in case of error, 0 otherwise'/>
       <arg name='ctx' type='void *' info='an FTP context'/>
       <arg name='callback' type='ftpDataCallback' info='the user callback'/>
       <arg name='userData' type='void *' info='the user callback data'/>
@@ -11217,7 +11225,7 @@ Could we use @subtypes for this?'/>
     <function name='xmlNanoFTPGetConnection' file='nanoftp' module='nanoftp'>
       <cond>defined(LIBXML_FTP_ENABLED)</cond>
       <info>Try to open a data connection to the server. Currently only passive mode is supported.</info>
-      <return type='SOCKET' info='-1 incase of error, 0 otherwise'/>
+      <return type='SOCKET' info='-1 in case of error, 0 otherwise'/>
       <arg name='ctx' type='void *' info='an FTP context'/>
     </function>
     <function name='xmlNanoFTPGetResponse' file='nanoftp' module='nanoftp'>
@@ -11235,13 +11243,13 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlNanoFTPInit' file='nanoftp' module='nanoftp'>
       <cond>defined(LIBXML_FTP_ENABLED)</cond>
-      <info>Initialize the FTP protocol layer. Currently it just checks for proxy informations, and get the 
hostname</info>
+      <info>Initialize the FTP protocol layer. Currently it just checks for proxy information, and get the 
hostname</info>
       <return type='void'/>
     </function>
     <function name='xmlNanoFTPList' file='nanoftp' module='nanoftp'>
       <cond>defined(LIBXML_FTP_ENABLED)</cond>
       <info>Do a listing on the server. All files info are passed back in the callbacks.</info>
-      <return type='int' info='-1 incase of error, 0 otherwise'/>
+      <return type='int' info='-1 in case of error, 0 otherwise'/>
       <arg name='ctx' type='void *' info='an FTP context'/>
       <arg name='callback' type='ftpListCallback' info='the user callback'/>
       <arg name='userData' type='void *' info='the user callback data'/>
@@ -11261,7 +11269,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlNanoFTPProxy' file='nanoftp' module='nanoftp'>
       <cond>defined(LIBXML_FTP_ENABLED)</cond>
-      <info>Setup the FTP proxy informations. This can also be done by using ftp_proxy ftp_proxy_user and 
ftp_proxy_password environment variables.</info>
+      <info>Setup the FTP proxy information. This can also be done by using ftp_proxy ftp_proxy_user and 
ftp_proxy_password environment variables.</info>
       <return type='void'/>
       <arg name='host' type='const char *' info='the proxy host name'/>
       <arg name='port' type='int' info='the proxy port'/>
@@ -11285,7 +11293,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlNanoFTPScanProxy' file='nanoftp' module='nanoftp'>
       <cond>defined(LIBXML_FTP_ENABLED)</cond>
-      <info>(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.</info>
+      <info>(Re)Initialize the FTP Proxy context by parsing the URL and finding the protocol host port it 
indicates. Should be like ftp://myproxy/ or ftp://myproxy:3128/ A NULL URL cleans up proxy information.</info>
       <return type='void'/>
       <arg name='URL' type='const char *' info='The proxy URL used to initialize the proxy context'/>
     </function>
@@ -11328,14 +11336,14 @@ Could we use @subtypes for this?'/>
     <function name='xmlNanoHTTPFetch' file='nanohttp' module='nanohttp'>
       <cond>defined(LIBXML_HTTP_ENABLED)</cond>
       <info>This function try to fetch the indicated resource via HTTP GET and save it&apos;s content in the 
file.</info>
-      <return type='int' info='-1 in case of failure, 0 incase of success. The contentType, if provided must 
be freed by the caller'/>
+      <return type='int' info='-1 in case of failure, 0 in case of success. The contentType, if provided 
must be freed by the caller'/>
       <arg name='URL' type='const char *' info='The URL to load'/>
       <arg name='filename' type='const char *' info='the filename where the content should be saved'/>
       <arg name='contentType' type='char **' info='if available the Content-Type information will be 
returned at that location'/>
     </function>
     <function name='xmlNanoHTTPInit' file='nanohttp' module='nanohttp'>
       <cond>defined(LIBXML_HTTP_ENABLED)</cond>
-      <info>Initialize the HTTP protocol layer. Currently it just checks for proxy informations</info>
+      <info>Initialize the HTTP protocol layer. Currently it just checks for proxy information</info>
       <return type='void'/>
     </function>
     <function name='xmlNanoHTTPMethod' file='nanohttp' module='nanohttp'>
@@ -11405,13 +11413,13 @@ Could we use @subtypes for this?'/>
     <function name='xmlNanoHTTPSave' file='nanohttp' module='nanohttp'>
       <cond>defined(LIBXML_HTTP_ENABLED) &amp;&amp; defined(LIBXML_OUTPUT_ENABLED)</cond>
       <info>This function saves the output of the HTTP transaction to a file It closes and free the context 
at the end</info>
-      <return type='int' info='-1 in case of failure, 0 incase of success.'/>
+      <return type='int' info='-1 in case of failure, 0 in case of success.'/>
       <arg name='ctxt' type='void *' info='the HTTP context'/>
       <arg name='filename' type='const char *' info='the filename where the content should be saved'/>
     </function>
     <function name='xmlNanoHTTPScanProxy' file='nanohttp' module='nanohttp'>
       <cond>defined(LIBXML_HTTP_ENABLED)</cond>
-      <info>(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.</info>
+      <info>(Re)Initialize the HTTP Proxy context by parsing the URL and finding the protocol host port it 
indicates. Should be like http://myproxy/ or http://myproxy:3128/ A NULL URL cleans up proxy 
information.</info>
       <return type='void'/>
       <arg name='URL' type='const char *' info='The proxy URL used to initialize the proxy context'/>
     </function>
@@ -11508,7 +11516,7 @@ Could we use @subtypes for this?'/>
       <arg name='content' type='const xmlChar *' info='the PI content'/>
     </function>
     <function name='xmlNewDocProp' file='tree' module='tree'>
-      <info>Create a new property carried by a document.</info>
+      <info>Create a new property carried by a document. NOTE: @value is supposed to be a piece of XML 
CDATA, so it allows entity references, but XML special chars need to be escaped first by using 
xmlEncodeEntitiesReentrant(). Use xmlNewProp() if you don&apos;t need entities support.</info>
       <return type='xmlAttrPtr' info='a pointer to the attribute'/>
       <arg name='doc' type='xmlDocPtr' info='the document'/>
       <arg name='name' type='const xmlChar *' info='the name of the attribute'/>
@@ -12046,8 +12054,8 @@ Could we use @subtypes for this?'/>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
       <info>Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the 
Well Balanced Chunk is the one defined by the content production in the XML grammar:  [43] content ::= 
(element | CharData | Reference | CDSect | PI | Comment)*</info>
       <return type='int' info='0 if the chunk is well balanced, -1 in case of args problem and the parser 
error code otherwise'/>
-      <arg name='doc' type='xmlDocPtr' info='the document the chunk pertains to'/>
-      <arg name='sax' type='xmlSAXHandlerPtr' info='the SAX handler bloc (possibly NULL)'/>
+      <arg name='doc' type='xmlDocPtr' info='the document the chunk pertains to (must not be NULL)'/>
+      <arg name='sax' type='xmlSAXHandlerPtr' info='the SAX handler block (possibly NULL)'/>
       <arg name='user_data' type='void *' info='The user data returned on SAX callbacks (possibly NULL)'/>
       <arg name='depth' type='int' info='Used for loop detection, use 0'/>
       <arg name='string' type='const xmlChar *' info='the input string in UTF8 or ISO-Latin (zero 
terminated)'/>
@@ -12057,8 +12065,8 @@ Could we use @subtypes for this?'/>
       <cond>defined(LIBXML_SAX1_ENABLED)</cond>
       <info>Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the 
Well Balanced Chunk is the one defined by the content production in the XML grammar:  [43] content ::= 
(element | CharData | Reference | CDSect | PI | Comment)*</info>
       <return type='int' info='0 if the chunk is well balanced, -1 in case of args problem and the parser 
error code otherwise  In case recover is set to 1, the nodelist will not be empty even if the parsed chunk is 
not well balanced, assuming the parsing succeeded to some extent.'/>
-      <arg name='doc' type='xmlDocPtr' info='the document the chunk pertains to'/>
-      <arg name='sax' type='xmlSAXHandlerPtr' info='the SAX handler bloc (possibly NULL)'/>
+      <arg name='doc' type='xmlDocPtr' info='the document the chunk pertains to (must not be NULL)'/>
+      <arg name='sax' type='xmlSAXHandlerPtr' info='the SAX handler block (possibly NULL)'/>
       <arg name='user_data' type='void *' info='The user data returned on SAX callbacks (possibly NULL)'/>
       <arg name='depth' type='int' info='Used for loop detection, use 0'/>
       <arg name='string' type='const xmlChar *' info='the input string in UTF8 or ISO-Latin (zero 
terminated)'/>
@@ -12107,7 +12115,7 @@ Could we use @subtypes for this?'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
     <function name='xmlParseContent' file='parserInternals' module='parser'>
-      <info>Parse a content:  [43] content ::= (element | CharData | Reference | CDSect | PI | 
Comment)*</info>
+      <info>Parse a content sequence. Stops at EOF or &apos;&lt;/&apos;.  [43] content ::= (element | 
CharData | Reference | CDSect | PI | Comment)*</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
     </function>
@@ -12236,7 +12244,7 @@ Could we use @subtypes for this?'/>
       <info>Parse an external general entity An external general parsed entity is well-formed if it matches 
the production labeled extParsedEnt.  [78] extParsedEnt ::= TextDecl? content</info>
       <return type='int' info='0 if the entity is well formed, -1 in case of args problem and the parser 
error code otherwise'/>
       <arg name='doc' type='xmlDocPtr' info='the document the chunk pertains to'/>
-      <arg name='sax' type='xmlSAXHandlerPtr' info='the SAX handler bloc (possibly NULL)'/>
+      <arg name='sax' type='xmlSAXHandlerPtr' info='the SAX handler block (possibly NULL)'/>
       <arg name='user_data' type='void *' info='The user data returned on SAX callbacks (possibly NULL)'/>
       <arg name='depth' type='int' info='Used for loop detection, use 0'/>
       <arg name='URL' type='const xmlChar *' info='the URL for the entity to load'/>
@@ -12538,7 +12546,7 @@ Could we use @subtypes for this?'/>
       <arg name='input' type='xmlParserInputPtr' info='an xmlParserInputPtr input'/>
     </function>
     <function name='xmlParserPrintFileInfo' file='xmlerror' module='error'>
-      <info>Displays the associated file and line informations for the current input</info>
+      <info>Displays the associated file and line information for the current input</info>
       <return type='void'/>
       <arg name='input' type='xmlParserInputPtr' info='an xmlParserInputPtr input'/>
     </function>
@@ -12628,6 +12636,11 @@ Could we use @subtypes for this?'/>
       <info>Clear the top input callback from the input stack. this includes the compiled-in I/O.</info>
       <return type='int' info='the number of input callback registered or -1 in case of error.'/>
     </function>
+    <function name='xmlPopOutputCallbacks' file='xmlIO' module='xmlIO'>
+      <cond>defined(LIBXML_OUTPUT_ENABLED)</cond>
+      <info>Remove the top output callbacks from the output stack. This includes the compiled-in I/O.</info>
+      <return type='int' info='the number of output callback registered or -1 in case of error.'/>
+    </function>
     <function name='xmlPreviousElementSibling' file='tree' module='tree'>
       <cond>defined(LIBXML_TREE_ENABLED)</cond>
       <info>Finds the first closest previous sibling of the node which is an element node. Note the handling 
of entities references is different than in the W3C DOM element traversal spec since we don&apos;t have back 
reference from entities content to entities references.</info>
@@ -12861,7 +12874,7 @@ Could we use @subtypes for this?'/>
     </functype>
     <function name='xmlRegExecErrInfo' file='xmlregexp' module='xmlregexp'>
       <cond>defined(LIBXML_REGEXP_ENABLED)</cond>
-      <info>Extract error informations from the regexp execution, the parameter @string will be updated with 
the value pushed and not accepted, the parameter @values must point to an array of @nbval string pointers on 
return nbval will contain the number of possible strings in that state and the @values array will be updated 
with them. The string values</info>
+      <info>Extract error information from the regexp execution, the parameter @string will be updated with 
the value pushed and not accepted, the parameter @values must point to an array of @nbval string pointers on 
return nbval will contain the number of possible strings in that state and the @values array will be updated 
with them. The string values</info>
       <return type='int' info='will be freed with the @exec context and don&apos;t need to be deallocated.  
Returns: 0 in case of success or -1 in case of error.'/>
       <arg name='exec' type='xmlRegExecCtxtPtr' info='a regexp execution context generating an error'/>
       <arg name='string' type='const xmlChar **' info='return value for the error string'/>
@@ -12872,7 +12885,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlRegExecNextValues' file='xmlregexp' module='xmlregexp'>
       <cond>defined(LIBXML_REGEXP_ENABLED)</cond>
-      <info>Extract informations from the regexp execution, the parameter @values must point to an array of 
@nbval string pointers on return nbval will contain the number of possible strings in that state and the 
@values array will be updated with them. The string values</info>
+      <info>Extract information from the regexp execution, the parameter @values must point to an array of 
@nbval string pointers on return nbval will contain the number of possible strings in that state and the 
@values array will be updated with them. The string values</info>
       <return type='int' info='will be freed with the @exec context and don&apos;t need to be deallocated.  
Returns: 0 in case of success or -1 in case of error.'/>
       <arg name='exec' type='xmlRegExecCtxtPtr' info='a regexp execution context'/>
       <arg name='nbval' type='int *' info='pointer to the number of accepted values IN/OUT'/>
@@ -13037,7 +13050,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlRelaxNGGetValidErrors' file='relaxng' module='relaxng'>
       <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
-      <info>Get the error and warning callback informations</info>
+      <info>Get the error and warning callback information</info>
       <return type='int' info='-1 in case of error and 0 otherwise'/>
       <arg name='ctxt' type='xmlRelaxNGValidCtxtPtr' info='a Relax-NG validation context'/>
       <arg name='err' type='xmlRelaxNGValidityErrorFunc *' info='the error function result'/>
@@ -13099,7 +13112,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlRelaxNGSetValidErrors' file='relaxng' module='relaxng'>
       <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
-      <info>Set the error and warning callback informations</info>
+      <info>Set the error and warning callback information</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlRelaxNGValidCtxtPtr' info='a Relax-NG validation context'/>
       <arg name='err' type='xmlRelaxNGValidityErrorFunc' info='the error function'/>
@@ -13171,7 +13184,7 @@ Could we use @subtypes for this?'/>
     </functype>
     <function name='xmlRelaxParserSetFlag' file='relaxng' module='relaxng'>
       <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
-      <info>Semi private function used to pass informations to a parser context which are a combination of 
xmlRelaxNGParserFlag .</info>
+      <info>Semi private function used to pass information to a parser context which are a combination of 
xmlRelaxNGParserFlag .</info>
       <return type='int' info='0 if success and -1 in case of error'/>
       <arg name='ctxt' type='xmlRelaxNGParserCtxtPtr' info='a RelaxNG parser context'/>
       <arg name='flags' type='int' info='a set of flags values'/>
@@ -13261,7 +13274,7 @@ Could we use @subtypes for this?'/>
       <arg name='name' type='const xmlChar *' info='The element name'/>
     </function>
     <function name='xmlSAX2EndElementNs' file='SAX2' module='SAX2'>
-      <info>SAX2 callback when an element end has been detected by the parser. It provides the namespace 
informations for the element.</info>
+      <info>SAX2 callback when an element end has been detected by the parser. It provides the namespace 
information for the element.</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
       <arg name='localname' type='const xmlChar *' info='the local name of the element'/>
@@ -13414,7 +13427,7 @@ Could we use @subtypes for this?'/>
       <arg name='atts' type='const xmlChar **' info='An array of name/value attributes pairs, NULL 
terminated'/>
     </function>
     <function name='xmlSAX2StartElementNs' file='SAX2' module='SAX2'>
-      <info>SAX2 callback when an element start has been detected by the parser. It provides the namespace 
informations for the element, as well as the new namespace declarations on the element.</info>
+      <info>SAX2 callback when an element start has been detected by the parser. It provides the namespace 
information for the element, as well as the new namespace declarations on the element.</info>
       <return type='void'/>
       <arg name='ctx' type='void *' info='the user data (XML parser context)'/>
       <arg name='localname' type='const xmlChar *' info='the local name of the element'/>
@@ -13644,7 +13657,7 @@ Could we use @subtypes for this?'/>
       <info>Save a subtree starting at the node parameter to a saving context TODO: The function is not 
fully implemented yet as it does not return the byte count but 0 instead</info>
       <return type='long' info='the number of byte written or -1 in case of error'/>
       <arg name='ctxt' type='xmlSaveCtxtPtr' info='a document saving context'/>
-      <arg name='node' type='xmlNodePtr' info='the top node of the subtree to save'/>
+      <arg name='cur' type='xmlNodePtr' info=''/>
     </function>
     <function name='xmlSaveUri' file='uri' module='uri'>
       <info>Save the URI as an escaped string</info>
@@ -13805,7 +13818,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlSchemaGetValidErrors' file='xmlschemas' module='xmlschemas'>
       <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
-      <info>Get the error and warning callback informations</info>
+      <info>Get the error and warning callback information</info>
       <return type='int' info='-1 in case of error and 0 otherwise'/>
       <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='a XML-Schema validation context'/>
       <arg name='err' type='xmlSchemaValidityErrorFunc *' info='the error function result'/>
@@ -13920,7 +13933,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlSchemaSetValidErrors' file='xmlschemas' module='xmlschemas'>
       <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
-      <info>Set the error and warning callback informations</info>
+      <info>Set the error and warning callback information</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlSchemaValidCtxtPtr' info='a schema validation context'/>
       <arg name='err' type='xmlSchemaValidityErrorFunc' info='the error function'/>
@@ -14087,7 +14100,7 @@ Could we use @subtypes for this?'/>
     </functype>
     <functype name='xmlSchemaValidityLocatorFunc' file='xmlschemas' module='xmlschemas'>
       <cond>defined(LIBXML_SCHEMAS_ENABLED)</cond>
-      <info>A schemas validation locator, a callback called by the validator. This is used when file or node 
informations are not available to find out what file and line number are affected</info>
+      <info>A schemas validation locator, a callback called by the validator. This is used when file or node 
information are not available to find out what file and line number are affected</info>
       <return type='int' info='0 in case of success and -1 in case of error'/>
       <arg name='ctx' type='void *' info='user provided context'/>
       <arg name='file' type='const char **' info='returned file information'/>
@@ -14355,7 +14368,7 @@ Could we use @subtypes for this?'/>
     </functype>
     <function name='xmlShellDir' file='debugXML' module='debugXML'>
       <cond>defined(LIBXML_DEBUG_ENABLED) &amp;&amp; defined(LIBXML_XPATH_ENABLED)</cond>
-      <info>Implements the XML shell function &quot;dir&quot; dumps informations about the node (namespace, 
attributes, content).</info>
+      <info>Implements the XML shell function &quot;dir&quot; dumps information about the node (namespace, 
attributes, content).</info>
       <return type='int' info='0'/>
       <arg name='ctxt' type='xmlShellCtxtPtr' info='the shell context'/>
       <arg name='arg' type='char *' info='unused'/>
@@ -15043,7 +15056,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlTextReaderNormalization' file='xmlreader' module='xmlreader'>
       <cond>defined(LIBXML_READER_ENABLED)</cond>
-      <info>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;#0; is of course not supported 
either.</info>
+      <info>The value indicating whether to normalize white space and attribute values. Since attribute 
value and end of line normalizations are a MUST in the XML specification only the value true is accepted. The 
broken behaviour of accepting out of range character entities like &amp;#0; is of course not supported 
either.</info>
       <return type='int' info='1 or -1 in case of error.'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
     </function>
@@ -17270,7 +17283,7 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='xmlXIncludeProcessNode' file='xinclude' module='xinclude'>
       <cond>defined(LIBXML_XINCLUDE_ENABLED)</cond>
-      <info>Implement the XInclude substitution for the given subtree reusing the informations and data 
coming from the given context.</info>
+      <info>Implement the XInclude substitution for the given subtree reusing the information and data 
coming from the given context.</info>
       <return type='int' info='0 if no substitution were done, -1 if some processing failed or the number of 
substitutions done.'/>
       <arg name='ctxt' type='xmlXIncludeCtxtPtr' info='an existing XInclude context'/>
       <arg name='node' type='xmlNodePtr' info='a node in an XML document'/>
diff --git a/doc/libxml2-refs.xml b/doc/libxml2-refs.xml
index ade2ab7c..2829aacb 100644
--- a/doc/libxml2-refs.xml
+++ b/doc/libxml2-refs.xml
@@ -132,6 +132,7 @@
     <reference name='XMLCALL' href='html/libxml-xmlexports.html#XMLCALL'/>
     <reference name='XMLCDECL' href='html/libxml-xmlexports.html#XMLCDECL'/>
     <reference name='XMLPUBFUN' href='html/libxml-xmlexports.html#XMLPUBFUN'/>
+    <reference name='XMLPUBLIC' href='html/libxml-xmlexports.html#XMLPUBLIC'/>
     <reference name='XMLPUBVAR' href='html/libxml-xmlexports.html#XMLPUBVAR'/>
     <reference name='XML_ATTRIBUTE_CDATA' href='html/libxml-tree.html#XML_ATTRIBUTE_CDATA'/>
     <reference name='XML_ATTRIBUTE_DECL' href='html/libxml-tree.html#XML_ATTRIBUTE_DECL'/>
@@ -2568,6 +2569,7 @@
     <reference name='xmlPedanticParserDefaultValue' 
href='html/libxml-globals.html#xmlPedanticParserDefaultValue'/>
     <reference name='xmlPopInput' href='html/libxml-parserInternals.html#xmlPopInput'/>
     <reference name='xmlPopInputCallbacks' href='html/libxml-xmlIO.html#xmlPopInputCallbacks'/>
+    <reference name='xmlPopOutputCallbacks' href='html/libxml-xmlIO.html#xmlPopOutputCallbacks'/>
     <reference name='xmlPreviousElementSibling' href='html/libxml-tree.html#xmlPreviousElementSibling'/>
     <reference name='xmlPrintURI' href='html/libxml-uri.html#xmlPrintURI'/>
     <reference name='xmlPushInput' href='html/libxml-parserInternals.html#xmlPushInput'/>
@@ -2907,6 +2909,7 @@
     <reference name='xmlSplitQName2' href='html/libxml-tree.html#xmlSplitQName2'/>
     <reference name='xmlSplitQName3' href='html/libxml-tree.html#xmlSplitQName3'/>
     <reference name='xmlSprintfElementContent' href='html/libxml-valid.html#xmlSprintfElementContent'/>
+    <reference name='xmlStartTag' href='html/libxml-parser.html#xmlStartTag'/>
     <reference name='xmlStopParser' href='html/libxml-parser.html#xmlStopParser'/>
     <reference name='xmlStrEqual' href='html/libxml-xmlstring.html#xmlStrEqual'/>
     <reference name='xmlStrPrintf' href='html/libxml-xmlstring.html#xmlStrPrintf'/>
@@ -3737,6 +3740,7 @@
       <ref name='XMLCALL'/>
       <ref name='XMLCDECL'/>
       <ref name='XMLPUBFUN'/>
+      <ref name='XMLPUBLIC'/>
       <ref name='XMLPUBVAR'/>
       <ref name='XML_ATTRIBUTE_CDATA'/>
       <ref name='XML_ATTRIBUTE_DECL'/>
@@ -6209,6 +6213,7 @@
       <ref name='xmlPedanticParserDefaultValue'/>
       <ref name='xmlPopInput'/>
       <ref name='xmlPopInputCallbacks'/>
+      <ref name='xmlPopOutputCallbacks'/>
       <ref name='xmlPreviousElementSibling'/>
       <ref name='xmlPrintURI'/>
       <ref name='xmlPushInput'/>
@@ -6548,6 +6553,7 @@
       <ref name='xmlSplitQName2'/>
       <ref name='xmlSplitQName3'/>
       <ref name='xmlSprintfElementContent'/>
+      <ref name='xmlStartTag'/>
       <ref name='xmlStopParser'/>
       <ref name='xmlStrEqual'/>
       <ref name='xmlStrPrintf'/>
@@ -11582,6 +11588,7 @@
       <ref name='xmlSetExternalEntityLoader'/>
       <ref name='xmlSetFeature'/>
       <ref name='xmlSetupParserForBuffer'/>
+      <ref name='xmlStartTag'/>
       <ref name='xmlStopParser'/>
       <ref name='xmlSubstituteEntitiesDefault'/>
     </file>
@@ -12619,6 +12626,7 @@
       <ref name='xmlParserInputBufferPush'/>
       <ref name='xmlParserInputBufferRead'/>
       <ref name='xmlPopInputCallbacks'/>
+      <ref name='xmlPopOutputCallbacks'/>
       <ref name='xmlRegisterDefaultInputCallbacks'/>
       <ref name='xmlRegisterDefaultOutputCallbacks'/>
       <ref name='xmlRegisterHTTPPostCallbacks'/>
@@ -13449,6 +13457,7 @@
       <ref name='XMLCALL'/>
       <ref name='XMLCDECL'/>
       <ref name='XMLPUBFUN'/>
+      <ref name='XMLPUBLIC'/>
       <ref name='XMLPUBVAR'/>
     </file>
     <file name='xmlmemory'>
@@ -14857,6 +14866,7 @@
           <ref name='xmlNewChild'/>
           <ref name='xmlNewDocNode'/>
           <ref name='xmlNewDocNodeEatName'/>
+          <ref name='xmlNewDocProp'/>
           <ref name='xmlNodeSetContent'/>
           <ref name='xmlNodeSetContentLen'/>
           <ref name='xmlParseAttValue'/>
@@ -14926,7 +14936,6 @@
           <ref name='_xmlXPathContext'/>
         </word>
         <word name='Call'>
-          <ref name='htmlInitAutoClose'/>
           <ref name='xmlInitParser'/>
           <ref name='xmlXPathOrderDocElems'/>
         </word>
@@ -15598,6 +15607,9 @@
           <ref name='xmlStringGetNodeList'/>
           <ref name='xmlStringLenGetNodeList'/>
         </word>
+        <word name='EOF'>
+          <ref name='xmlParseContent'/>
+        </word>
         <word name='ETag'>
           <ref name='htmlParseElement'/>
           <ref name='xmlParseElement'/>
@@ -16324,7 +16336,6 @@
         <word name='Initialize'>
           <ref name='docbDefaultSAXHandlerInit'/>
           <ref name='htmlDefaultSAXHandlerInit'/>
-          <ref name='htmlInitAutoClose'/>
           <ref name='initdocbDefaultSAXHandler'/>
           <ref name='inithtmlDefaultSAXHandler'/>
           <ref name='initxmlDefaultSAXHandler'/>
@@ -16748,6 +16759,7 @@
           <ref name='xmlNewChild'/>
           <ref name='xmlNewDocNode'/>
           <ref name='xmlNewDocNodeEatName'/>
+          <ref name='xmlNewDocProp'/>
           <ref name='xmlNewTextChild'/>
           <ref name='xmlNewTextWriter'/>
           <ref name='xmlNewTextWriterPushParser'/>
@@ -17539,6 +17551,7 @@
           <ref name='xmlListRemoveFirst'/>
           <ref name='xmlListRemoveLast'/>
           <ref name='xmlParserHandleReference'/>
+          <ref name='xmlPopOutputCallbacks'/>
           <ref name='xmlRemoveID'/>
           <ref name='xmlRemoveRef'/>
           <ref name='xmlUnsetNsProp'/>
@@ -17967,6 +17980,9 @@
           <ref name='xmlTextWriterStartElementNS'/>
           <ref name='xmlTextWriterStartPI'/>
         </word>
+        <word name='Stops'>
+          <ref name='xmlParseContent'/>
+        </word>
         <word name='StringType'>
           <ref name='xmlParseAttributeType'/>
         </word>
@@ -18354,6 +18370,7 @@
           <ref name='xmlIsPubidChar'/>
           <ref name='xmlNewDocNode'/>
           <ref name='xmlNewDocNodeEatName'/>
+          <ref name='xmlNewDocProp'/>
           <ref name='xmlNewNodeEatName'/>
           <ref name='xmlNewPI'/>
           <ref name='xmlNewTextChild'/>
@@ -19270,6 +19287,7 @@
           <ref name='htmlIsAutoClosed'/>
           <ref name='xmlCatalogAdd'/>
           <ref name='xmlNewChild'/>
+          <ref name='xmlNewDocProp'/>
           <ref name='xmlNodeSetContent'/>
           <ref name='xmlNodeSetContentLen'/>
           <ref name='xmlParseURIRaw'/>
@@ -19712,9 +19730,6 @@
         <word name='badly'>
           <ref name='xmlParseExternalID'/>
         </word>
-        <word name='bahaviour'>
-          <ref name='xmlTextReaderNormalization'/>
-        </word>
         <word name='balanced'>
           <ref name='xmlParseBalancedChunkMemory'/>
           <ref name='xmlParseBalancedChunkMemoryRecover'/>
@@ -19774,7 +19789,6 @@
           <ref name='xmlAddAttributeDecl'/>
         </word>
         <word name='before'>
-          <ref name='htmlInitAutoClose'/>
           <ref name='xmlBuildRelativeURI'/>
           <ref name='xmlCatalogAdd'/>
           <ref name='xmlCleanupParser'/>
@@ -19838,6 +19852,7 @@
           <ref name='xmlNodeGetSpacePreserve'/>
           <ref name='xmlNodeSetSpacePreserve'/>
           <ref name='xmlSAX2ResolveEntity'/>
+          <ref name='xmlTextReaderNormalization'/>
           <ref name='xmlTextReaderSetParserProp'/>
           <ref name='xmlUTF8Strsize'/>
         </word>
@@ -19889,11 +19904,6 @@
           <ref name='xmlKeepBlanksDefault'/>
           <ref name='xmlSkipBlankChars'/>
         </word>
-        <word name='bloc'>
-          <ref name='xmlParseBalancedChunkMemory'/>
-          <ref name='xmlParseBalancedChunkMemoryRecover'/>
-          <ref name='xmlParseExternalEntity'/>
-        </word>
         <word name='blockDefault'>
           <ref name='XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION'/>
           <ref name='XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION'/>
@@ -20100,6 +20110,8 @@
           <ref name='xmlUTF8Size'/>
         </word>
         <word name='calling'>
+          <ref name='XMLCALL'/>
+          <ref name='XMLCDECL'/>
           <ref name='_xmlXPathContext'/>
           <ref name='xmlBuildRelativeURI'/>
           <ref name='xmlC14NDocDumpMemory'/>
@@ -20498,7 +20510,6 @@
           <ref name='xmlXPathRoundFunction'/>
         </word>
         <word name='closing'>
-          <ref name='htmlInitAutoClose'/>
           <ref name='xmlNanoFTPFreeCtxt'/>
           <ref name='xmlParseElementChildrenContentDecl'/>
           <ref name='xmlParseStartTag'/>
@@ -20682,6 +20693,7 @@
           <ref name='xmlCleanupInputCallbacks'/>
           <ref name='xmlCleanupOutputCallbacks'/>
           <ref name='xmlPopInputCallbacks'/>
+          <ref name='xmlPopOutputCallbacks'/>
           <ref name='xmlRegisterDefaultInputCallbacks'/>
           <ref name='xmlRegisterDefaultOutputCallbacks'/>
         </word>
@@ -21021,7 +21033,6 @@
           <ref name='xmlXPtrNewContext'/>
         </word>
         <word name='content:'>
-          <ref name='xmlParseContent'/>
           <ref name='xmlXPathEqualValues'/>
           <ref name='xmlXPathNotEqualValues'/>
         </word>
@@ -21085,6 +21096,10 @@
         <word name='conveniently'>
           <ref name='xmlCurrentChar'/>
         </word>
+        <word name='convention'>
+          <ref name='XMLCALL'/>
+          <ref name='XMLCDECL'/>
+        </word>
         <word name='conversion'>
           <ref name='_uconv_t'/>
           <ref name='_xmlXPathType'/>
@@ -21480,6 +21495,13 @@
           <ref name='xmlValidCtxtNormalizeAttributeValue'/>
           <ref name='xmlValidNormalizeAttributeValue'/>
         </word>
+        <word name='declares'>
+          <ref name='XMLCALL'/>
+          <ref name='XMLCDECL'/>
+          <ref name='XMLPUBFUN'/>
+          <ref name='XMLPUBLIC'/>
+          <ref name='XMLPUBVAR'/>
+        </word>
         <word name='declaring'>
           <ref name='xmlGetID'/>
         </word>
@@ -22020,6 +22042,7 @@
           <ref name='xmlLastElementChild'/>
           <ref name='xmlNewDocNode'/>
           <ref name='xmlNewDocNodeEatName'/>
+          <ref name='xmlNewDocProp'/>
           <ref name='xmlNextElementSibling'/>
           <ref name='xmlParseStartTag'/>
           <ref name='xmlPreviousElementSibling'/>
@@ -22503,6 +22526,7 @@
           <ref name='xmlNewChild'/>
           <ref name='xmlNewDocNode'/>
           <ref name='xmlNewDocNodeEatName'/>
+          <ref name='xmlNewDocProp'/>
           <ref name='xmlNewTextChild'/>
           <ref name='xmlNodeSetContent'/>
           <ref name='xmlNodeSetContentLen'/>
@@ -22695,6 +22719,14 @@
         <word name='explored'>
           <ref name='xmlXPathAxisFunc'/>
         </word>
+        <word name='exportable'>
+          <ref name='XMLPUBFUN'/>
+          <ref name='XMLPUBVAR'/>
+        </word>
+        <word name='exported'>
+          <ref name='XMLCALL'/>
+          <ref name='XMLCDECL'/>
+        </word>
         <word name='exposing'>
           <ref name='xmlTextReaderRead'/>
         </word>
@@ -22871,9 +22903,6 @@
         <word name='fashion'>
           <ref name='xmlNewRMutex'/>
         </word>
-        <word name='fast'>
-          <ref name='htmlInitAutoClose'/>
-        </word>
         <word name='faster'>
           <ref name='htmlNodeStatus'/>
           <ref name='xmlStrEqual'/>
@@ -23293,6 +23322,8 @@
           <ref name='xmlXPathNodeSetItem'/>
         </word>
         <word name='functions'>
+          <ref name='XMLCALL'/>
+          <ref name='XMLCDECL'/>
           <ref name='htmlCtxtReadIO'/>
           <ref name='htmlReadIO'/>
           <ref name='xmlC14NDocDumpMemory'/>
@@ -23787,9 +23818,6 @@
           <ref name='htmlAutoCloseTag'/>
           <ref name='htmlIsAutoClosed'/>
         </word>
-        <word name='htmlStartCloseIndex'>
-          <ref name='htmlInitAutoClose'/>
-        </word>
         <word name='http:'>
           <ref name='XINCLUDE_NS'/>
           <ref name='XINCLUDE_OLD_NS'/>
@@ -23952,17 +23980,6 @@
           <ref name='xmlSAXParseMemoryWithData'/>
           <ref name='xmlSAXUserParseMemory'/>
         </word>
-        <word name='incase'>
-          <ref name='xmlNanoFTPClose'/>
-          <ref name='xmlNanoFTPCloseConnection'/>
-          <ref name='xmlNanoFTPCwd'/>
-          <ref name='xmlNanoFTPDele'/>
-          <ref name='xmlNanoFTPGet'/>
-          <ref name='xmlNanoFTPGetConnection'/>
-          <ref name='xmlNanoFTPList'/>
-          <ref name='xmlNanoHTTPFetch'/>
-          <ref name='xmlNanoHTTPSave'/>
-        </word>
         <word name='incl'>
           <ref name='_xmlSchemaType'/>
         </word>
@@ -23993,6 +24010,7 @@
           <ref name='xmlCleanupInputCallbacks'/>
           <ref name='xmlCleanupOutputCallbacks'/>
           <ref name='xmlPopInputCallbacks'/>
+          <ref name='xmlPopOutputCallbacks'/>
           <ref name='xmlXIncludeProcessFlags'/>
           <ref name='xmlXIncludeProcessFlagsData'/>
           <ref name='xmlXIncludeProcessTreeFlags'/>
@@ -24169,63 +24187,6 @@
           <ref name='xmlParserFindNodeInfoIndex'/>
           <ref name='xmlReallocLoc'/>
         </word>
-        <word name='information'>
-          <ref name='LIBXML_VERSION_EXTRA'/>
-          <ref name='_xmlError'/>
-          <ref name='xmlDebugDumpAttr'/>
-          <ref name='xmlDebugDumpAttrList'/>
-          <ref name='xmlDebugDumpDTD'/>
-          <ref name='xmlDebugDumpDocument'/>
-          <ref name='xmlDebugDumpDocumentHead'/>
-          <ref name='xmlDebugDumpEntities'/>
-          <ref name='xmlDebugDumpNode'/>
-          <ref name='xmlDebugDumpNodeList'/>
-          <ref name='xmlDebugDumpOneNode'/>
-          <ref name='xmlNanoFTPUpdateURL'/>
-          <ref name='xmlNanoHTTPFetch'/>
-          <ref name='xmlNanoHTTPMethod'/>
-          <ref name='xmlNanoHTTPMethodRedir'/>
-          <ref name='xmlNanoHTTPOpen'/>
-          <ref name='xmlNanoHTTPOpenRedir'/>
-          <ref name='xmlNewTextReader'/>
-          <ref name='xmlRelaxNGGetParserErrors'/>
-          <ref name='xmlSchemaGetParserErrors'/>
-          <ref name='xmlSchemaValidateSetFilename'/>
-          <ref name='xmlSchemaValidateSetLocator'/>
-          <ref name='xmlSchemaValidateStream'/>
-          <ref name='xmlSchemaValidityLocatorFunc'/>
-          <ref name='xmlTextReaderByteConsumed'/>
-          <ref name='xmlXPathOrderDocElems'/>
-        </word>
-        <word name='informations'>
-          <ref name='_xmlAttr'/>
-          <ref name='_xmlDoc'/>
-          <ref name='_xmlNode'/>
-          <ref name='_xmlParserCtxt'/>
-          <ref name='endElementNsSAX2Func'/>
-          <ref name='startElementNsSAX2Func'/>
-          <ref name='xmlDebugDumpString'/>
-          <ref name='xmlErrMemory'/>
-          <ref name='xmlNanoFTPCleanup'/>
-          <ref name='xmlNanoFTPInit'/>
-          <ref name='xmlNanoFTPProxy'/>
-          <ref name='xmlNanoFTPScanProxy'/>
-          <ref name='xmlNanoHTTPInit'/>
-          <ref name='xmlNanoHTTPScanProxy'/>
-          <ref name='xmlParserPrintFileInfo'/>
-          <ref name='xmlRegExecErrInfo'/>
-          <ref name='xmlRegExecNextValues'/>
-          <ref name='xmlRelaxNGGetValidErrors'/>
-          <ref name='xmlRelaxNGSetValidErrors'/>
-          <ref name='xmlRelaxParserSetFlag'/>
-          <ref name='xmlSAX2EndElementNs'/>
-          <ref name='xmlSAX2StartElementNs'/>
-          <ref name='xmlSchemaGetValidErrors'/>
-          <ref name='xmlSchemaSetValidErrors'/>
-          <ref name='xmlSchemaValidityLocatorFunc'/>
-          <ref name='xmlShellDir'/>
-          <ref name='xmlXIncludeProcessNode'/>
-        </word>
         <word name='informative'>
           <ref name='_xmlError'/>
         </word>
@@ -25555,7 +25516,6 @@
           <ref name='xmlXPathMultValues'/>
         </word>
         <word name='multithreaded'>
-          <ref name='htmlInitAutoClose'/>
           <ref name='xmlCleanupParser'/>
           <ref name='xmlCleanupThreads'/>
           <ref name='xmlInitParser'/>
@@ -25596,7 +25556,6 @@
           <ref name='_xmlDoc'/>
           <ref name='_xmlParserCtxt'/>
           <ref name='_xmlSchema'/>
-          <ref name='htmlInitAutoClose'/>
           <ref name='xmlGetFeaturesList'/>
           <ref name='xmlHashAddEntry'/>
           <ref name='xmlHashScan3'/>
@@ -25758,6 +25717,9 @@
           <ref name='XML_SCHEMAS_ELEM_NILLABLE'/>
           <ref name='xmlExpIsNillable'/>
         </word>
+        <word name='no-op'>
+          <ref name='htmlInitAutoClose'/>
+        </word>
         <word name='nod'>
           <ref name='xmlEntityReferenceFunc'/>
         </word>
@@ -25937,6 +25899,7 @@
           <ref name='XML_CAST_FPTR'/>
           <ref name='_xmlSchema'/>
           <ref name='_xmlSchemaElement'/>
+          <ref name='htmlInitAutoClose'/>
           <ref name='xmlDecodeEntities'/>
           <ref name='xmlParserHandleReference'/>
           <ref name='xmlScanName'/>
@@ -26132,7 +26095,6 @@
           <ref name='xmlXPathStringLengthFunction'/>
         </word>
         <word name='once'>
-          <ref name='htmlInitAutoClose'/>
           <ref name='xmlAutomataNewOnceTrans'/>
           <ref name='xmlAutomataNewOnceTrans2'/>
           <ref name='xmlCleanupThreads'/>
@@ -26646,6 +26608,7 @@
           <ref name='xmlNewChild'/>
           <ref name='xmlNewDocNode'/>
           <ref name='xmlNewDocNodeEatName'/>
+          <ref name='xmlNewDocProp'/>
           <ref name='xmlNodeSetContent'/>
           <ref name='xmlNodeSetContentLen'/>
         </word>
@@ -27023,7 +26986,6 @@
           <ref name='xmlValidNormalizeAttributeValue'/>
         </word>
         <word name='processed'>
-          <ref name='_xmlParserCtxt'/>
           <ref name='startDocument'/>
           <ref name='startDocumentSAXFunc'/>
           <ref name='startElement'/>
@@ -27061,6 +27023,8 @@
           <ref name='xmlStringLenGetNodeList'/>
         </word>
         <word name='produced'>
+          <ref name='UTF8Toisolat1'/>
+          <ref name='isolat1ToUTF8'/>
           <ref name='xmlCharEncodingOutputFunc'/>
           <ref name='xmlCurrentChar'/>
         </word>
@@ -27077,7 +27041,6 @@
           <ref name='xmlXPtrNewContext'/>
         </word>
         <word name='programs'>
-          <ref name='htmlInitAutoClose'/>
           <ref name='xmlInitParser'/>
         </word>
         <word name='progressed'>
@@ -27561,7 +27524,6 @@
           <ref name='xmlNanoHTTPRedir'/>
         </word>
         <word name='reentrant'>
-          <ref name='htmlInitAutoClose'/>
           <ref name='xmlEncodeEntitiesReentrant'/>
           <ref name='xmlEncodeSpecialChars'/>
           <ref name='xmlFreeRMutex'/>
@@ -27629,6 +27591,7 @@
           <ref name='xmlGetCharEncodingHandler'/>
           <ref name='xmlGetLastError'/>
           <ref name='xmlPopInputCallbacks'/>
+          <ref name='xmlPopOutputCallbacks'/>
           <ref name='xmlRegisterInputCallbacks'/>
           <ref name='xmlRegisterOutputCallbacks'/>
           <ref name='xmlResetLastError'/>
@@ -28223,7 +28186,6 @@
           <ref name='xmlGcMemGet'/>
           <ref name='xmlMemGet'/>
           <ref name='xmlNanoHTTPFetch'/>
-          <ref name='xmlSaveTree'/>
           <ref name='xmlShell'/>
           <ref name='xmlShellSave'/>
         </word>
@@ -28430,6 +28392,7 @@
           <ref name='xmlParseAttValue'/>
           <ref name='xmlParseBalancedChunkMemory'/>
           <ref name='xmlParseBalancedChunkMemoryRecover'/>
+          <ref name='xmlParseContent'/>
           <ref name='xmlParseInNodeContext'/>
           <ref name='xmlParserAddNodeInfo'/>
           <ref name='xmlParserFindNodeInfoIndex'/>
@@ -28890,6 +28853,7 @@
           <ref name='xmlNewChild'/>
           <ref name='xmlNewDocNode'/>
           <ref name='xmlNewDocNodeEatName'/>
+          <ref name='xmlNewDocProp'/>
           <ref name='xmlNodeAddContent'/>
           <ref name='xmlNodeAddContentLen'/>
           <ref name='xmlNodeSetContent'/>
@@ -29513,6 +29477,7 @@
           <ref name='xmlNewChild'/>
           <ref name='xmlNewDocNode'/>
           <ref name='xmlNewDocNodeEatName'/>
+          <ref name='xmlNewDocProp'/>
           <ref name='xmlNodeAddContent'/>
           <ref name='xmlNodeAddContentLen'/>
           <ref name='xmlNodeSetContent'/>
@@ -29539,6 +29504,7 @@
           <ref name='xmlPushInput'/>
         </word>
         <word name='symbol'>
+          <ref name='XMLPUBLIC'/>
           <ref name='xmlModuleSymbol'/>
         </word>
         <word name='synchronizing'>
@@ -29579,7 +29545,6 @@
           <ref name='htmlAutoCloseTag'/>
           <ref name='htmlGetMetaEncoding'/>
           <ref name='htmlHandleOmittedElem'/>
-          <ref name='htmlInitAutoClose'/>
           <ref name='htmlIsAutoClosed'/>
           <ref name='htmlSetMetaEncoding'/>
         </word>
@@ -29851,9 +29816,9 @@
           <ref name='xmlNamespaceParseNSDef'/>
           <ref name='xmlNamespaceParseQName'/>
           <ref name='xmlPopInputCallbacks'/>
+          <ref name='xmlPopOutputCallbacks'/>
           <ref name='xmlPushInput'/>
           <ref name='xmlReconciliateNs'/>
-          <ref name='xmlSaveTree'/>
           <ref name='xmlSetTreeDoc'/>
         </word>
         <word name='total'>
@@ -31145,6 +31110,7 @@
           <ref name='xmlNewChild'/>
           <ref name='xmlNewDocNode'/>
           <ref name='xmlNewDocNodeEatName'/>
+          <ref name='xmlNewDocProp'/>
           <ref name='xmlNodeSetContent'/>
           <ref name='xmlNodeSetContentLen'/>
         </word>
@@ -31252,7 +31218,6 @@
           <ref name='xmlSaveFormatFileEnc'/>
         </word>
         <word name='xmlInitParser'>
-          <ref name='htmlInitAutoClose'/>
           <ref name='xmlCleanupParser'/>
         </word>
         <word name='xmlInitThreads'>
@@ -31380,6 +31345,9 @@
         <word name='xmlNewNode'>
           <ref name='xmlNewNodeEatName'/>
         </word>
+        <word name='xmlNewProp'>
+          <ref name='xmlNewDocProp'/>
+        </word>
         <word name='xmlNewTextChild'>
           <ref name='xmlNewChild'/>
           <ref name='xmlNewTextChild'/>
@@ -31949,6 +31917,7 @@
           <ref name='xmlDOMWrapCloneNode'/>
           <ref name='xmlNewDocNode'/>
           <ref name='xmlNewDocNodeEatName'/>
+          <ref name='xmlNewDocProp'/>
           <ref name='xmlNewTextChild'/>
           <ref name='xmlSchemaGetBuiltInType'/>
           <ref name='xmlSearchNs'/>
diff --git a/doc/libxml2.xsa b/doc/libxml2.xsa
index 07f97086..300bfec3 100644
--- a/doc/libxml2.xsa
+++ b/doc/libxml2.xsa
@@ -8,67 +8,140 @@
   </vendor>
   <product id="libxml2">
     <name>libxml2</name>
-    <version>v2.9.9</version>
-    <last-release> Jan 03 2019</last-release>
+    <version>v2.9.10</version>
+    <last-release> Oct 30 2019</last-release>
     <info-url>http://xmlsoft.org/</info-url>
-    <changes>   - Security:
-  CVE-2018-9251 CVE-2018-14567 Fix infinite loop in LZMA decompression (Nick Wellnhofer),
-  CVE-2018-14404 Fix nullptr deref with XPath logic ops (Nick Wellnhofer),
-  
-   - Documentation:
-  reader: Fix documentation comment (Mohammed Sadiq)
+    <changes>   - Documentation:
+  Fix a few more typos ("fonction") (Nick Wellnhofer),
+  Large batch of typo fixes (Jared Yanovich),
+  Fix typos: tree: move{ -&gt; s}, reconcil{i -&gt; }ed, h{o -&gt; e}ld by... (Jan Pokorný),
+  Fix typo: xpath: simpli{ -&gt; fi}ed (Jan Pokorný),
+  Doc: do not mislead towards "infeasible" scenario wrt. xmlBufNodeDump (Jan Pokorný),
+  Fix comments in test code (zhouzhongyuan),
+  fix comment in testReader.c (zhouzhongyuan)
   
    - Portability:
-  Fix MSVC build with lzma (Nick Wellnhofer),
-  Variables need 'extern' in static lib on Cygwin (Michael Haubenwallner),
-  Really declare dllexport/dllimport for Cygwin (Michael Haubenwallner),
-  Merge branch 'patch-2' into 'master' (Nick Wellnhofer),
-  Change dir to $THEDIR after ACLOCAL_PATH check autoreconf creates aclocal.m4 in $srcdir (Vitaly Buka),
-  Improve error message if pkg.m4 couldn't be found (Nick Wellnhofer),
-  NaN and Inf fixes for pre-C99 compilers (Nick Wellnhofer)
+  Fix some release issues on Fedora 30 (Daniel Veillard),
+  Fix exponent digits when running tests under old MSVC (Daniel Richard G),
+  Work around buggy ceil() function on AIX (Daniel Richard G),
+  Don't call printf with NULL string in runtest.c (Daniel Richard G),
+  Switched from unsigned long to ptrdiff_t in parser.c (Stephen Chenney),
+  timsort.h: support older GCCs (Jérôme Duval),
+  Make configure.ac work with older pkg-config (Nick Wellnhofer),
+  Stop defining _REENTRANT on some Win32 platforms (Nick Wellnhofer),
+  Fix nanohttp.c on MinGW (Nick Wellnhofer),
+  Fix Windows compiler warning in testC14N.c (Nick Wellnhofer),
+  Merge testThreadsWin32.c into testThreads.c (Nick Wellnhofer),
+  Fix Python bindings under Windows (Nick Wellnhofer)
   
    - Bug Fixes:
-  Revert "Support xmlTextReaderNextSibling w/o preparsed doc" (Nick Wellnhofer),
-  Fix building relative URIs (Thomas Holder),
-  Problem with data in interleave in RelaxNG validation (Nikolai Weibull),
-  Fix memory leak in xmlSwitchInputEncodingInt error path (Nick Wellnhofer),
-  Set doc on element obtained from freeElems (Nick Wellnhofer),
-  Fix HTML serialization with UTF-8 encoding (Nick Wellnhofer),
-  Use actual doc in xmlTextReaderRead*Xml (Nick Wellnhofer),
-  Unlink node before freeing it in xmlSAX2StartElement (Nick Wellnhofer),
-  Check return value of nodePush in xmlSAX2StartElement (Nick Wellnhofer),
-  Free input buffer in xmlHaltParser (Nick Wellnhofer),
-  Reset HTML parser input pointers on encoding failure (Nick Wellnhofer),
-  Don't run icu_parse_test if EUC-JP is unsupported (Nick Wellnhofer),
-  Fix xmlSchemaValidCtxtPtr reuse memory leak (Greg Hildstrom),
-  Fix xmlTextReaderNext with preparsed document (Felix Bünemann),
-  Remove stray character from comment (Nick Wellnhofer),
-  Remove a misleading line from xmlCharEncOutput (Andrey Bienkowski),
-  HTML noscript should not close p (Daniel Veillard),
-  Don't change context node in xmlXPathRoot (Nick Wellnhofer),
-  Stop using XPATH_OP_RESET (Nick Wellnhofer),
-  Revert "Change calls to xmlCharEncInput to set flush false" (Nick Wellnhofer)
+  Another fix for conditional sections at end of document (Nick Wellnhofer),
+  Fix for conditional sections at end of document (Nick Wellnhofer),
+  Make sure that Python tests exit with error code (Nick Wellnhofer),
+  Audit memory error handling in xpath.c (Nick Wellnhofer),
+  Fix error code in xmlTextWriterStartDocument (Nick Wellnhofer),
+  Fix integer overflow when counting written bytes (Nick Wellnhofer),
+  Fix uninitialized memory access in HTML parser (Nick Wellnhofer),
+  Fix memory leak in xmlSchemaValAtomicType (Nick Wellnhofer),
+  Disallow conditional sections in internal subset (Nick Wellnhofer),
+  Fix use-after-free in xmlTextReaderFreeNodeList (Nick Wellnhofer),
+  Fix Regextests (Nick Wellnhofer),
+  Fix empty branch in regex (Nick Wellnhofer),
+  Fix integer overflow in entity recursion check (Nick Wellnhofer),
+  Don't read external entities or XIncludes from stdin (Nick Wellnhofer),
+  Fix Schema determinism check of ##other namespaces (Nick Wellnhofer),
+  Fix potential null deref in xmlSchemaIDCFillNodeTables (zhouzhongyuan),
+  Fix potential memory leak in xmlBufBackToBuffer (Nick Wellnhofer),
+  Fix error message when processing XIncludes with fallbacks (Nick Wellnhofer),
+  Fix memory leak in xmlRegEpxFromParse (zhouzhongyuan),
+  14:00 is a valid timezone for xs:dateTime (Nick Wellnhofer),
+  Fix memory leak in xmlParseBalancedChunkMemoryRecover (Zhipeng Xie),
+  Fix potential null deref in xmlRelaxNGParsePatterns (Nick Wellnhofer),
+  Misleading error message with xs:{min|max}Inclusive (bettermanzzy),
+  Fix memory leak in xmlXIncludeLoadTxt (Wang Kirin),
+  Partial fix for comparison of xs:durations (Nick Wellnhofer),
+  Fix null deref in xmlreader buffer (zhouzhongyuan),
+  Fix unability to RelaxNG-validate grammar with choice-based name class (Jan Pokorný),
+  Fix unability to validate ambiguously constructed interleave for RelaxNG (Jan Pokorný),
+  Fix possible null dereference in xmlXPathIdFunction (zhouzhongyuan),
+  fix memory leak in xmlAllocOutputBuffer (zhouzhongyuan),
+  Fix unsigned int overflow (Jens Eggerstedt),
+  dict.h: gcc 2.95 doesn't allow multiple storage classes (Nick Wellnhofer),
+  Fix another code path in xmlParseQName (Nick Wellnhofer),
+  Make sure that xmlParseQName returns NULL in error case (Nick Wellnhofer),
+  Fix build without reader but with pattern (Nick Wellnhofer),
+  Fix memory leak in xmlAllocOutputBufferInternal error path (Nick Wellnhofer),
+  Fix unsigned integer overflow (Nick Wellnhofer),
+  Fix return value of xmlOutputBufferWrite (Nick Wellnhofer),
+  Fix parser termination from "Double hyphen within comment" error (David Warring),
+  Fix call stack overflow in xmlFreePattern (Nick Wellnhofer),
+  Fix null deref in previous commit (Nick Wellnhofer),
+  Fix memory leaks in xmlXPathParseNameComplex error paths (Nick Wellnhofer),
+  Check for integer overflow in xmlXPtrEvalChildSeq (Nick Wellnhofer),
+  Fix xmllint dump of XPath namespace nodes (Nick Wellnhofer),
+  Fix float casts in xmlXPathSubstringFunction (Nick Wellnhofer),
+  Fix null deref in xmlregexp error path (Nick Wellnhofer),
+  Fix null pointer dereference in xmlTextReaderReadOuterXml (Nick Wellnhofer),
+  Fix memory leaks in xmlParseStartTag2 error paths (Nick Wellnhofer),
+  Fix memory leak in xmlSAX2StartElement (Nick Wellnhofer),
+  Fix commit "Memory leak in xmlFreeID (xmlreader.c)" (Nick Wellnhofer),
+  Fix NULL pointer deref in xmlTextReaderValidateEntity (Nick Wellnhofer),
+  Memory leak in xmlFreeTextReader (Nick Wellnhofer),
+  Memory leak in xmlFreeID (xmlreader.c) (Nick Wellnhofer)
   
    - Improvements:
-  Fix "Problem with data in interleave in RelaxNG validation" (Nikolai Weibull),
-  cleanup: remove some unreachable code (Thomas Holder),
-  add --relative to testURI (Thomas Holder),
-  Remove redefined starts and defines inside include elements (Nikolai Weibull),
-  Allow choice within choice in nameClass in RELAX NG (Nikolai Weibull),
-  Look inside divs for starts and defines inside include (Nikolai Weibull),
-  Add compile and libxml2-config.cmake to .gitignore (Nikolai Weibull),
-  Stop using doc-&gt;charset outside parser code (Nick Wellnhofer),
-  Add newlines to 'xmllint --xpath' output (Nick Wellnhofer),
-  Don't include SAX.h from globals.h (Nick Wellnhofer),
-  Support xmlTextReaderNextSibling w/o preparsed doc (Felix Bünemann),
-  Don't instruct user to run make when autogen.sh failed (林博仁(Buo-ren Lin)),
-  Run Travis ASan tests with "sudo: required" (Nick Wellnhofer),
-  Improve restoring of context size and position (Nick Wellnhofer),
-  Simplify and harden nodeset filtering (Nick Wellnhofer),
-  Avoid unnecessary backups of the context node (Nick Wellnhofer),
-  Fix inconsistency in xmlXPathIsInf (Nick Wellnhofer)
+  Run XML conformance tests under CI (Nick Wellnhofer),
+  Update GitLab CI config (Nick Wellnhofer),
+  Propagate memory errors in valuePush (Nick Wellnhofer),
+  Propagate memory errors in xmlXPathCompExprAdd (Nick Wellnhofer),
+  Make xmlFreeDocElementContent non-recursive (Nick Wellnhofer),
+  Enable continuous integration via GitLab CI (Nick Wellnhofer),
+  Avoid ignored attribute warnings under GCC (Nick Wellnhofer),
+  Make xmlDumpElementContent non-recursive (Nick Wellnhofer),
+  Make apibuild.py ignore ATTRIBUTE_NO_SANITIZE (Nick Wellnhofer),
+  Mark xmlExp* symbols as removed (Nick Wellnhofer),
+  Make xmlParseConditionalSections non-recursive (Nick Wellnhofer),
+  Adjust expected error in Python tests (Nick Wellnhofer),
+  Make xmlTextReaderFreeNodeList non-recursive (Nick Wellnhofer),
+  Make xmlFreeNodeList non-recursive (Nick Wellnhofer),
+  Make xmlParseContent and xmlParseElement non-recursive (Nick Wellnhofer),
+  Remove executable bit from non-executable files (Nick Wellnhofer),
+  Fix expected output of test/schemas/any4 (Nick Wellnhofer),
+  Optimize build instructions in README (zhouzhongyuan),
+  xml2-config.in: Output CFLAGS and LIBS on the same line (Hugh McMaster),
+  xml2-config: Add a --dynamic switch to print only shared libraries (Hugh McMaster),
+  Annotate functions with __attribute__((no_sanitize)) (Nick Wellnhofer),
+  Fix warnings when compiling without reader or push parser (Nick Wellnhofer),
+  Remove unused member `doc` in xmlSaveCtxt (Nick Wellnhofer),
+  Limit recursion depth in xmlXPathCompOpEvalPredicate (Nick Wellnhofer),
+  Remove -Wno-array-bounds (Nick Wellnhofer),
+  Remove unreachable code in xmlXPathCountFunction (Nick Wellnhofer),
+  Improve XPath predicate and filter evaluation (Nick Wellnhofer),
+  Limit recursion depth in xmlXPathOptimizeExpression (Nick Wellnhofer),
+  Disable hash randomization when fuzzing (Nick Wellnhofer),
+  Optional recursion limit when parsing XPath expressions (Nick Wellnhofer),
+  Optional recursion limit when evaluating XPath expressions (Nick Wellnhofer),
+  Use break statements in xmlXPathCompOpEval (Nick Wellnhofer),
+  Optional XPath operation limit (Nick Wellnhofer),
+  Fix compilation with --with-minimum (Nick Wellnhofer),
+  Check XPath stack after calling functions (Nick Wellnhofer),
+  Remove debug printf in xmlreader.c (Nick Wellnhofer),
+  Always define LIBXML_THREAD_ENABLED when enabled (Michael Haubenwallner),
+  Regenerate NEWS (Nick Wellnhofer),
+  Change git repo URL (Nick Wellnhofer),
+  Change bug tracker URL (Nick Wellnhofer),
+  Remove outdated HTML file (Nick Wellnhofer),
+  Fix unused function warning in testapi.c (Nick Wellnhofer),
+  Add some generated test files to .gitignore (Nick Wellnhofer),
+  Remove unneeded function pointer casts (Nick Wellnhofer),
+  Fix -Wcast-function-type warnings (GCC 8) (Nick Wellnhofer),
+  Fix -Wformat-truncation warnings (GCC 8) (Nick Wellnhofer)
   
    - Cleanups:
+  Rebuild docs (Nick Wellnhofer),
+  Disable xmlExp regex code (Nick Wellnhofer),
+  Remove redundant code in xmlRelaxNGValidateState (Nick Wellnhofer),
+  Remove redundant code in xmlXPathCompRelationalExpr (Nick Wellnhofer)
   
 
 </changes>
diff --git a/doc/news.html b/doc/news.html
index 434a09e9..f2ac51ae 100644
--- a/doc/news.html
+++ b/doc/news.html
@@ -8,7 +8,259 @@ H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
 </style><title>Releases</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" 
vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td 
width="120"><a href="http://swpat.ffii.org/";><img src="epatents.png" alt="Action against software patents" 
/></a></td><td width="180"><a href="http://www.gnome.org/";><img src="gnome2.png" alt="Gnome2 Logo" /></a><a 
href="http://www.w3.org/Status";><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/";><img 
src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/";><img 
src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" 
width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" 
border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and 
toolkit of Gnome</h1><h2>Releases</h2></td></tr></table></td></tr></ta
 ble></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td 
bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" 
width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" 
bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" 
bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form 
action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" 
size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a 
href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a 
href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" 
style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting 
 bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a 
href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a 
href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation 
&amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog 
support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a 
href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code 
Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a 
href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent 
Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td 
colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td 
bgcolor="#fffacd"><ul><li><a href="http://mail.
 gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/";>XSLT 
libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/";>DOM gdome2</a></li><li><a 
href="http://www.aleksey.com/xmlsec/";>XML-DSig xmlsec</a></li><li><a 
href="ftp://xmlsoft.org/";>FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/";>Windows 
binaries</a></li><li><a href="http://opencsw.org/packages/libxml2";>Solaris binaries</a></li><li><a 
href="http://www.explain.com.au/oss/libxml2xslt.html";>MacOsX binaries</a></li><li><a 
href="http://lxml.de/";>lxml Python bindings</a></li><li><a 
href="http://cpan.uwinnipeg.ca/dist/XML-LibXML";>Perl bindings</a></li><li><a 
href="http://libxmlplusplus.sourceforge.net/";>C++ bindings</a></li><li><a 
href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4";>PHP bindings</a></li><li><a 
href="http://sourceforge.net/projects/libxml2-pas/";>Pascal bindings</a></li><li><a 
href="http://libxml.rubyforge.org/";>Ruby bindings</a></li><li><a href="http://
 tclxml.sourceforge.net/">Tcl bindings</a></li><li><a 
href="https://gitlab.gnome.org/GNOME/libxml2/issues";>Bug 
Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table 
border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" 
cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" 
width="100%"><tr><td bgcolor="#fffacd"><p>The <a href="ChangeLog.html">change log</a> describes the recents 
commits
-to the <a href="https://gitlab.gnome.org/GNOME/libxml2";>GIT</a> code base.</p><p>Here is the list of public 
releases:</p><h3>v2.9.10: Oct 30 2019</h3><ul>
+to the <a href="https://gitlab.gnome.org/GNOME/libxml2";>GIT</a> code base.</p><p>Here is the list of public 
releases:</p><h3>v2.9.11: May 13 2021</h3><ul>
+  <li>Security:<br />
+  Patch for security issue CVE-2021-3541 (Daniel Veillard)<br />
+  </li>
+
+  <li>Documentation:<br />
+  Clarify xmlNewDocProp documentation (Nick Wellnhofer)<br />
+  </li>
+
+  <li>Portability:<br />
+  CMake: Only add postfixes if MSVC (Christopher Degawa),<br />
+  Fix XPath NaN/Inf for older GCC versions (Nick Wellnhofer),<br />
+  Use CMake PROJECT_VERSION (Markus Rickert),<br />
+  Fix warnings in libxml.m4 with autoconf 2.70+. (Simon Josefsson),<br />
+  Add CI for CMake on MSVC (Markus Rickert),<br />
+  Update minimum required CMake version (Markus Rickert),<br />
+  Add variables for configured options to CMake config files (Markus Rickert),<br />
+  Check if variables exist when defining targets (Markus Rickert),<br />
+  Check if target exists when reading target properties (Markus Rickert),<br />
+  Add xmlcatalog target and definition to config files (Markus Rickert),<br />
+  Remove include directories for link-only dependencies (Markus Rickert),<br />
+  Fix ICU build in CMake (Markus Rickert),<br />
+  Configure pkgconfig, xml2-config, and xml2Conf.sh file (Markus Rickert),<br />
+  Update CMake config files (Markus Rickert),<br />
+  Add xmlcatalog and xmllint to CMake export (Markus Rickert),<br />
+  Simplify xmlexports.h (Nick Wellnhofer),<br />
+  Require dependencies based on enabled CMake options (Markus Rickert),<br />
+  Use NAMELINK_COMPONENT in CMake install (Markus Rickert),<br />
+  Add CMake files to EXTRA_DIST (Markus Rickert),<br />
+  Add missing compile definition for static builds to CMake (Markus Rickert),<br />
+  Add CI for CMake on Linux and MinGW (Markus Rickert),<br />
+  Fix variable name in win32/configure.js (Nick Wellnhofer),<br />
+  Fix version parsing in win32/configure.js (Nick Wellnhofer),<br />
+  Fix autotools warnings (Nick Wellnhofer),<br />
+  Update config.h.cmake.in (Markus Rickert),<br />
+  win32: allow passing *FLAGS on command line (Michael Stahl),<br />
+  Configure file xmlwin32version.h.in on MSVC (Markus Rickert),<br />
+  List headers individually (Markus Rickert),<br />
+  Add CMake build files (Markus Rickert),<br />
+  Parenthesize Py&lt;type&gt;_Check() in ifs (Miro Hrončok),<br />
+  Minor fixes to configure.js (Nick Wellnhofer)<br />
+  </li>
+
+  <li>Bug Fixes:<br />
+  Fix null deref in legacy SAX1 parser (Nick Wellnhofer),<br />
+  Fix handling of unexpected EOF in xmlParseContent (Nick Wellnhofer),<br />
+  Fix line numbers in error messages for mismatched tags (Nick Wellnhofer),<br />
+  Fix htmlTagLookup (Nick Wellnhofer),<br />
+  Propagate error in xmlParseElementChildrenContentDeclPriv (Nick Wellnhofer),<br />
+  Fix user-after-free with `xmllint --xinclude --dropdtd` (Nick Wellnhofer),<br />
+  Fix dangling pointer with `xmllint --dropdtd` (Nick Wellnhofer),<br />
+  Validate UTF8 in xmlEncodeEntities (Joel Hockey),<br />
+  Fix use-after-free with `xmllint --html --push` (Nick Wellnhofer),<br />
+  Allow FP division by zero in xmlXPathInit (Nick Wellnhofer),<br />
+  Fix xmlGetNodePath with invalid node types (Nick Wellnhofer),<br />
+  Fix exponential behavior with recursive entities (Nick Wellnhofer),<br />
+  Fix quadratic behavior when looking up xml:* attributes (Nick Wellnhofer),<br />
+  Fix slow parsing of HTML with encoding errors (Nick Wellnhofer),<br />
+  Fix null deref introduced with previous commit (Nick Wellnhofer),<br />
+  Check for invalid redeclarations of predefined entities (Nick Wellnhofer),<br />
+  Add the copy of type from original xmlDoc in xmlCopyDoc() (SVGAnimate),<br />
+  parser.c: shrink the input buffer when appropriate (Mike Dalessio),<br />
+  Fix infinite loop in HTML parser introduced with recent commits (Nick Wellnhofer),<br />
+  Fix quadratic runtime when parsing CDATA sections (Nick Wellnhofer),<br />
+  Fix timeout when handling recursive entities (Nick Wellnhofer),<br />
+  Fix memory leak in xmlParseElementMixedContentDecl (Nick Wellnhofer),<br />
+  Fix null deref in xmlStringGetNodeList (Nick Wellnhofer),<br />
+  use new htmlParseLookupCommentEnd to find comment ends (Mike Dalessio),<br />
+  htmlParseComment: treat `--!&gt;` as if it closed the comment (Mike Dalessio),<br />
+  Fix integer overflow in xmlSchemaGetParticleTotalRangeMin (Nick Wellnhofer),<br />
+  encoding: fix memleak in xmlRegisterCharEncodingHandler() (Xiaoming Ni),<br />
+  xmlschemastypes.c: xmlSchemaGetFacetValueAsULong add, check "facet-&gt;val" (Xiaoming Ni),<br />
+  Fix null pointer deref in xmlXPtrRangeInsideFunction (Nick Wellnhofer),<br />
+  Fix quadratic runtime in HTML push parser with null bytes (Nick Wellnhofer),<br />
+  Avoid quadratic checking of identity-constraints (Michael Matz),<br />
+  Fix building with ICU 68. (Frederik Seiffert),<br />
+  Convert python/libxml.c to PY_SSIZE_T_CLEAN (Victor Stinner),<br />
+  Fix xmlURIEscape memory leaks. (Elliott Hughes),<br />
+  Avoid call stack overflow with XML reader and recursive XIncludes (Nick Wellnhofer),<br />
+  Fix caret in regexp character group (Nick Wellnhofer),<br />
+  parser.c: xmlParseCharData peek behavior fixed wrt newlines (Mike Dalessio),<br />
+  Fix memory leaks in XPointer string-range function (Nick Wellnhofer),<br />
+  Fix use-after-free when XIncluding text from Reader (Nick Wellnhofer),<br />
+  Fix SEGV in xmlSAXParseFileWithData (yanjinjq),<br />
+  Fix null deref in XPointer expression error path (Nick Wellnhofer),<br />
+  Don't call xmlXPathInit directly (Nick Wellnhofer),<br />
+  Fix cleanup of attributes in XML reader (Nick Wellnhofer),<br />
+  Fix double free in XML reader with XIncludes (Nick Wellnhofer),<br />
+  Fix memory leak in xmlXIncludeAddNode error paths (Nick Wellnhofer),<br />
+  Revert "Fix quadratic runtime in xi:fallback processing" (Nick Wellnhofer),<br />
+  Fix error reporting with xi:fallback (Nick Wellnhofer),<br />
+  Fix quadratic runtime in xi:fallback processing (Nick Wellnhofer),<br />
+  Fix corner case with empty xi:fallback (Nick Wellnhofer),<br />
+  Fix XInclude regression introduced with recent commit (Nick Wellnhofer),<br />
+  Fix memory leak in runtest.c (Nick Wellnhofer),<br />
+  Make "xmllint --push --recovery" work (Nick Wellnhofer),<br />
+  Revert "Do not URI escape in server side includes" (Nick Wellnhofer),<br />
+  Fix column number accounting in xmlParse*NameAndCompare (Nick Wellnhofer),<br />
+  Stop counting nbChars in parser context (Nick Wellnhofer),<br />
+  Fix out-of-bounds read with 'xmllint --htmlout' (Nick Wellnhofer),<br />
+  Fix exponential runtime and memory in xi:fallback processing (Nick Wellnhofer),<br />
+  Don't process siblings of root in xmlXIncludeProcess (Nick Wellnhofer),<br />
+  Don't recurse into xi:include children in xmlXIncludeDoProcess (Nick Wellnhofer),<br />
+  Fix memory leak in xmlXIncludeIncludeNode error paths (Nick Wellnhofer),<br />
+  Check for custom free function in global destructor (Nick Wellnhofer),<br />
+  Fix integer overflow when comparing schema dates (Nick Wellnhofer),<br />
+  Fix exponential runtime in xmlFARecurseDeterminism (Nick Wellnhofer),<br />
+  Don't try to handle namespaces when building HTML documents (Nick Wellnhofer),<br />
+  Fix several quadratic runtime issues in HTML push parser (Nick Wellnhofer),<br />
+  Fix quadratic runtime when push parsing HTML start tags (Nick Wellnhofer),<br />
+  Reset XML parser input before reporting errors (David Kilzer),<br />
+  Fix quadratic runtime when push parsing HTML entity refs (Nick Wellnhofer),<br />
+  Fix HTML push parser lookahead (Nick Wellnhofer),<br />
+  Make htmlCurrentChar always translate U+0000 (Nick Wellnhofer),<br />
+  Fix UTF-8 decoder in HTML parser (Nick Wellnhofer),<br />
+  Fix quadratic runtime when parsing HTML script content (Nick Wellnhofer),<br />
+  Reset HTML parser input before reporting error (Nick Wellnhofer),<br />
+  Fix more quadratic runtime issues in HTML push parser (Nick Wellnhofer),<br />
+  Fix regression introduced with 477c7f6a (Nick Wellnhofer),<br />
+  Fix quadratic runtime in HTML parser (Nick Wellnhofer),<br />
+  Reset HTML parser input before reporting encoding error (Nick Wellnhofer),<br />
+  Fix integer overflow in xmlFAParseQuantExact (Nick Wellnhofer),<br />
+  Fix return value of xmlC14NDocDumpMemory (Nick Wellnhofer),<br />
+  Don't follow next pointer on documents in xmlXPathRunStreamEval (Nick Wellnhofer),<br />
+  Fix integer overflow in _xmlSchemaParseGYear (Nick Wellnhofer),<br />
+  Fix integer overflow when parsing {min,max}Occurs (Nick Wellnhofer),<br />
+  Fix another memory leak in xmlSchemaValAtomicType (Nick Wellnhofer),<br />
+  Fix unsigned integer overflow in htmlParseTryOrFinish (Nick Wellnhofer),<br />
+  Fix integer overflow in htmlParseCharRef (Nick Wellnhofer),<br />
+  Fix undefined behavior in UTF16LEToUTF8 (Nick Wellnhofer),<br />
+  Fix return value of xmlCharEncOutput (Nick Wellnhofer),<br />
+  Never expand parameter entities in text declaration (Nick Wellnhofer),<br />
+  Fix undefined behavior in xmlXPathTryStreamCompile (Nick Wellnhofer),<br />
+  Fix use-after-free with validating reader (Nick Wellnhofer),<br />
+  xmlParseBalancedChunkMemory must not be called with NULL doc (Nick Wellnhofer),<br />
+  Revert "Fix memory leak in xmlParseBalancedChunkMemoryRecover" (Nick Wellnhofer),<br />
+  Fix memory leak in xmlXIncludeLoadDoc error path (Nick Wellnhofer),<br />
+  Make schema validation fail with multiple top-level elements (Nick Wellnhofer),<br />
+  Call xmlCleanupParser on ELF destruction (Samuel Thibault),<br />
+  Fix copying of entities in xmlParseReference (Nick Wellnhofer),<br />
+  Fix memory leak in xmlSchemaValidateStream (Zhipeng Xie),<br />
+  Fix xmlSchemaGetCanonValue formatting for date and dateTime (Kevin Puetz),<br />
+  Fix memory leak when shared libxml.dll is unloaded (Kevin Puetz),<br />
+  Fix potentially-uninitialized critical section in Win32 DLL builds (Kevin Puetz),<br />
+  Fix integer overflow in xmlBufferResize (Nick Wellnhofer),<br />
+  Check for overflow when allocating two-dimensional arrays (Nick Wellnhofer),<br />
+  Remove useless comparisons (Nick Wellnhofer),<br />
+  Fix overflow check in xmlNodeDump (Nick Wellnhofer),<br />
+  Fix infinite loop in xmlStringLenDecodeEntities (Zhipeng Xie),<br />
+  Fix freeing of nested documents (Nick Wellnhofer),<br />
+  Fix more memory leaks in error paths of XPath parser (Nick Wellnhofer),<br />
+  Fix memory leaks of encoding handlers in xmlsave.c (Nick Wellnhofer),<br />
+  Fix xml2-config error code (Nick Wellnhofer),<br />
+  Fix memory leak in error path of XPath expr parser (Nick Wellnhofer),<br />
+  Fix overflow handling in xmlBufBackToBuffer (Nick Wellnhofer),<br />
+  Null pointer handling in catalog.c (raniervf),<br />
+  xml2-config.in: fix regressions introduced by commit 2f2bf4b2c (Dmitry V. Levin)<br />
+  </li>
+
+  <li>Improvements:<br />
+  Store per-element parser state in a struct (Nick Wellnhofer),<br />
+  update for xsd:language type check (PaulHiggs),<br />
+  Update INSTALL.libxml2 (Nick Wellnhofer),<br />
+  Fix include order in c14n.h (Nick Wellnhofer),<br />
+  Fix duplicate xmlStrEqual calls in htmlParseEndTag (Nick Wellnhofer),<br />
+  Speed up htmlCheckAutoClose (Nick Wellnhofer),<br />
+  Speed up htmlTagLookup (Nick Wellnhofer),<br />
+  Stop checking attributes for UTF-8 validity (Nick Wellnhofer),<br />
+  Reduce some fuzzer timeouts (Nick Wellnhofer),<br />
+  Only run a few CI tests unless scheduled (Nick Wellnhofer),<br />
+  Improve fuzzer stability (Nick Wellnhofer),<br />
+  Check for feature flags in fuzzer tests (Nick Wellnhofer),<br />
+  Another attempt at improving fuzzer stability (Nick Wellnhofer),<br />
+  Revert "Improve HTML fuzzer stability" (Nick Wellnhofer),<br />
+  Add charset names to fuzzing dictionaries (Nick Wellnhofer),<br />
+  Improve HTML fuzzer stability (Nick Wellnhofer),<br />
+  Add CI for MSVC x86 (Markus Rickert),<br />
+  Add a flag to not output anything when xmllint succeeded (hhb),<br />
+  Speed up HTML fuzzer (Nick Wellnhofer),<br />
+  Remove unused encoding parameter of HTML output functions (Nick Wellnhofer),<br />
+  Handle malloc failures in fuzzing code (Nick Wellnhofer),<br />
+  add test coverage for incorrectly-closed comments (Mike Dalessio),<br />
+  Enforce maximum length of fuzz input (Nick Wellnhofer),<br />
+  Remove temporary members from struct _xmlXPathContext (Nick Wellnhofer),<br />
+  Build the Python extension with PY_SSIZE_T_CLEAN (Victor Stinner),<br />
+  Add CI test for Python 3 (Nick Wellnhofer),<br />
+  Add fuzzing dictionaries to EXTRA_DIST (Nick Wellnhofer),<br />
+  Add 'fuzz' subdirectory to DIST_SUBDIRS (Nick Wellnhofer),<br />
+  Allow port numbers up to INT_MAX (Nick Wellnhofer),<br />
+  Handle dumps of corrupted documents more gracefully (Nick Wellnhofer),<br />
+  Limit size of free lists in XML reader when fuzzing (Nick Wellnhofer),<br />
+  Hardcode maximum XPath recursion depth (Nick Wellnhofer),<br />
+  Pass URL of main entity in XML fuzzer (Nick Wellnhofer),<br />
+  Consolidate seed corpus generation (Nick Wellnhofer),<br />
+  Test fuzz targets with dummy driver (Nick Wellnhofer),<br />
+  Fix regression introduced with commit d88df4b (Nick Wellnhofer),<br />
+  Fix regression introduced with commit 74dcc10b (Nick Wellnhofer),<br />
+  Add TODO comment in xinclude.c (Nick Wellnhofer),<br />
+  Stop using maxParserDepth in xpath.c (Nick Wellnhofer),<br />
+  Remove dead code in xinclude.c (Nick Wellnhofer),<br />
+  Don't add formatting newlines to XInclude nodes (Nick Wellnhofer),<br />
+  Don't use SAX1 if all element handlers are NULL (Nick Wellnhofer),<br />
+  Remove unneeded progress checks in HTML parser (Nick Wellnhofer),<br />
+  Use strcmp when fuzzing (Nick Wellnhofer),<br />
+  Fix XPath fuzzer (Nick Wellnhofer),<br />
+  Fuzz XInclude engine (Nick Wellnhofer),<br />
+  Add XPath and XPointer fuzzer (Nick Wellnhofer),<br />
+  Update fuzzing code (Nick Wellnhofer),<br />
+  More *NodeDumpOutput fixes (Nick Wellnhofer),<br />
+  Fix *NodeDumpOutput functions (Nick Wellnhofer),<br />
+  Make xmlNodeDumpOutputInternal non-recursive (Nick Wellnhofer),<br />
+  Make xhtmlNodeDumpOutput non-recursive (Nick Wellnhofer),<br />
+  Make htmlNodeDumpFormatOutput non-recursive (Nick Wellnhofer),<br />
+  Fix .gitattributes (Nick Wellnhofer),<br />
+  Rework control flow in htmlCurrentChar (Nick Wellnhofer),<br />
+  Make 'xmllint --html --push -' read from stdin (Nick Wellnhofer),<br />
+  Remove misleading comments in xpath.c (Nick Wellnhofer),<br />
+  Update to Devhelp index file format version 2 (Andre Klapper),<br />
+  Set project language to C (Markus Rickert),<br />
+  Add variable for working directory of XML Conformance Test Suite (Markus Rickert),<br />
+  Add additional tests and XML Conformance Test Suite (Markus Rickert),<br />
+  Add command line option for temp directory in runtest (Markus Rickert),<br />
+  Ensure LF line endings for test files (Markus Rickert),<br />
+  Enable runtests and testThreads (Markus Rickert),<br />
+  Limit regexp nesting depth (Nick Wellnhofer),<br />
+  Fix return values and documentation in encoding.c (Nick Wellnhofer),<br />
+  Add regexp regression tests (David Kilzer),<br />
+  Report error for invalid regexp quantifiers (Nick Wellnhofer),<br />
+  Fix rebuilding docs, by hiding __attribute__((...)) behind a macro. (Martin Vidner),<br />
+  Copy xs:duration parser from libexslt (Nick Wellnhofer),<br />
+  Fuzz target for XML Schemas (Nick Wellnhofer),<br />
+  Move entity recorder to fuzz.c (Nick Wellnhofer),<br />
+  Fuzz target for HTML parser (Nick Wellnhofer),<br />
+  Update GitLab CI container (Nick Wellnhofer),<br />
+  Add options file for xml fuzzer (Nick Wellnhofer),<br />
+  Add a couple of libFuzzer targets (Nick Wellnhofer),<br />
+  Guard new calls to xmlValidatePopElement in xml_reader.c (Daniel Cheng),<br />
+  Add LIBXML_VALID_ENABLED to xmlreader (Łukasz Wojniłowicz),<br />
+  Fix typos (Nick Wellnhofer),<br />
+  Disable LeakSanitizer (Nick Wellnhofer),<br />
+  Stop calling SAX getEntity handler from XMLReader (Nick Wellnhofer),<br />
+  Add test case for recursive external parsed entities (Nick Wellnhofer),<br />
+  Enable error tests with entity substitution (Nick Wellnhofer),<br />
+  Don't load external entity from xmlSAX2GetEntity (Nick Wellnhofer),<br />
+  Merge code paths loading external entities (Nick Wellnhofer),<br />
+  Copy some XMLReader option flags to parser context (Nick Wellnhofer),<br />
+  Add xmlPopOutputCallbacks (Nick Wellnhofer),<br />
+  Updated Python test reader2.py (Pieter van Oostrum),<br />
+  Updated python/tests/tstLastError.py (Pieter van Oostrum),<br />
+  Use random seed in xmlDictComputeFastKey (Ranier Vilela),<br />
+  Enable more undefined behavior sanitizers (Nick Wellnhofer)<br />
+  </li>
+</ul><h3>v2.9.10: Oct 30 2019</h3><ul>
   <li>Documentation:<br />
   Fix a few more typos ("fonction") (Nick Wellnhofer),<br />
   Large batch of typo fixes (Jared Yanovich),<br />
@@ -258,7 +510,7 @@ to the <a href="https://gitlab.gnome.org/GNOME/libxml2";>GIT</a> code base.</p><p
   </li>
 </ul><h3>2.9.7: Nov 02 2017</h3><ul>
   <li>Documentation:<br />
-  xmlcatalog: refresh man page wrt. quering system catalog easily (Jan Pokorný)<br />
+  xmlcatalog: refresh man page wrt. querying system catalog easily (Jan Pokorný)<br />
   </li>
 
   <li>Portability:<br />
@@ -589,7 +841,7 @@ to the <a href="https://gitlab.gnome.org/GNOME/libxml2";>GIT</a> code base.</p><p
   <li>Improvements:<br />
   Reuse xmlHaltParser() where it makes sense (Daniel Veillard),<br />
   xmlStopParser reset errNo (Daniel Veillard),<br />
-  Reenable xz support by default (Daniel Veillard),<br />
+  Re-enable xz support by default (Daniel Veillard),<br />
   Recover unescaped less-than character in HTML recovery parsing (Daniel Veillard),<br />
   Allow HTML serializer to output HTML5 DOCTYPE (Shaun McCance),<br />
   Regression test for bug #695699 (Nick Wellnhofer),<br />
@@ -972,7 +1224,7 @@ Gansterer),<br />
     Harden the buffer code and make it more compatible (Daniel Veillard),<br />
     More cleanups for input/buffers code (Daniel Veillard),<br />
     Cleanup function xmlBufResetInput(),<br /> to set input from Buffer (Daniel Veillard)
-    Swicth the test program for characters to new input buffers (Daniel Veillard),<br />
+    Switch the test program for characters to new input buffers (Daniel Veillard),<br />
     Convert the HTML tree module to the new buffers (Daniel Veillard),<br />
     Convert of the HTML parser to new input buffers (Daniel Veillard),<br />
     Convert the writer to new output buffer and save APIs (Daniel Veillard),<br />
@@ -1069,7 +1321,7 @@ Gansterer),<br />
     Avoid memory leak if xmlParserInputBufferCreateIO fails (Lin Yi-Li),
     Prevent an infinite loop when dumping a node with encoding problems (Timothy Elliott),
     xmlParseNodeInContext problems with an empty document (Tim Elliott),
-    HTML element position is not detected propperly (Pavel Andrejs),
+    HTML element position is not detected properly (Pavel Andrejs),
     Fix an off by one pointer access (Jüri Aedla),
     Try to fix a problem with entities in SAX mode (Daniel Veillard),
     Fix a crash with xmllint --path on empty results (Daniel Veillard),
@@ -1097,7 +1349,7 @@ Gansterer),<br />
     Small fix for previous commit (Daniel Veillard),
     Fix a potential freeing error in XPath (Daniel Veillard),
     Fix a potential memory access error (Daniel Veillard),
-    Reactivate the shared library versionning script (Daniel Veillard)
+    Reactivate the shared library versioning script (Daniel Veillard)
   </li>
 
   <li>Improvements:
@@ -1276,7 +1528,7 @@ Gansterer),<br />
     Problem with extern extern in header (Daniel Veillard),
     Add -lnetwork for compiling on Haiku (Scott McCreary),
     Runtest portability patch for Solaris (Tim Rice),
-    Small patch to accomodate the Haiku OS (Scott McCreary),
+    Small patch to accommodate the Haiku OS (Scott McCreary),
     584605 package VxWorks folder in the distribution (Daniel Veillard),
     574017 Realloc too expensive on most platform (Daniel Veillard),
     Fix windows build (Rob Richards),
@@ -1306,7 +1558,7 @@ Gansterer),<br />
     558452 RNG compilation of optional multiple child (Daniel Veillard),
     579746 XSD validation not correct / nilable groups (Daniel Veillard),
     502960 provide namespace stack when parsing entity (Daniel Veillard),
-    566012 part 2 fix regresion tests and push mode (Daniel Veillard),
+    566012 part 2 fix regression tests and push mode (Daniel Veillard),
     566012 autodetected encoding and encoding conflict (Daniel Veillard),
     584220 xpointer(/) and xinclude problems (Daniel Veillard),
     587663 Incorrect Attribute-Value Normalization (Daniel Veillard),
@@ -1424,14 +1676,14 @@ Gansterer),<br />
       parsing and validation fixes based on the W3C regression tests, reader
       tree skipping function fix (Ashwin), Schemas regexps escaping fix
       (Volker Grabsch), handling of entity push errors (Ashwin), fix a slowdown
-      when encoder cant serialize characters on output</li>
+      when encoder can't serialize characters on output</li>
   <li>Code cleanup: compilation fix without the reader, without the output
       (Robert Schwebel), python whitespace (Martin), many space/tabs cleanups,
       serious cleanup of the entity handling code</li>
   <li>Improvement: switch parser to XML-1.0 5th edition, add parsing flags
       for old versions, switch URI parsing to RFC 3986,
       add xmlSchemaValidCtxtGetParserCtxt (Holger Kaelberer),
-      new hashing functions for dictionnaries (based on Stefan Behnel work),
+      new hashing functions for dictionaries (based on Stefan Behnel work),
       improve handling of misplaced html/head/body in HTML parser, better
       regression test tools and code coverage display, better algorithms
       to detect various versions of the billion laughts attacks, make
@@ -1485,7 +1737,7 @@ Gansterer),<br />
       </li>
   <li>Code cleanup: fix open() call third argument, regexp cut'n paste
       copy error, unused variable in __xmlGlobalInitMutexLock (Hannes Eder),
-      some make distcheck realted fixes (John Carr)</li>
+      some make distcheck related fixes (John Carr)</li>
   <li>Improvements: HTTP Header: includes port number (William Brack),
       testURI --debug option, </li>
 </ul><h3>2.6.30: Aug 23 2007</h3><ul>
@@ -1572,13 +1824,13 @@ Gansterer),<br />
   <li>bug fix: xmlGetNodePath fix (Kasimier), xmlDOMWrapAdoptNode and
       attribute (Kasimier), crash when using the recover mode, 
       xmlXPathEvalExpr problem (Kasimier), xmlXPathCompExprAdd bug (Kasimier),
-      missing destry in xmlFreeRMutex (Andrew Nosenko), XML Schemas fixes
+      missing destroy in xmlFreeRMutex (Andrew Nosenko), XML Schemas fixes
       (Kasimier), warning on entities processing, XHTML script and style
       serialization (Kasimier), python generator for long types, bug in
       xmlSchemaClearValidCtxt (Bertrand Fritsch), xmlSchemaXPathEvaluate
       allocation bug (Marton Illes), error message end of line (Rob Richards),
       fix attribute serialization in writer (Rob Richards), PHP4 DTD validation
-      crasher, parser safety patch (Ben Darnell), _private context propagation
+      crash, parser safety patch (Ben Darnell), _private context propagation
       when parsing entities (with Michael Day), fix entities behaviour when 
       using SAX, URI to file path fix (Mikhail Zabaluev), disappearing validity
       context, arg error in SAX callback (Mike Hommey), fix mixed-content
@@ -1707,7 +1959,7 @@ Gansterer),<br />
     Anatolij), xmlSchemaPSimpleTypeErr error report (Kasimier Buchcik), xml:
     namespace ahndling in Schemas (Kasimier), empty model group in Schemas
     (Kasimier), wildcard in Schemas (Kasimier), URI composition (William),
-    xs:anyType in Schemas (Kasimier), Python resolver emmitting error
+    xs:anyType in Schemas (Kasimier), Python resolver emitting error
     messages directly, Python xmlAttr.parent (Jakub Piotr Clapa), trying to
     fix the file path/URI conversion, xmlTextReaderGetAttribute fix (Rob
     Richards), xmlSchemaFreeAnnot memleak (Kasimier), HTML UTF-8
@@ -1731,7 +1983,7 @@ Gansterer),<br />
   <li>build fixes: Windows build (Rob Richards), Mingw compilation (Igor
     Zlatkovic), Windows Makefile (Igor), gcc warnings (Kasimier and
     andriy google com), use gcc weak references to pthread to avoid the
-    pthread dependancy on Linux, compilation problem (Steve Nairn), compiling
+    pthread dependency on Linux, compilation problem (Steve Nairn), compiling
     of subset (Morten Welinder), IPv6/ss_family compilation (William Brack),
     compilation when disabling parts of the library, standalone test
     distribution.</li>
@@ -1770,7 +2022,7 @@ Gansterer),<br />
     Linux/ELF/gcc4</li>
   <li>bug fixes: schemas type decimal fixups (William Brack), xmmlint return
     code (Gerry Murphy), small schemas fixes (Matthew Burgess and GUY
-    Fabrice), workaround "DAV:" namespace brokeness in c14n (Aleksey Sanin),
+    Fabrice), workaround "DAV:" namespace brokenness in c14n (Aleksey Sanin),
     segfault in Schemas (Kasimier Buchcik), Schemas attribute validation
     (Kasimier), Prop related functions and xmlNewNodeEatName (Rob Richards),
     HTML serialization of name attribute on a elements, Python error handlers
@@ -1787,7 +2039,7 @@ Gansterer),<br />
     Bakefile support (Francesco Montorsi), Windows compilation (Joel Reed),
     some gcc4 fixes, HP-UX portability fixes (Rick Jones).</li>
   <li>bug fixes: xmlSchemaElementDump namespace (Kasimier Buchcik), push and
-    xmlreader stopping on non-fatal errors, thread support for dictionnaries
+    xmlreader stopping on non-fatal errors, thread support for dictionaries
     reference counting (Gary Coady), internal subset and push problem, URL
     saved in xmlCopyDoc, various schemas bug fixes (Kasimier), Python paths
     fixup (Stephane Bidoul), xmlGetNodePath and namespaces, xmlSetNsProp fix
@@ -1838,7 +2090,7 @@ Gansterer),<br />
   <li>bug fixes: problem with XML::Libxml reported by Petr Pajas,  encoding
     conversion functions return values, UTF-8 bug affecting XPath reported by
     Markus Bertheau, catalog problem with NULL entries (William Brack)</li>
-  <li>documentation: fix to xmllint man page, some API function descritpion
+  <li>documentation: fix to xmllint man page, some API function description
     were updated.</li>
   <li>improvements: DTD validation APIs provided at the Python level (Brent
     Hendricks)</li>
@@ -1964,12 +2216,12 @@ Gansterer),<br />
     William), xmlUriEscape (Mark Vakoc), a Relax-NG notAllowed problem (with
     William), Relax-NG name classes compares (William), XInclude duplicate
     fallback (William), external DTD encoding detection (William), a DTD
-    validation bug (William), xmlReader Close() fix, recusive extention
+    validation bug (William), xmlReader Close() fix, recursive extension
     schemas</li>
   <li>improvements: use xmlRead* APIs in test tools (Mark Vakoc), indenting
     save optimization, better handle IIS broken HTTP redirect  behaviour (Ian
     Hummel), HTML parser frameset (James Bursa), libxml2-python RPM
-    dependancy, XML Schemas union support (Kasimier Buchcik), warning removal
+    dependency, XML Schemas union support (Kasimier Buchcik), warning removal
     clanup (William), keep ChangeLog compressed when installing from RPMs</li>
   <li>documentation: examples and xmlDocDumpMemory docs (John Fleck), new
     example (load, xpath, modify, save), xmlCatalogDump() comments,</li>
@@ -2014,7 +2266,7 @@ Gansterer),<br />
     William) reported by Yuuichi Teranishi</li>
   <li>bugfixes: make test and path issues, xmlWriter attribute serialization
     (William Brack), xmlWriter indentation (William), schemas validation
-    (Eric Haszlakiewicz), XInclude dictionnaries issues (William and Oleg
+    (Eric Haszlakiewicz), XInclude dictionaries issues (William and Oleg
     Paraschenko), XInclude empty fallback (William), HTML warnings (William),
     XPointer in XInclude (William), Python namespace serialization,
     isolat1ToUTF8 bound error (Alfred Mickautsch), output of parameter
@@ -2030,10 +2282,10 @@ Gansterer),<br />
   <li>Windows compilation: mingw, msys (Mikhail Grushinskiy), function
     prototype (Cameron Johnson), MSVC6 compiler warnings, _WINSOCKAPI_
   patch</li>
-  <li>Parsers: added xmlByteConsumed(ctxt) API to get the byte offest in
+  <li>Parsers: added xmlByteConsumed(ctxt) API to get the byte offset in
     input.</li>
 </ul><h3>2.6.5: Jan 25 2004</h3><ul>
-  <li>Bugfixes: dictionnaries for schemas (William Brack), regexp segfault
+  <li>Bugfixes: dictionaries for schemas (William Brack), regexp segfault
     (William), xs:all problem (William), a number of XPointer bugfixes
     (William), xmllint error go to stderr, DTD validation problem with
     namespace, memory leak (William), SAX1 cleanup and minimal options fixes
@@ -2807,7 +3059,7 @@ it's actually not compiled in by default. The real fixes are:
     also contains numerous fixes and enhancements:
     <ul>
       <li>added xmlStopParser() to stop parsing</li>
-      <li>improved a lot parsing speed when there is large CDATA blocs</li>
+      <li>improved a lot parsing speed when there is large CDATA blocks</li>
       <li>includes XPath patches provided by Picdar Technology</li>
       <li>tried to fix as much as possible DTD validation and namespace
         related problems</li>
diff --git a/doc/xml.html b/doc/xml.html
index 0a16f2c9..92360d84 100644
--- a/doc/xml.html
+++ b/doc/xml.html
@@ -709,6 +709,261 @@ to the <a href="https://gitlab.gnome.org/GNOME/libxml2";>GIT</a> code base.</p>
 
 <p>Here is the list of public releases:</p>
 
+<h3>v2.9.11: May 13 2021</h3>
+<ul>
+  <li>Security:<br/>
+  Patch for security issue CVE-2021-3541 (Daniel Veillard)<br/>
+  </li>
+
+  <li>Documentation:<br/>
+  Clarify xmlNewDocProp documentation (Nick Wellnhofer)<br/>
+  </li>
+
+  <li>Portability:<br/>
+  CMake: Only add postfixes if MSVC (Christopher Degawa),<br/>
+  Fix XPath NaN/Inf for older GCC versions (Nick Wellnhofer),<br/>
+  Use CMake PROJECT_VERSION (Markus Rickert),<br/>
+  Fix warnings in libxml.m4 with autoconf 2.70+. (Simon Josefsson),<br/>
+  Add CI for CMake on MSVC (Markus Rickert),<br/>
+  Update minimum required CMake version (Markus Rickert),<br/>
+  Add variables for configured options to CMake config files (Markus Rickert),<br/>
+  Check if variables exist when defining targets (Markus Rickert),<br/>
+  Check if target exists when reading target properties (Markus Rickert),<br/>
+  Add xmlcatalog target and definition to config files (Markus Rickert),<br/>
+  Remove include directories for link-only dependencies (Markus Rickert),<br/>
+  Fix ICU build in CMake (Markus Rickert),<br/>
+  Configure pkgconfig, xml2-config, and xml2Conf.sh file (Markus Rickert),<br/>
+  Update CMake config files (Markus Rickert),<br/>
+  Add xmlcatalog and xmllint to CMake export (Markus Rickert),<br/>
+  Simplify xmlexports.h (Nick Wellnhofer),<br/>
+  Require dependencies based on enabled CMake options (Markus Rickert),<br/>
+  Use NAMELINK_COMPONENT in CMake install (Markus Rickert),<br/>
+  Add CMake files to EXTRA_DIST (Markus Rickert),<br/>
+  Add missing compile definition for static builds to CMake (Markus Rickert),<br/>
+  Add CI for CMake on Linux and MinGW (Markus Rickert),<br/>
+  Fix variable name in win32/configure.js (Nick Wellnhofer),<br/>
+  Fix version parsing in win32/configure.js (Nick Wellnhofer),<br/>
+  Fix autotools warnings (Nick Wellnhofer),<br/>
+  Update config.h.cmake.in (Markus Rickert),<br/>
+  win32: allow passing *FLAGS on command line (Michael Stahl),<br/>
+  Configure file xmlwin32version.h.in on MSVC (Markus Rickert),<br/>
+  List headers individually (Markus Rickert),<br/>
+  Add CMake build files (Markus Rickert),<br/>
+  Parenthesize Py&lt;type&gt;_Check() in ifs (Miro Hrončok),<br/>
+  Minor fixes to configure.js (Nick Wellnhofer)<br/>
+  </li>
+
+  <li>Bug Fixes:<br/>
+  Fix null deref in legacy SAX1 parser (Nick Wellnhofer),<br/>
+  Fix handling of unexpected EOF in xmlParseContent (Nick Wellnhofer),<br/>
+  Fix line numbers in error messages for mismatched tags (Nick Wellnhofer),<br/>
+  Fix htmlTagLookup (Nick Wellnhofer),<br/>
+  Propagate error in xmlParseElementChildrenContentDeclPriv (Nick Wellnhofer),<br/>
+  Fix user-after-free with `xmllint --xinclude --dropdtd` (Nick Wellnhofer),<br/>
+  Fix dangling pointer with `xmllint --dropdtd` (Nick Wellnhofer),<br/>
+  Validate UTF8 in xmlEncodeEntities (Joel Hockey),<br/>
+  Fix use-after-free with `xmllint --html --push` (Nick Wellnhofer),<br/>
+  Allow FP division by zero in xmlXPathInit (Nick Wellnhofer),<br/>
+  Fix xmlGetNodePath with invalid node types (Nick Wellnhofer),<br/>
+  Fix exponential behavior with recursive entities (Nick Wellnhofer),<br/>
+  Fix quadratic behavior when looking up xml:* attributes (Nick Wellnhofer),<br/>
+  Fix slow parsing of HTML with encoding errors (Nick Wellnhofer),<br/>
+  Fix null deref introduced with previous commit (Nick Wellnhofer),<br/>
+  Check for invalid redeclarations of predefined entities (Nick Wellnhofer),<br/>
+  Add the copy of type from original xmlDoc in xmlCopyDoc() (SVGAnimate),<br/>
+  parser.c: shrink the input buffer when appropriate (Mike Dalessio),<br/>
+  Fix infinite loop in HTML parser introduced with recent commits (Nick Wellnhofer),<br/>
+  Fix quadratic runtime when parsing CDATA sections (Nick Wellnhofer),<br/>
+  Fix timeout when handling recursive entities (Nick Wellnhofer),<br/>
+  Fix memory leak in xmlParseElementMixedContentDecl (Nick Wellnhofer),<br/>
+  Fix null deref in xmlStringGetNodeList (Nick Wellnhofer),<br/>
+  use new htmlParseLookupCommentEnd to find comment ends (Mike Dalessio),<br/>
+  htmlParseComment: treat `--!&gt;` as if it closed the comment (Mike Dalessio),<br/>
+  Fix integer overflow in xmlSchemaGetParticleTotalRangeMin (Nick Wellnhofer),<br/>
+  encoding: fix memleak in xmlRegisterCharEncodingHandler() (Xiaoming Ni),<br/>
+  xmlschemastypes.c: xmlSchemaGetFacetValueAsULong add, check "facet-&gt;val" (Xiaoming Ni),<br/>
+  Fix null pointer deref in xmlXPtrRangeInsideFunction (Nick Wellnhofer),<br/>
+  Fix quadratic runtime in HTML push parser with null bytes (Nick Wellnhofer),<br/>
+  Avoid quadratic checking of identity-constraints (Michael Matz),<br/>
+  Fix building with ICU 68. (Frederik Seiffert),<br/>
+  Convert python/libxml.c to PY_SSIZE_T_CLEAN (Victor Stinner),<br/>
+  Fix xmlURIEscape memory leaks. (Elliott Hughes),<br/>
+  Avoid call stack overflow with XML reader and recursive XIncludes (Nick Wellnhofer),<br/>
+  Fix caret in regexp character group (Nick Wellnhofer),<br/>
+  parser.c: xmlParseCharData peek behavior fixed wrt newlines (Mike Dalessio),<br/>
+  Fix memory leaks in XPointer string-range function (Nick Wellnhofer),<br/>
+  Fix use-after-free when XIncluding text from Reader (Nick Wellnhofer),<br/>
+  Fix SEGV in xmlSAXParseFileWithData (yanjinjq),<br/>
+  Fix null deref in XPointer expression error path (Nick Wellnhofer),<br/>
+  Don't call xmlXPathInit directly (Nick Wellnhofer),<br/>
+  Fix cleanup of attributes in XML reader (Nick Wellnhofer),<br/>
+  Fix double free in XML reader with XIncludes (Nick Wellnhofer),<br/>
+  Fix memory leak in xmlXIncludeAddNode error paths (Nick Wellnhofer),<br/>
+  Revert "Fix quadratic runtime in xi:fallback processing" (Nick Wellnhofer),<br/>
+  Fix error reporting with xi:fallback (Nick Wellnhofer),<br/>
+  Fix quadratic runtime in xi:fallback processing (Nick Wellnhofer),<br/>
+  Fix corner case with empty xi:fallback (Nick Wellnhofer),<br/>
+  Fix XInclude regression introduced with recent commit (Nick Wellnhofer),<br/>
+  Fix memory leak in runtest.c (Nick Wellnhofer),<br/>
+  Make "xmllint --push --recovery" work (Nick Wellnhofer),<br/>
+  Revert "Do not URI escape in server side includes" (Nick Wellnhofer),<br/>
+  Fix column number accounting in xmlParse*NameAndCompare (Nick Wellnhofer),<br/>
+  Stop counting nbChars in parser context (Nick Wellnhofer),<br/>
+  Fix out-of-bounds read with 'xmllint --htmlout' (Nick Wellnhofer),<br/>
+  Fix exponential runtime and memory in xi:fallback processing (Nick Wellnhofer),<br/>
+  Don't process siblings of root in xmlXIncludeProcess (Nick Wellnhofer),<br/>
+  Don't recurse into xi:include children in xmlXIncludeDoProcess (Nick Wellnhofer),<br/>
+  Fix memory leak in xmlXIncludeIncludeNode error paths (Nick Wellnhofer),<br/>
+  Check for custom free function in global destructor (Nick Wellnhofer),<br/>
+  Fix integer overflow when comparing schema dates (Nick Wellnhofer),<br/>
+  Fix exponential runtime in xmlFARecurseDeterminism (Nick Wellnhofer),<br/>
+  Don't try to handle namespaces when building HTML documents (Nick Wellnhofer),<br/>
+  Fix several quadratic runtime issues in HTML push parser (Nick Wellnhofer),<br/>
+  Fix quadratic runtime when push parsing HTML start tags (Nick Wellnhofer),<br/>
+  Reset XML parser input before reporting errors (David Kilzer),<br/>
+  Fix quadratic runtime when push parsing HTML entity refs (Nick Wellnhofer),<br/>
+  Fix HTML push parser lookahead (Nick Wellnhofer),<br/>
+  Make htmlCurrentChar always translate U+0000 (Nick Wellnhofer),<br/>
+  Fix UTF-8 decoder in HTML parser (Nick Wellnhofer),<br/>
+  Fix quadratic runtime when parsing HTML script content (Nick Wellnhofer),<br/>
+  Reset HTML parser input before reporting error (Nick Wellnhofer),<br/>
+  Fix more quadratic runtime issues in HTML push parser (Nick Wellnhofer),<br/>
+  Fix regression introduced with 477c7f6a (Nick Wellnhofer),<br/>
+  Fix quadratic runtime in HTML parser (Nick Wellnhofer),<br/>
+  Reset HTML parser input before reporting encoding error (Nick Wellnhofer),<br/>
+  Fix integer overflow in xmlFAParseQuantExact (Nick Wellnhofer),<br/>
+  Fix return value of xmlC14NDocDumpMemory (Nick Wellnhofer),<br/>
+  Don't follow next pointer on documents in xmlXPathRunStreamEval (Nick Wellnhofer),<br/>
+  Fix integer overflow in _xmlSchemaParseGYear (Nick Wellnhofer),<br/>
+  Fix integer overflow when parsing {min,max}Occurs (Nick Wellnhofer),<br/>
+  Fix another memory leak in xmlSchemaValAtomicType (Nick Wellnhofer),<br/>
+  Fix unsigned integer overflow in htmlParseTryOrFinish (Nick Wellnhofer),<br/>
+  Fix integer overflow in htmlParseCharRef (Nick Wellnhofer),<br/>
+  Fix undefined behavior in UTF16LEToUTF8 (Nick Wellnhofer),<br/>
+  Fix return value of xmlCharEncOutput (Nick Wellnhofer),<br/>
+  Never expand parameter entities in text declaration (Nick Wellnhofer),<br/>
+  Fix undefined behavior in xmlXPathTryStreamCompile (Nick Wellnhofer),<br/>
+  Fix use-after-free with validating reader (Nick Wellnhofer),<br/>
+  xmlParseBalancedChunkMemory must not be called with NULL doc (Nick Wellnhofer),<br/>
+  Revert "Fix memory leak in xmlParseBalancedChunkMemoryRecover" (Nick Wellnhofer),<br/>
+  Fix memory leak in xmlXIncludeLoadDoc error path (Nick Wellnhofer),<br/>
+  Make schema validation fail with multiple top-level elements (Nick Wellnhofer),<br/>
+  Call xmlCleanupParser on ELF destruction (Samuel Thibault),<br/>
+  Fix copying of entities in xmlParseReference (Nick Wellnhofer),<br/>
+  Fix memory leak in xmlSchemaValidateStream (Zhipeng Xie),<br/>
+  Fix xmlSchemaGetCanonValue formatting for date and dateTime (Kevin Puetz),<br/>
+  Fix memory leak when shared libxml.dll is unloaded (Kevin Puetz),<br/>
+  Fix potentially-uninitialized critical section in Win32 DLL builds (Kevin Puetz),<br/>
+  Fix integer overflow in xmlBufferResize (Nick Wellnhofer),<br/>
+  Check for overflow when allocating two-dimensional arrays (Nick Wellnhofer),<br/>
+  Remove useless comparisons (Nick Wellnhofer),<br/>
+  Fix overflow check in xmlNodeDump (Nick Wellnhofer),<br/>
+  Fix infinite loop in xmlStringLenDecodeEntities (Zhipeng Xie),<br/>
+  Fix freeing of nested documents (Nick Wellnhofer),<br/>
+  Fix more memory leaks in error paths of XPath parser (Nick Wellnhofer),<br/>
+  Fix memory leaks of encoding handlers in xmlsave.c (Nick Wellnhofer),<br/>
+  Fix xml2-config error code (Nick Wellnhofer),<br/>
+  Fix memory leak in error path of XPath expr parser (Nick Wellnhofer),<br/>
+  Fix overflow handling in xmlBufBackToBuffer (Nick Wellnhofer),<br/>
+  Null pointer handling in catalog.c (raniervf),<br/>
+  xml2-config.in: fix regressions introduced by commit 2f2bf4b2c (Dmitry V. Levin)<br/>
+  </li>
+
+  <li>Improvements:<br/>
+  Store per-element parser state in a struct (Nick Wellnhofer),<br/>
+  update for xsd:language type check (PaulHiggs),<br/>
+  Update INSTALL.libxml2 (Nick Wellnhofer),<br/>
+  Fix include order in c14n.h (Nick Wellnhofer),<br/>
+  Fix duplicate xmlStrEqual calls in htmlParseEndTag (Nick Wellnhofer),<br/>
+  Speed up htmlCheckAutoClose (Nick Wellnhofer),<br/>
+  Speed up htmlTagLookup (Nick Wellnhofer),<br/>
+  Stop checking attributes for UTF-8 validity (Nick Wellnhofer),<br/>
+  Reduce some fuzzer timeouts (Nick Wellnhofer),<br/>
+  Only run a few CI tests unless scheduled (Nick Wellnhofer),<br/>
+  Improve fuzzer stability (Nick Wellnhofer),<br/>
+  Check for feature flags in fuzzer tests (Nick Wellnhofer),<br/>
+  Another attempt at improving fuzzer stability (Nick Wellnhofer),<br/>
+  Revert "Improve HTML fuzzer stability" (Nick Wellnhofer),<br/>
+  Add charset names to fuzzing dictionaries (Nick Wellnhofer),<br/>
+  Improve HTML fuzzer stability (Nick Wellnhofer),<br/>
+  Add CI for MSVC x86 (Markus Rickert),<br/>
+  Add a flag to not output anything when xmllint succeeded (hhb),<br/>
+  Speed up HTML fuzzer (Nick Wellnhofer),<br/>
+  Remove unused encoding parameter of HTML output functions (Nick Wellnhofer),<br/>
+  Handle malloc failures in fuzzing code (Nick Wellnhofer),<br/>
+  add test coverage for incorrectly-closed comments (Mike Dalessio),<br/>
+  Enforce maximum length of fuzz input (Nick Wellnhofer),<br/>
+  Remove temporary members from struct _xmlXPathContext (Nick Wellnhofer),<br/>
+  Build the Python extension with PY_SSIZE_T_CLEAN (Victor Stinner),<br/>
+  Add CI test for Python 3 (Nick Wellnhofer),<br/>
+  Add fuzzing dictionaries to EXTRA_DIST (Nick Wellnhofer),<br/>
+  Add 'fuzz' subdirectory to DIST_SUBDIRS (Nick Wellnhofer),<br/>
+  Allow port numbers up to INT_MAX (Nick Wellnhofer),<br/>
+  Handle dumps of corrupted documents more gracefully (Nick Wellnhofer),<br/>
+  Limit size of free lists in XML reader when fuzzing (Nick Wellnhofer),<br/>
+  Hardcode maximum XPath recursion depth (Nick Wellnhofer),<br/>
+  Pass URL of main entity in XML fuzzer (Nick Wellnhofer),<br/>
+  Consolidate seed corpus generation (Nick Wellnhofer),<br/>
+  Test fuzz targets with dummy driver (Nick Wellnhofer),<br/>
+  Fix regression introduced with commit d88df4b (Nick Wellnhofer),<br/>
+  Fix regression introduced with commit 74dcc10b (Nick Wellnhofer),<br/>
+  Add TODO comment in xinclude.c (Nick Wellnhofer),<br/>
+  Stop using maxParserDepth in xpath.c (Nick Wellnhofer),<br/>
+  Remove dead code in xinclude.c (Nick Wellnhofer),<br/>
+  Don't add formatting newlines to XInclude nodes (Nick Wellnhofer),<br/>
+  Don't use SAX1 if all element handlers are NULL (Nick Wellnhofer),<br/>
+  Remove unneeded progress checks in HTML parser (Nick Wellnhofer),<br/>
+  Use strcmp when fuzzing (Nick Wellnhofer),<br/>
+  Fix XPath fuzzer (Nick Wellnhofer),<br/>
+  Fuzz XInclude engine (Nick Wellnhofer),<br/>
+  Add XPath and XPointer fuzzer (Nick Wellnhofer),<br/>
+  Update fuzzing code (Nick Wellnhofer),<br/>
+  More *NodeDumpOutput fixes (Nick Wellnhofer),<br/>
+  Fix *NodeDumpOutput functions (Nick Wellnhofer),<br/>
+  Make xmlNodeDumpOutputInternal non-recursive (Nick Wellnhofer),<br/>
+  Make xhtmlNodeDumpOutput non-recursive (Nick Wellnhofer),<br/>
+  Make htmlNodeDumpFormatOutput non-recursive (Nick Wellnhofer),<br/>
+  Fix .gitattributes (Nick Wellnhofer),<br/>
+  Rework control flow in htmlCurrentChar (Nick Wellnhofer),<br/>
+  Make 'xmllint --html --push -' read from stdin (Nick Wellnhofer),<br/>
+  Remove misleading comments in xpath.c (Nick Wellnhofer),<br/>
+  Update to Devhelp index file format version 2 (Andre Klapper),<br/>
+  Set project language to C (Markus Rickert),<br/>
+  Add variable for working directory of XML Conformance Test Suite (Markus Rickert),<br/>
+  Add additional tests and XML Conformance Test Suite (Markus Rickert),<br/>
+  Add command line option for temp directory in runtest (Markus Rickert),<br/>
+  Ensure LF line endings for test files (Markus Rickert),<br/>
+  Enable runtests and testThreads (Markus Rickert),<br/>
+  Limit regexp nesting depth (Nick Wellnhofer),<br/>
+  Fix return values and documentation in encoding.c (Nick Wellnhofer),<br/>
+  Add regexp regression tests (David Kilzer),<br/>
+  Report error for invalid regexp quantifiers (Nick Wellnhofer),<br/>
+  Fix rebuilding docs, by hiding __attribute__((...)) behind a macro. (Martin Vidner),<br/>
+  Copy xs:duration parser from libexslt (Nick Wellnhofer),<br/>
+  Fuzz target for XML Schemas (Nick Wellnhofer),<br/>
+  Move entity recorder to fuzz.c (Nick Wellnhofer),<br/>
+  Fuzz target for HTML parser (Nick Wellnhofer),<br/>
+  Update GitLab CI container (Nick Wellnhofer),<br/>
+  Add options file for xml fuzzer (Nick Wellnhofer),<br/>
+  Add a couple of libFuzzer targets (Nick Wellnhofer),<br/>
+  Guard new calls to xmlValidatePopElement in xml_reader.c (Daniel Cheng),<br/>
+  Add LIBXML_VALID_ENABLED to xmlreader (Łukasz Wojniłowicz),<br/>
+  Fix typos (Nick Wellnhofer),<br/>
+  Disable LeakSanitizer (Nick Wellnhofer),<br/>
+  Stop calling SAX getEntity handler from XMLReader (Nick Wellnhofer),<br/>
+  Add test case for recursive external parsed entities (Nick Wellnhofer),<br/>
+  Enable error tests with entity substitution (Nick Wellnhofer),<br/>
+  Don't load external entity from xmlSAX2GetEntity (Nick Wellnhofer),<br/>
+  Merge code paths loading external entities (Nick Wellnhofer),<br/>
+  Copy some XMLReader option flags to parser context (Nick Wellnhofer),<br/>
+  Add xmlPopOutputCallbacks (Nick Wellnhofer),<br/>
+  Updated Python test reader2.py (Pieter van Oostrum),<br/>
+  Updated python/tests/tstLastError.py (Pieter van Oostrum),<br/>
+  Use random seed in xmlDictComputeFastKey (Ranier Vilela),<br/>
+  Enable more undefined behavior sanitizers (Nick Wellnhofer)<br/>
+  </li>
+</ul>
+
 <h3>v2.9.10: Oct 30 2019</h3>
 <ul>
   <li>Documentation:<br/>
diff --git a/testapi.c b/testapi.c
index 8a4e23e3..6f19c6fc 100644
--- a/testapi.c
+++ b/testapi.c
@@ -2843,7 +2843,7 @@ test_htmlDocContentDumpFormatOutput(void) {
     int n_buf;
     xmlDocPtr cur; /* the document */
     int n_cur;
-    char * encoding; /* the encoding string */
+    char * encoding; /* the encoding string (unused) */
     int n_encoding;
     int format; /* should formatting spaces been added */
     int n_format;
@@ -2896,7 +2896,7 @@ test_htmlDocContentDumpOutput(void) {
     int n_buf;
     xmlDocPtr cur; /* the document */
     int n_cur;
-    char * encoding; /* the encoding string */
+    char * encoding; /* the encoding string (unused) */
     int n_encoding;
 
     for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
@@ -3397,7 +3397,7 @@ test_htmlNodeDumpFormatOutput(void) {
     int n_doc;
     xmlNodePtr cur; /* the current node */
     int n_cur;
-    char * encoding; /* the encoding string */
+    char * encoding; /* the encoding string (unused) */
     int n_encoding;
     int format; /* should formatting spaces been added */
     int n_format;
@@ -3457,7 +3457,7 @@ test_htmlNodeDumpOutput(void) {
     int n_doc;
     xmlNodePtr cur; /* the current node */
     int n_cur;
-    char * encoding; /* the encoding string */
+    char * encoding; /* the encoding string (unused) */
     int n_encoding;
 
     for (n_buf = 0;n_buf < gen_nb_xmlOutputBufferPtr;n_buf++) {
@@ -13611,7 +13611,7 @@ test_xmlParseBalancedChunkMemory(void) {
 #ifdef LIBXML_SAX1_ENABLED
     int mem_base;
     int ret_val;
-    xmlDocPtr doc; /* the document the chunk pertains to */
+    xmlDocPtr doc; /* the document the chunk pertains to (must not be NULL) */
     int n_doc;
     xmlSAXHandlerPtr sax; /* the SAX handler block (possibly NULL) */
     int n_sax;
@@ -13687,7 +13687,7 @@ test_xmlParseBalancedChunkMemoryRecover(void) {
 #ifdef LIBXML_SAX1_ENABLED
     int mem_base;
     int ret_val;
-    xmlDocPtr doc; /* the document the chunk pertains to */
+    xmlDocPtr doc; /* the document the chunk pertains to (must not be NULL) */
     int n_doc;
     xmlSAXHandlerPtr sax; /* the SAX handler block (possibly NULL) */
     int n_sax;
@@ -29237,6 +29237,33 @@ test_xmlPopInputCallbacks(void) {
 }
 
 
+static int
+test_xmlPopOutputCallbacks(void) {
+    int test_ret = 0;
+
+#if defined(LIBXML_OUTPUT_ENABLED)
+    int mem_base;
+    int ret_val;
+
+        mem_base = xmlMemBlocks();
+
+        ret_val = xmlPopOutputCallbacks();
+        desret_int(ret_val);
+        call_tests++;
+        xmlResetLastError();
+        if (mem_base != xmlMemBlocks()) {
+            printf("Leak of %d blocks found in xmlPopOutputCallbacks",
+                  xmlMemBlocks() - mem_base);
+           test_ret++;
+            printf("\n");
+        }
+    function_tests++;
+#endif
+
+    return(test_ret);
+}
+
+
 static int
 test_xmlRegisterDefaultInputCallbacks(void) {
     int test_ret = 0;
@@ -29313,7 +29340,7 @@ static int
 test_xmlIO(void) {
     int test_ret = 0;
 
-    if (quiet == 0) printf("Testing xmlIO : 40 of 50 functions ...\n");
+    if (quiet == 0) printf("Testing xmlIO : 41 of 51 functions ...\n");
     test_ret += test_xmlAllocOutputBuffer();
     test_ret += test_xmlAllocParserInputBuffer();
     test_ret += test_xmlCheckFilename();
@@ -29354,6 +29381,7 @@ test_xmlIO(void) {
     test_ret += test_xmlParserInputBufferPush();
     test_ret += test_xmlParserInputBufferRead();
     test_ret += test_xmlPopInputCallbacks();
+    test_ret += test_xmlPopOutputCallbacks();
     test_ret += test_xmlRegisterDefaultInputCallbacks();
     test_ret += test_xmlRegisterDefaultOutputCallbacks();
     test_ret += test_xmlRegisterHTTPPostCallbacks();
@@ -34240,27 +34268,27 @@ test_xmlSaveTree(void) {
     long ret_val;
     xmlSaveCtxtPtr ctxt; /* a document saving context */
     int n_ctxt;
-    xmlNodePtr node; /* the top node of the subtree to save */
-    int n_node;
+    xmlNodePtr cur; /*  */
+    int n_cur;
 
     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSaveCtxtPtr;n_ctxt++) {
-    for (n_node = 0;n_node < gen_nb_xmlNodePtr;n_node++) {
+    for (n_cur = 0;n_cur < gen_nb_xmlNodePtr;n_cur++) {
         mem_base = xmlMemBlocks();
         ctxt = gen_xmlSaveCtxtPtr(n_ctxt, 0);
-        node = gen_xmlNodePtr(n_node, 1);
+        cur = gen_xmlNodePtr(n_cur, 1);
 
-        ret_val = xmlSaveTree(ctxt, node);
+        ret_val = xmlSaveTree(ctxt, cur);
         desret_long(ret_val);
         call_tests++;
         des_xmlSaveCtxtPtr(n_ctxt, ctxt, 0);
-        des_xmlNodePtr(n_node, node, 1);
+        des_xmlNodePtr(n_cur, cur, 1);
         xmlResetLastError();
         if (mem_base != xmlMemBlocks()) {
             printf("Leak of %d blocks found in xmlSaveTree",
                   xmlMemBlocks() - mem_base);
            test_ret++;
             printf(" %d", n_ctxt);
-            printf(" %d", n_node);
+            printf(" %d", n_cur);
             printf("\n");
         }
     }


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