[libxml2] Release of libxml2-2.9.10
- From: Daniel Veillard <veillard src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libxml2] Release of libxml2-2.9.10
- Date: Wed, 30 Oct 2019 19:17:11 +0000 (UTC)
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"><libxml/parser.h></a></li><li><a
href="../html/libxml-xmlIO.html"><libxml/xmlIO.h></a></li><li><a
href="../html/libxml-xinclude.html"><libxml/xinclude.h></a></li><li><a
href="../html/libxml-tree.html"><libxml/tree.h></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"><libxml/parser.h></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"><libxml/tree.h></a></li><li><a
href="../html/libxml-parser.html"><libxml/parser.h></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"><libxml/tree.h></a></li><li><a
href="../html/libxml-parser.html"><libxml/parser.h></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"><libxml/tree.h></a></li><li><a
href="../html/libxml-parser.html"><libxml/parser.h></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"><libxml/tree.h></a></li><li><a
href="../html/libxml-parser.html"><libxml/parser.h></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"><libxml/tree.h></a></li><li><a
href="../html/libxml-parser.html"><libxml/parser.h></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 <filename> -Default output: stdout</p><p>Author: Lucas
Brasilino <brasilino recife pe gov br></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"><libxml/tree.h></a></li><li><a
href="../html/libxml-parser.html"><libxml/parser.h></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"><libxml/parser.h></a></li><li><a
href="../html/libxml-xpath.html"><libxml/xpath.h></a></li><li><a
href="../html/libxml-xpathInternals.html"><libxml/xpathInternals.h></a></li><li><a
href="../html/libxml-tree.html"><libxml/tree.h></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 <xml-file> <xpath-expr>
[<known-ns-list>]</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"><libxml/parser.h></a></li><li><a
href="../html/libxml-xpath.html"><libxml/xpath.h></a></li><li><a
href="../html/libxml-xpathInternals.html"><libxml/xpathInternals.h></a></li><li><a
href="../html/libxml-tree.html"><libxml/tree.h></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 <xml-file> <xpath-expr> <new-value></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"><libxml/xmlreader.h></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 <valid_xml_filename></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"><libxml/xmlreader.h></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 <filename></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"><libxml/xmlreader.h></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"><libxml/xmlreader.h></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 <filename> [ 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"><libxml/encoding.h></a></li><li><a
href="../html/libxml-xmlwriter.html"><libxml/xmlwriter.h></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"><libxml/parser.h></a></li><li><a
href="../html/libxml-xmlIO.html"><libxml/xmlIO.h></a></li><li><a
href="../html/libxml-xinclude.html"><libxml/xinclude.h></a></li><li><a
href="../html/libxml-tree.html"><libxml/tree.h></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"><libxml/parser.h></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"><libxml/tree.h></a></li><li><a
href="../html/libxml-parser.html"><libxml/parser.h></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"><libxml/tree.h></a></li><li><a
href="../html/libxml-parser.html"><libxml/parser.h></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"><libxml/tree.h></a></li><li><a
href="../html/libxml-parser.html"><libxml/parser.h></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"><libxml/tree.h></a></li><li><a
href="../html/libxml-parser.html"><libxml/parser.h></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"><
;libxml/
tree.h></a></li><li><a
href="../html/libxml-parser.html"><libxml/parser.h></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"><libxml/tree.h></a></li><li><a
href="../html/libxml-parser.html"><libxml/parser.h></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 <filename> -Default output: stdout</p><p>Author: Lucas Brasilino
<brasilino recife pe gov br></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"><libxml/parser.h></a></li><li><a
href="../html/libxml-xpath.html"><libxml/xpath.h></a></li><li><a
href="../html/libxml-xpathInternals.html"><libxml/xpathInternals.h></a></li><li><a
href="../html/libxml-tree.html"><libxml/tree.h></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 <xml-file>
; <xp
ath-expr> [<known-ns-list>]</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"><libxml/parser.h></a></li><li><a
href="../html/libxml-xpath.html"><libxml/xpath.h></a></li><li><a
href="../html/libxml-xpathInternals.html"><libxml/xpathInternals.h></a></li><li><a
href="../html/libxml-tree.html"><libxml/tree.h></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 <xml-file> <xpath-expr> <new-value></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"><libxml/xmlreader.h></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 <filename></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"><libxml/xmlreader.h></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 <valid_xml_filename></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"><libxml/xmlreader.h></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"><libxml/xmlreader.h></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 <filename> [ 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"><libxml/encoding.h></a></li><li><a
href="../html/libxml-xmlwriter.html"><libxml/xmlwriter.h></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->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
& 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{ -> s}, reconcil{i -> }ed, h{o -> e}ld by... (Jan Pokorný),<br />
+ Fix typo: xpath: simpli{ -> 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{ -> s}, reconcil{i -> }ed, h{o -> e}ld by... (Jan Pokorný),<br/>
+ Fix typo: xpath: simpli{ -> 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]