[libxml2] Release of libxml2-2.9.10



commit 41a34e1f4ffae2ce401600dbb5fe43f8fe402641
Author: Daniel Veillard <veillard redhat com>
Date:   Wed Oct 30 20:14:56 2019 +0100

    Release of libxml2-2.9.10
    
    * configure.ac doc/xml.html: updated for the release
    * doc/*: regenerated docs, APIs, etc ...

 configure.ac                            |   2 +-
 doc/APIchunk23.html                     |   1 +
 doc/devhelp/libxml2-xpathInternals.html |   4 +-
 doc/examples/index.html                 |   6 +-
 doc/html/libxml-xpathInternals.html     |   4 +-
 doc/libxml2-api.xml                     |   4 +-
 doc/libxml2-refs.xml                    |   3 +
 doc/libxml2.xsa                         |  96 +++++++++++++---------
 doc/news.html                           | 139 ++++++++++++++++++++++++++++++-
 doc/xml.html                            | 140 ++++++++++++++++++++++++++++++++
 10 files changed, 348 insertions(+), 51 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 92ba25da..07113a8e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9,7 +9,7 @@ AC_CANONICAL_HOST
 
 LIBXML_MAJOR_VERSION=2
 LIBXML_MINOR_VERSION=9
-LIBXML_MICRO_VERSION=9
+LIBXML_MICRO_VERSION=10
 LIBXML_MICRO_VERSION_SUFFIX=
 LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION$LIBXML_MICRO_VERSION_SUFFIX
 LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + 
$LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION
diff --git a/doc/APIchunk23.html b/doc/APIchunk23.html
index f5a99173..a72cbfe2 100644
--- a/doc/APIchunk23.html
+++ b/doc/APIchunk23.html
@@ -177,6 +177,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
 <a href="html/libxml-parser.html#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a><br />
 <a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
+</dd><dt>recorded</dt><dd><a href="html/libxml-xpathInternals.html#valuePush">valuePush</a><br />
 </dd><dt>recover</dt><dd><a 
href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
 </dd><dt>recovery</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
 <a href="html/libxml-parser.html#xmlSAXParseDoc">xmlSAXParseDoc</a><br />
diff --git a/doc/devhelp/libxml2-xpathInternals.html b/doc/devhelp/libxml2-xpathInternals.html
index 17d27cd6..45220b11 100644
--- a/doc/devhelp/libxml2-xpathInternals.html
+++ b/doc/devhelp/libxml2-xpathInternals.html
@@ -318,8 +318,8 @@ void        <a href="#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a>          (FILE 
* out
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath evaluation context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the XPath object just 
removed</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="valuePush"/>valuePush ()</h3><pre 
class="programlisting">int      valuePush                       (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br/>
-</pre><p>Pushes a new XPath object on top of the value stack</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath evaluation context</td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the XPath object</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of items on the value 
stack</td></tr></tbody></table></div></div>
+</pre><p>Pushes a new XPath object on top of the value stack. If value is NULL, a memory error is recorded 
in the parser context.</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath evaluation context</td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the XPath object</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of items on the value stack, or -1 in case of 
error.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlXPathAddValues"/>xmlXPathAddValues ()</h3><pre 
class="programlisting">void     xmlXPathAddValues               (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
 </pre><p>Implement the add operation on XPath objects: The numeric operators convert their operands to 
numbers as if by calling the number function.</p>
diff --git a/doc/examples/index.html b/doc/examples/index.html
index 819a49ae..97077596 100644
--- a/doc/examples/index.html
+++ b/doc/examples/index.html
@@ -7,8 +7,8 @@ H1 {font-family: Verdana,Arial,Helvetica}
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>Libxml2 set of examples</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" 
vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td 
width="120"><a href="http://swpat.ffii.org/";><img src="../epatents.png" alt="Action against software patents" 
/></a></td><td width="180"><a href="http://www.gnome.org/";><img src="../gnome2.png" alt="Gnome2 Logo" 
/></a><a href="http://www.w3.org/Status";><img src="../w3c.png" alt="W3C Logo" /></a><a 
href="http://www.redhat.com/";><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a 
href="http://xmlsoft.org/";><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" 
/></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" 
bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" 
bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Libxml2 set of examples</h2></td></tr></tabl
 e></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>Examples 
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 style="font-weight:bold" href="../docs.html">Developer 
Menu</a></li><li><a style="font-weight:bold" href="../html/index.html">API Menu</a></li><li><a 
href="#InputOutput">InputOutput Examples</a></li><li><a hre
 f="#Pars
 ing">Parsing Examples</a></li><li><a href="#Tree">Tree Examples</a></li><li><a href="#XPath">XPath 
Examples</a></li><li><a href="#xmlReader">xmlReader Examples</a></li><li><a href="#xmlWriter">xmlWriter 
Examples</a></li><li><a href="../guidelines.html">XML Guidelines</a></li></ul></td></tr></table><table 
width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" 
align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a 
href="http://mail.gnome.org/archives/xml/";>Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/";>XSLT 
libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/";>DOM gdome2</a></li><li><a 
href="http://www.aleksey.com/xmlsec/";>XML-DSig xmlsec</a></li><li><a 
href="ftp://xmlsoft.org/";>FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/";>Windows 
binaries</a></li><li><a href="http://opencsw.org/packages/libxml2";>Solaris binaries</a></li><li><a 
href="http://www.explain.
 com.au/o
 ss/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="http://bugzilla.gnome.org/buglist.cgi?product=libxml2";>Bug 
Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table 
border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" 
cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" 
width="100%"><tr><td bgcolor="#fffacd"><p> The 
 examples
  are stored per section depending on the main focus
-    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="#tree2.c">tree2.c</a>: Creates a tree</li><li><a 
href="#tree1.c">tree1.c</a>: Navigates a tree to print element names</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="#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><li><a 
href="#parse2.c">parse2.c</a>: Parse and validate an XML file to a tree and free the result</li><li><a 
href="#parse1.c">parse1.c</a>: Parse an XML file to a tree and free it</li></ul></li><li><p><a 
href="#xmlReader">xmlReader</a> :</p><ul><li><a href="#reader2.c">reader2.c</a>: Parse and validate an XML 
file with an xmlReader</li><li><a href="#reader1.c">reader1.c</a>: Parse 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
+</style><title>Libxml2 set of examples</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" 
vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td 
width="120"><a href="http://swpat.ffii.org/";><img src="../epatents.png" alt="Action against software patents" 
/></a></td><td width="180"><a href="http://www.gnome.org/";><img src="../gnome2.png" alt="Gnome2 Logo" 
/></a><a href="http://www.w3.org/Status";><img src="../w3c.png" alt="W3C Logo" /></a><a 
href="http://www.redhat.com/";><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a 
href="http://xmlsoft.org/";><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" 
/></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" 
bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" 
bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Libxml2 set of examples</h2></td></tr></tabl
 e></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>Examples 
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 style="font-weight:bold" href="../docs.html">Developer 
Menu</a></li><li><a style="font-weight:bold" href="../html/index.html">API Menu</a></li><li><a 
href="#InputOutput">InputOutput Examples</a></li><li><a hre
 f="#Pars
 ing">Parsing Examples</a></li><li><a href="#Tree">Tree Examples</a></li><li><a href="#XPath">XPath 
Examples</a></li><li><a href="#xmlReader">xmlReader Examples</a></li><li><a href="#xmlWriter">xmlWriter 
Examples</a></li><li><a href="../guidelines.html">XML Guidelines</a></li></ul></td></tr></table><table 
width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" 
align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a 
href="http://mail.gnome.org/archives/xml/";>Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/";>XSLT 
libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/";>DOM gdome2</a></li><li><a 
href="http://www.aleksey.com/xmlsec/";>XML-DSig xmlsec</a></li><li><a 
href="ftp://xmlsoft.org/";>FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/";>Windows 
binaries</a></li><li><a href="http://opencsw.org/packages/libxml2";>Solaris binaries</a></li><li><a 
href="http://www.explain.
 com.au/o
 ss/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 examples
  are sto
 red per section depending on the main focus
+    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="#pars
 e2.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#LIBX
 ML_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 b
 uffer</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></ul><p>Usage:</p><p>io2</p><p>Author: J
 ohn Flec
 k</p><h2><a name="Parsing" id="Parsing"></a>Parsing Examples</h2><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#xmlCl
 eanupPar
 ser">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>parse3</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">xmlC
 reatePus
 hParserCtxt</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="../html/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><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 va
 lidate t
 he 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 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 
47: Function <a href="../html/libxml-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a> from 
parser.h</li></ul><p>Usage:</p><p>parse2 test2.xml</p><p>Author: Daniel Veillard</p><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 an
 d 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 26: Function 
<a href="../html/libxml-parser.html#xmlReadFile">xmlReadFile</a> from 
parser.h</li></ul><p>Usage:</p><p>parse1 test1.xml</p><p>Author: Daniel Veillard</p><h2><a name="Tree" 
id="Tree"></a>Tree Examples</h2><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 34: Macro <a 
href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> 
line 39: Function <a href="../html/libxml-tree.html#xmlNewDoc">
 xmlNewDo
 c</a> from tree.h</li><li> line 41: Function <a 
href="../html/libxml-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li><li> line 46: 
Function <a href="../html/libxml-tree.html#xmlCreateIntSubset">xmlCreateIntSubset</a> from tree.h</li><li> 
line 74: Function <a href="../html/libxml-tree.html#xmlNewNode">xmlNewNode</a> from tree.h</li><li> line 75: 
Function <a href="../html/libxml-tree.html#xmlNewText">xmlNewText</a> from tree.h</li><li> line 78: Function 
<a href="../html/libxml-tree.html#xmlAddChild">xmlAddChild</a> from tree.h</li><li> line 88: Function <a 
href="../html/libxml-tree.html#xmlNewChild">xmlNewChild</a> from tree.h</li><li> line 89: Function <a 
href="../html/libxml-tree.html#xmlNewProp">xmlNewProp</a> from tree.h</li><li> line 96: Function <a 
href="../html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a> from tree.h</li><li> line 99: 
Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li><li> li
 ne 105: 
 Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from parser.h</li><li> 
line 110: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> from 
xmlmemory.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><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">xml
 DocGetRo
 otElement</a> from tree.h</li></ul><p>Usage:</p><p>tree1 filename_or_URL</p><p>Author: Dodji 
Seketeli</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 43: Macro <a 
href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> 
line 49: 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><li> line 86: Type 
<a href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.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">xmlXPathNewContext</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 13
 0: Function <a href="../html/libxml-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a> from 
xpath.h</li><li> line 131: Function <a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a> from 
tree.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;xpath-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 s
 aid 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 86: Type <a 
href="../html/libxml-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.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><l
 i> 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 131: Function 
<a href="../html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</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 Ex
 amples</
 h2><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#xmlTextReaderConstValue">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#xmlTextReaderNodeTy
 pe">xmlT
 extReaderNodeType</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-xmlreader.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#xmlFre
 eTextRea
 der">xmlFreeTextReader</a> from xmlreader.h</li><li> line 104: Macro <a 
href="../html/libxml-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li><li> 
line 109: Function <a href="../html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a> from 
parser.h</li><li> line 113: Function <a href="../html/libxml-xmlmemory.html#xmlMemoryDump">xmlMemoryDump</a> 
from xmlmemory.h</li></ul><p>Usage:</p><p>reader2 &lt;valid_xml_filename&gt;</p><p>Author: Daniel 
Veillard</p><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-xml
 reader.h
 tml#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: 
Fun
 ction <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></ul><p>Usage:</p><p>reader1 &lt;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
  xmlreader.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 xmlReaderFo
 rFile() 
 and xmlReaderNewFile 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#xmlFreeTextR
 eader">x
 mlFreeTextReader</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">xmlBu
 fferPtr<
 /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#xm
 lNewDocNode">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">xmlTextWrit
 erWriteF
 ormatElement</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: F
 unction 
 <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#LIBX
 ML_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 b
 uffer</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 x
 mlversio
 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 t
 ree.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: 
Funct
 ion <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 exp
 ression 
 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 Exampl
 es</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: Functi
 on <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#x
 mlTextRe
 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/li
 bxml-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> fro
 m 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#x
 mlNewDoc
 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">xmlTextWriterWrite
 FormatEl
 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>
diff --git a/doc/html/libxml-xpathInternals.html b/doc/html/libxml-xpathInternals.html
index e7dbdc41..8b894af7 100644
--- a/doc/html/libxml-xpathInternals.html
+++ b/doc/html/libxml-xpathInternals.html
@@ -160,8 +160,8 @@ A:link, A:visited, A:active { text-decoration: underline }
 <h3><a name="valuePop" id="valuePop"></a>Function: valuePop</h3><pre class="programlisting"><a 
href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>        valuePop        (<a 
href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
 </pre><p>Pops the top XPath object from the value stack</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath evaluation context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the XPath object just 
removed</td></tr></tbody></table></div><h3><a name="valuePush" id="valuePush"></a>Function: 
valuePush</h3><pre class="programlisting">int valuePush                       (<a 
href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />                   
               <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br />
-</pre><p>Pushes a new XPath object on top of the value stack</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath evaluation context</td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the XPath object</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of items on the value 
stack</td></tr></tbody></table></div><h3><a name="xmlXPathAddValues" id="xmlXPathAddValues"></a>Function: 
xmlXPathAddValues</h3><pre class="programlisting">void    xmlXPathAddValues               (<a 
href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
+</pre><p>Pushes a new XPath object on top of the value stack. If value is NULL, a memory error is recorded 
in the parser context.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath evaluation context</td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the XPath object</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of items on the value stack, or -1 in case of 
error.</td></tr></tbody></table></div><h3><a name="xmlXPathAddValues" id="xmlXPathAddValues"></a>Function: 
xmlXPathAddValues</h3><pre class="programlisting">void   xmlXPathAddValues               (<a 
href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
 </pre><p>Implement the add operation on XPath objects: The numeric operators convert their operands to 
numbers as if by calling the number function.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser 
context</td></tr></tbody></table></div><h3><a name="xmlXPathBooleanFunction" 
id="xmlXPathBooleanFunction"></a>Function: xmlXPathBooleanFunction</h3><pre class="programlisting">void   
xmlXPathBooleanFunction         (<a 
href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />                   
               int nargs)<br />
 </pre><p>Implement the boolean() XPath function boolean boolean(object) The boolean function converts its 
argument to a boolean as follows: - a number is true if and only if it is neither positive or negative zero 
nor NaN - a node-set is true if and only if it is non-empty - a string is true if and only if its length is 
non-zero</p>
diff --git a/doc/libxml2-api.xml b/doc/libxml2-api.xml
index a9e88ddb..f264a298 100644
--- a/doc/libxml2-api.xml
+++ b/doc/libxml2-api.xml
@@ -8149,8 +8149,8 @@ Could we use @subtypes for this?'/>
     </function>
     <function name='valuePush' file='xpathInternals' module='xpath'>
       <cond>defined(LIBXML_XPATH_ENABLED)</cond>
-      <info>Pushes a new XPath object on top of the value stack</info>
-      <return type='int' info='the number of items on the value stack'/>
+      <info>Pushes a new XPath object on top of the value stack. If value is NULL, a memory error is 
recorded in the parser context.</info>
+      <return type='int' info='the number of items on the value stack, or -1 in case of error.'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='an XPath evaluation context'/>
       <arg name='value' type='xmlXPathObjectPtr' info='the XPath object'/>
     </function>
diff --git a/doc/libxml2-refs.xml b/doc/libxml2-refs.xml
index 929cb1ab..ade2ab7c 100644
--- a/doc/libxml2-refs.xml
+++ b/doc/libxml2-refs.xml
@@ -27485,6 +27485,9 @@
           <ref name='xmlParserAddNodeInfo'/>
           <ref name='xmlParserFindNodeInfoIndex'/>
         </word>
+        <word name='recorded'>
+          <ref name='valuePush'/>
+        </word>
         <word name='recover'>
           <ref name='xmlParseBalancedChunkMemoryRecover'/>
         </word>
diff --git a/doc/libxml2.xsa b/doc/libxml2.xsa
index 7f4c048b..07f97086 100644
--- a/doc/libxml2.xsa
+++ b/doc/libxml2.xsa
@@ -8,51 +8,67 @@
   </vendor>
   <product id="libxml2">
     <name>libxml2</name>
-    <version>v2.9.8</version>
-    <last-release> Mar 05 2018</last-release>
+    <version>v2.9.9</version>
+    <last-release> Jan 03 2019</last-release>
     <info-url>http://xmlsoft.org/</info-url>
-    <changes>   - Portability:
-  python: remove single use of _PyVerify_fd (Patrick Welche),
-  Build more test executables on Windows/MSVC (Nick Wellnhofer),
-  Stop including ansidecl.h (Nick Wellnhofer),
-  Fix libz and liblzma detection (Nick Wellnhofer),
-  Revert "Compile testapi with -Wno-unused-function" (Nick Wellnhofer)
+    <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)
+  
+   - 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)
   
    - Bug Fixes:
-  Fix xmlParserEntityCheck (Nick Wellnhofer),
-  Halt parser in case of encoding error (Nick Wellnhofer),
-  Clear entity content in case of errors (Nick Wellnhofer),
-  Change calls to xmlCharEncInput to set flush false when not final call. Having flush incorrectly set to 
true causes errors for ICU. (Joel Hockey),
-  Fix buffer over-read in xmlParseNCNameComplex (Nick Wellnhofer),
-  Fix ICU library filenames on Windows/MSVC (Nick Wellnhofer),
-  Fix xmlXPathIsNaN broken by recent commit (Nick Wellnhofer),
-  Fix -Wenum-compare warnings (Nick Wellnhofer),
-  Fix callback signature in testapi.c (Nick Wellnhofer),
-  Fix unused parameter warning without ICU (Nick Wellnhofer),
-  Fix IO callback signatures (Nick Wellnhofer),
-  Fix misc callback signatures (Nick Wellnhofer),
-  Fix list callback signatures (Nick Wellnhofer),
-  Fix hash callback signatures (Nick Wellnhofer),
-  Refactor name and type signature for xmlNop (Vlad Tsyrklevich),
-  Fixed ICU to set flush correctly and provide pivot buffer. (Joel Hockey),
-  Skip EBCDIC tests if EBCDIC isn't supported (Nick Wellnhofer)
+  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)
   
    - Improvements:
-  Disable pointer-overflow UBSan checks under Travis (Nick Wellnhofer),
-  Improve handling of context input_id (Daniel Veillard),
-  Add resource file to Windows DLL (ccpaging),
-  Run Travis tests with -Werror (Nick Wellnhofer),
-  Build with "-Wall -Wextra" (Nick Wellnhofer),
-  Fix -Wtautological-pointer-compare warnings (Nick Wellnhofer),
-  Remove unused AC_CHECKs (Nick Wellnhofer),
-  Update information about contributing (Nick Wellnhofer),
-  Fix -Wmisleading-indentation warnings (Nick Wellnhofer),
-  Don't touch CFLAGS in configure.ac (Nick Wellnhofer),
-  Ignore function pointer cast warnings (Nick Wellnhofer),
-  Simplify XPath NaN, inf and -0 handling (Nick Wellnhofer),
-  Introduce xmlPosixStrdup and update xmlMemStrdup (Nick Wellnhofer),
-  Add test for ICU flush and pivot buffer (Nick Wellnhofer),
-  Compile testapi with -Wno-unused-function (Nick Wellnhofer)
+  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)
+  
+   - Cleanups:
   
 
 </changes>
diff --git a/doc/news.html b/doc/news.html
index 0734785f..434a09e9 100644
--- a/doc/news.html
+++ b/doc/news.html
@@ -8,7 +8,144 @@ 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">Re
 porting 
 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.9: Jan 03 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.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 />
+  Fix typos: tree: move{ -&gt; s}, reconcil{i -&gt; }ed, h{o -&gt; e}ld by... (Jan Pokorný),<br />
+  Fix typo: xpath: simpli{ -&gt; fi}ed (Jan Pokorný),<br />
+  Doc: do not mislead towards "infeasible" scenario wrt. xmlBufNodeDump (Jan Pokorný),<br />
+  Fix comments in test code (zhouzhongyuan),<br />
+  fix comment in testReader.c (zhouzhongyuan)<br />
+  </li>
+
+  <li>Portability:<br />
+  Fix some release issues on Fedora 30 (Daniel Veillard),<br />
+  Fix exponent digits when running tests under old MSVC (Daniel Richard G),<br />
+  Work around buggy ceil() function on AIX (Daniel Richard G),<br />
+  Don't call printf with NULL string in runtest.c (Daniel Richard G),<br />
+  Switched from unsigned long to ptrdiff_t in parser.c (Stephen Chenney),<br />
+  timsort.h: support older GCCs (Jérôme Duval),<br />
+  Make configure.ac work with older pkg-config (Nick Wellnhofer),<br />
+  Stop defining _REENTRANT on some Win32 platforms (Nick Wellnhofer),<br />
+  Fix nanohttp.c on MinGW (Nick Wellnhofer),<br />
+  Fix Windows compiler warning in testC14N.c (Nick Wellnhofer),<br />
+  Merge testThreadsWin32.c into testThreads.c (Nick Wellnhofer),<br />
+  Fix Python bindings under Windows (Nick Wellnhofer)<br />
+  </li>
+
+  <li>Bug Fixes:<br />
+  Another fix for conditional sections at end of document (Nick Wellnhofer),<br />
+  Fix for conditional sections at end of document (Nick Wellnhofer),<br />
+  Make sure that Python tests exit with error code (Nick Wellnhofer),<br />
+  Audit memory error handling in xpath.c (Nick Wellnhofer),<br />
+  Fix error code in xmlTextWriterStartDocument (Nick Wellnhofer),<br />
+  Fix integer overflow when counting written bytes (Nick Wellnhofer),<br />
+  Fix uninitialized memory access in HTML parser (Nick Wellnhofer),<br />
+  Fix memory leak in xmlSchemaValAtomicType (Nick Wellnhofer),<br />
+  Disallow conditional sections in internal subset (Nick Wellnhofer),<br />
+  Fix use-after-free in xmlTextReaderFreeNodeList (Nick Wellnhofer),<br />
+  Fix Regextests (Nick Wellnhofer),<br />
+  Fix empty branch in regex (Nick Wellnhofer),<br />
+  Fix integer overflow in entity recursion check (Nick Wellnhofer),<br />
+  Don't read external entities or XIncludes from stdin (Nick Wellnhofer),<br />
+  Fix Schema determinism check of ##other namespaces (Nick Wellnhofer),<br />
+  Fix potential null deref in xmlSchemaIDCFillNodeTables (zhouzhongyuan),<br />
+  Fix potential memory leak in xmlBufBackToBuffer (Nick Wellnhofer),<br />
+  Fix error message when processing XIncludes with fallbacks (Nick Wellnhofer),<br />
+  Fix memory leak in xmlRegEpxFromParse (zhouzhongyuan),<br />
+  14:00 is a valid timezone for xs:dateTime (Nick Wellnhofer),<br />
+  Fix memory leak in xmlParseBalancedChunkMemoryRecover (Zhipeng Xie),<br />
+  Fix potential null deref in xmlRelaxNGParsePatterns (Nick Wellnhofer),<br />
+  Misleading error message with xs:{min|max}Inclusive (bettermanzzy),<br />
+  Fix memory leak in xmlXIncludeLoadTxt (Wang Kirin),<br />
+  Partial fix for comparison of xs:durations (Nick Wellnhofer),<br />
+  Fix null deref in xmlreader buffer (zhouzhongyuan),<br />
+  Fix unability to RelaxNG-validate grammar with choice-based name class (Jan Pokorný),<br />
+  Fix unability to validate ambiguously constructed interleave for RelaxNG (Jan Pokorný),<br />
+  Fix possible null dereference in xmlXPathIdFunction (zhouzhongyuan),<br />
+  fix memory leak in xmlAllocOutputBuffer (zhouzhongyuan),<br />
+  Fix unsigned int overflow (Jens Eggerstedt),<br />
+  dict.h: gcc 2.95 doesn't allow multiple storage classes (Nick Wellnhofer),<br />
+  Fix another code path in xmlParseQName (Nick Wellnhofer),<br />
+  Make sure that xmlParseQName returns NULL in error case (Nick Wellnhofer),<br />
+  Fix build without reader but with pattern (Nick Wellnhofer),<br />
+  Fix memory leak in xmlAllocOutputBufferInternal error path (Nick Wellnhofer),<br />
+  Fix unsigned integer overflow (Nick Wellnhofer),<br />
+  Fix return value of xmlOutputBufferWrite (Nick Wellnhofer),<br />
+  Fix parser termination from "Double hyphen within comment" error (David Warring),<br />
+  Fix call stack overflow in xmlFreePattern (Nick Wellnhofer),<br />
+  Fix null deref in previous commit (Nick Wellnhofer),<br />
+  Fix memory leaks in xmlXPathParseNameComplex error paths (Nick Wellnhofer),<br />
+  Check for integer overflow in xmlXPtrEvalChildSeq (Nick Wellnhofer),<br />
+  Fix xmllint dump of XPath namespace nodes (Nick Wellnhofer),<br />
+  Fix float casts in xmlXPathSubstringFunction (Nick Wellnhofer),<br />
+  Fix null deref in xmlregexp error path (Nick Wellnhofer),<br />
+  Fix null pointer dereference in xmlTextReaderReadOuterXml (Nick Wellnhofer),<br />
+  Fix memory leaks in xmlParseStartTag2 error paths (Nick Wellnhofer),<br />
+  Fix memory leak in xmlSAX2StartElement (Nick Wellnhofer),<br />
+  Fix commit "Memory leak in xmlFreeID (xmlreader.c)" (Nick Wellnhofer),<br />
+  Fix NULL pointer deref in xmlTextReaderValidateEntity (Nick Wellnhofer),<br />
+  Memory leak in xmlFreeTextReader (Nick Wellnhofer),<br />
+  Memory leak in xmlFreeID (xmlreader.c) (Nick Wellnhofer)<br />
+  </li>
+
+  <li>Improvements:<br />
+  Run XML conformance tests under CI (Nick Wellnhofer),<br />
+  Update GitLab CI config (Nick Wellnhofer),<br />
+  Propagate memory errors in valuePush (Nick Wellnhofer),<br />
+  Propagate memory errors in xmlXPathCompExprAdd (Nick Wellnhofer),<br />
+  Make xmlFreeDocElementContent non-recursive (Nick Wellnhofer),<br />
+  Enable continuous integration via GitLab CI (Nick Wellnhofer),<br />
+  Avoid ignored attribute warnings under GCC (Nick Wellnhofer),<br />
+  Make xmlDumpElementContent non-recursive (Nick Wellnhofer),<br />
+  Make apibuild.py ignore ATTRIBUTE_NO_SANITIZE (Nick Wellnhofer),<br />
+  Mark xmlExp* symbols as removed (Nick Wellnhofer),<br />
+  Make xmlParseConditionalSections non-recursive (Nick Wellnhofer),<br />
+  Adjust expected error in Python tests (Nick Wellnhofer),<br />
+  Make xmlTextReaderFreeNodeList non-recursive (Nick Wellnhofer),<br />
+  Make xmlFreeNodeList non-recursive (Nick Wellnhofer),<br />
+  Make xmlParseContent and xmlParseElement non-recursive (Nick Wellnhofer),<br />
+  Remove executable bit from non-executable files (Nick Wellnhofer),<br />
+  Fix expected output of test/schemas/any4 (Nick Wellnhofer),<br />
+  Optimize build instructions in README (zhouzhongyuan),<br />
+  xml2-config.in: Output CFLAGS and LIBS on the same line (Hugh McMaster),<br />
+  xml2-config: Add a --dynamic switch to print only shared libraries (Hugh McMaster),<br />
+  Annotate functions with __attribute__((no_sanitize)) (Nick Wellnhofer),<br />
+  Fix warnings when compiling without reader or push parser (Nick Wellnhofer),<br />
+  Remove unused member `doc` in xmlSaveCtxt (Nick Wellnhofer),<br />
+  Limit recursion depth in xmlXPathCompOpEvalPredicate (Nick Wellnhofer),<br />
+  Remove -Wno-array-bounds (Nick Wellnhofer),<br />
+  Remove unreachable code in xmlXPathCountFunction (Nick Wellnhofer),<br />
+  Improve XPath predicate and filter evaluation (Nick Wellnhofer),<br />
+  Limit recursion depth in xmlXPathOptimizeExpression (Nick Wellnhofer),<br />
+  Disable hash randomization when fuzzing (Nick Wellnhofer),<br />
+  Optional recursion limit when parsing XPath expressions (Nick Wellnhofer),<br />
+  Optional recursion limit when evaluating XPath expressions (Nick Wellnhofer),<br />
+  Use break statements in xmlXPathCompOpEval (Nick Wellnhofer),<br />
+  Optional XPath operation limit (Nick Wellnhofer),<br />
+  Fix compilation with --with-minimum (Nick Wellnhofer),<br />
+  Check XPath stack after calling functions (Nick Wellnhofer),<br />
+  Remove debug printf in xmlreader.c (Nick Wellnhofer),<br />
+  Always define LIBXML_THREAD_ENABLED when enabled (Michael Haubenwallner),<br />
+  Regenerate NEWS (Nick Wellnhofer),<br />
+  Change git repo URL (Nick Wellnhofer),<br />
+  Change bug tracker URL (Nick Wellnhofer),<br />
+  Remove outdated HTML file (Nick Wellnhofer),<br />
+  Fix unused function warning in testapi.c (Nick Wellnhofer),<br />
+  Add some generated test files to .gitignore (Nick Wellnhofer),<br />
+  Remove unneeded function pointer casts (Nick Wellnhofer),<br />
+  Fix -Wcast-function-type warnings (GCC 8) (Nick Wellnhofer),<br />
+  Fix -Wformat-truncation warnings (GCC 8) (Nick Wellnhofer)<br />
+  </li>
+
+  <li>Cleanups:<br />
+  Rebuild docs (Nick Wellnhofer),<br />
+  Disable xmlExp regex code (Nick Wellnhofer),<br />
+  Remove redundant code in xmlRelaxNGValidateState (Nick Wellnhofer),<br />
+  Remove redundant code in xmlXPathCompRelationalExpr (Nick Wellnhofer)<br />
+  </li>
+</ul><h3>v2.9.9: Jan 03 2019</h3><ul>
   <li>Security:<br />
   CVE-2018-9251 CVE-2018-14567 Fix infinite loop in LZMA decompression (Nick Wellnhofer),<br />
   CVE-2018-14404 Fix nullptr deref with XPath logic ops (Nick Wellnhofer),<br />
diff --git a/doc/xml.html b/doc/xml.html
index 126563b2..1b59f901 100644
--- a/doc/xml.html
+++ b/doc/xml.html
@@ -709,6 +709,146 @@ 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>
+  <li>Documentation:<br/>
+  Fix a few more typos ("fonction") (Nick Wellnhofer),<br/>
+  Large batch of typo fixes (Jared Yanovich),<br/>
+  Fix typos: tree: move{ -&gt; s}, reconcil{i -&gt; }ed, h{o -&gt; e}ld by... (Jan Pokorný),<br/>
+  Fix typo: xpath: simpli{ -&gt; fi}ed (Jan Pokorný),<br/>
+  Doc: do not mislead towards "infeasible" scenario wrt. xmlBufNodeDump (Jan Pokorný),<br/>
+  Fix comments in test code (zhouzhongyuan),<br/>
+  fix comment in testReader.c (zhouzhongyuan)<br/>
+  </li>
+
+  <li>Portability:<br/>
+  Fix some release issues on Fedora 30 (Daniel Veillard),<br/>
+  Fix exponent digits when running tests under old MSVC (Daniel Richard G),<br/>
+  Work around buggy ceil() function on AIX (Daniel Richard G),<br/>
+  Don't call printf with NULL string in runtest.c (Daniel Richard G),<br/>
+  Switched from unsigned long to ptrdiff_t in parser.c (Stephen Chenney),<br/>
+  timsort.h: support older GCCs (Jérôme Duval),<br/>
+  Make configure.ac work with older pkg-config (Nick Wellnhofer),<br/>
+  Stop defining _REENTRANT on some Win32 platforms (Nick Wellnhofer),<br/>
+  Fix nanohttp.c on MinGW (Nick Wellnhofer),<br/>
+  Fix Windows compiler warning in testC14N.c (Nick Wellnhofer),<br/>
+  Merge testThreadsWin32.c into testThreads.c (Nick Wellnhofer),<br/>
+  Fix Python bindings under Windows (Nick Wellnhofer)<br/>
+  </li>
+
+  <li>Bug Fixes:<br/>
+  Another fix for conditional sections at end of document (Nick Wellnhofer),<br/>
+  Fix for conditional sections at end of document (Nick Wellnhofer),<br/>
+  Make sure that Python tests exit with error code (Nick Wellnhofer),<br/>
+  Audit memory error handling in xpath.c (Nick Wellnhofer),<br/>
+  Fix error code in xmlTextWriterStartDocument (Nick Wellnhofer),<br/>
+  Fix integer overflow when counting written bytes (Nick Wellnhofer),<br/>
+  Fix uninitialized memory access in HTML parser (Nick Wellnhofer),<br/>
+  Fix memory leak in xmlSchemaValAtomicType (Nick Wellnhofer),<br/>
+  Disallow conditional sections in internal subset (Nick Wellnhofer),<br/>
+  Fix use-after-free in xmlTextReaderFreeNodeList (Nick Wellnhofer),<br/>
+  Fix Regextests (Nick Wellnhofer),<br/>
+  Fix empty branch in regex (Nick Wellnhofer),<br/>
+  Fix integer overflow in entity recursion check (Nick Wellnhofer),<br/>
+  Don't read external entities or XIncludes from stdin (Nick Wellnhofer),<br/>
+  Fix Schema determinism check of ##other namespaces (Nick Wellnhofer),<br/>
+  Fix potential null deref in xmlSchemaIDCFillNodeTables (zhouzhongyuan),<br/>
+  Fix potential memory leak in xmlBufBackToBuffer (Nick Wellnhofer),<br/>
+  Fix error message when processing XIncludes with fallbacks (Nick Wellnhofer),<br/>
+  Fix memory leak in xmlRegEpxFromParse (zhouzhongyuan),<br/>
+  14:00 is a valid timezone for xs:dateTime (Nick Wellnhofer),<br/>
+  Fix memory leak in xmlParseBalancedChunkMemoryRecover (Zhipeng Xie),<br/>
+  Fix potential null deref in xmlRelaxNGParsePatterns (Nick Wellnhofer),<br/>
+  Misleading error message with xs:{min|max}Inclusive (bettermanzzy),<br/>
+  Fix memory leak in xmlXIncludeLoadTxt (Wang Kirin),<br/>
+  Partial fix for comparison of xs:durations (Nick Wellnhofer),<br/>
+  Fix null deref in xmlreader buffer (zhouzhongyuan),<br/>
+  Fix unability to RelaxNG-validate grammar with choice-based name class (Jan Pokorný),<br/>
+  Fix unability to validate ambiguously constructed interleave for RelaxNG (Jan Pokorný),<br/>
+  Fix possible null dereference in xmlXPathIdFunction (zhouzhongyuan),<br/>
+  fix memory leak in xmlAllocOutputBuffer (zhouzhongyuan),<br/>
+  Fix unsigned int overflow (Jens Eggerstedt),<br/>
+  dict.h: gcc 2.95 doesn't allow multiple storage classes (Nick Wellnhofer),<br/>
+  Fix another code path in xmlParseQName (Nick Wellnhofer),<br/>
+  Make sure that xmlParseQName returns NULL in error case (Nick Wellnhofer),<br/>
+  Fix build without reader but with pattern (Nick Wellnhofer),<br/>
+  Fix memory leak in xmlAllocOutputBufferInternal error path (Nick Wellnhofer),<br/>
+  Fix unsigned integer overflow (Nick Wellnhofer),<br/>
+  Fix return value of xmlOutputBufferWrite (Nick Wellnhofer),<br/>
+  Fix parser termination from "Double hyphen within comment" error (David Warring),<br/>
+  Fix call stack overflow in xmlFreePattern (Nick Wellnhofer),<br/>
+  Fix null deref in previous commit (Nick Wellnhofer),<br/>
+  Fix memory leaks in xmlXPathParseNameComplex error paths (Nick Wellnhofer),<br/>
+  Check for integer overflow in xmlXPtrEvalChildSeq (Nick Wellnhofer),<br/>
+  Fix xmllint dump of XPath namespace nodes (Nick Wellnhofer),<br/>
+  Fix float casts in xmlXPathSubstringFunction (Nick Wellnhofer),<br/>
+  Fix null deref in xmlregexp error path (Nick Wellnhofer),<br/>
+  Fix null pointer dereference in xmlTextReaderReadOuterXml (Nick Wellnhofer),<br/>
+  Fix memory leaks in xmlParseStartTag2 error paths (Nick Wellnhofer),<br/>
+  Fix memory leak in xmlSAX2StartElement (Nick Wellnhofer),<br/>
+  Fix commit "Memory leak in xmlFreeID (xmlreader.c)" (Nick Wellnhofer),<br/>
+  Fix NULL pointer deref in xmlTextReaderValidateEntity (Nick Wellnhofer),<br/>
+  Memory leak in xmlFreeTextReader (Nick Wellnhofer),<br/>
+  Memory leak in xmlFreeID (xmlreader.c) (Nick Wellnhofer)<br/>
+  </li>
+
+  <li>Improvements:<br/>
+  Run XML conformance tests under CI (Nick Wellnhofer),<br/>
+  Update GitLab CI config (Nick Wellnhofer),<br/>
+  Propagate memory errors in valuePush (Nick Wellnhofer),<br/>
+  Propagate memory errors in xmlXPathCompExprAdd (Nick Wellnhofer),<br/>
+  Make xmlFreeDocElementContent non-recursive (Nick Wellnhofer),<br/>
+  Enable continuous integration via GitLab CI (Nick Wellnhofer),<br/>
+  Avoid ignored attribute warnings under GCC (Nick Wellnhofer),<br/>
+  Make xmlDumpElementContent non-recursive (Nick Wellnhofer),<br/>
+  Make apibuild.py ignore ATTRIBUTE_NO_SANITIZE (Nick Wellnhofer),<br/>
+  Mark xmlExp* symbols as removed (Nick Wellnhofer),<br/>
+  Make xmlParseConditionalSections non-recursive (Nick Wellnhofer),<br/>
+  Adjust expected error in Python tests (Nick Wellnhofer),<br/>
+  Make xmlTextReaderFreeNodeList non-recursive (Nick Wellnhofer),<br/>
+  Make xmlFreeNodeList non-recursive (Nick Wellnhofer),<br/>
+  Make xmlParseContent and xmlParseElement non-recursive (Nick Wellnhofer),<br/>
+  Remove executable bit from non-executable files (Nick Wellnhofer),<br/>
+  Fix expected output of test/schemas/any4 (Nick Wellnhofer),<br/>
+  Optimize build instructions in README (zhouzhongyuan),<br/>
+  xml2-config.in: Output CFLAGS and LIBS on the same line (Hugh McMaster),<br/>
+  xml2-config: Add a --dynamic switch to print only shared libraries (Hugh McMaster),<br/>
+  Annotate functions with __attribute__((no_sanitize)) (Nick Wellnhofer),<br/>
+  Fix warnings when compiling without reader or push parser (Nick Wellnhofer),<br/>
+  Remove unused member `doc` in xmlSaveCtxt (Nick Wellnhofer),<br/>
+  Limit recursion depth in xmlXPathCompOpEvalPredicate (Nick Wellnhofer),<br/>
+  Remove -Wno-array-bounds (Nick Wellnhofer),<br/>
+  Remove unreachable code in xmlXPathCountFunction (Nick Wellnhofer),<br/>
+  Improve XPath predicate and filter evaluation (Nick Wellnhofer),<br/>
+  Limit recursion depth in xmlXPathOptimizeExpression (Nick Wellnhofer),<br/>
+  Disable hash randomization when fuzzing (Nick Wellnhofer),<br/>
+  Optional recursion limit when parsing XPath expressions (Nick Wellnhofer),<br/>
+  Optional recursion limit when evaluating XPath expressions (Nick Wellnhofer),<br/>
+  Use break statements in xmlXPathCompOpEval (Nick Wellnhofer),<br/>
+  Optional XPath operation limit (Nick Wellnhofer),<br/>
+  Fix compilation with --with-minimum (Nick Wellnhofer),<br/>
+  Check XPath stack after calling functions (Nick Wellnhofer),<br/>
+  Remove debug printf in xmlreader.c (Nick Wellnhofer),<br/>
+  Always define LIBXML_THREAD_ENABLED when enabled (Michael Haubenwallner),<br/>
+  Regenerate NEWS (Nick Wellnhofer),<br/>
+  Change git repo URL (Nick Wellnhofer),<br/>
+  Change bug tracker URL (Nick Wellnhofer),<br/>
+  Remove outdated HTML file (Nick Wellnhofer),<br/>
+  Fix unused function warning in testapi.c (Nick Wellnhofer),<br/>
+  Add some generated test files to .gitignore (Nick Wellnhofer),<br/>
+  Remove unneeded function pointer casts (Nick Wellnhofer),<br/>
+  Fix -Wcast-function-type warnings (GCC 8) (Nick Wellnhofer),<br/>
+  Fix -Wformat-truncation warnings (GCC 8) (Nick Wellnhofer)<br/>
+  </li>
+
+  <li>Cleanups:<br/>
+  Rebuild docs (Nick Wellnhofer),<br/>
+  Disable xmlExp regex code (Nick Wellnhofer),<br/>
+  Remove redundant code in xmlRelaxNGValidateState (Nick Wellnhofer),<br/>
+  Remove redundant code in xmlXPathCompRelationalExpr (Nick Wellnhofer)<br/>
+  </li>
+</ul>
+
 <h3>v2.9.9: Jan 03 2019</h3>
 <ul>
   <li>Security:<br/>


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