aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Wellnhofer <wellnhofer@aevum.de>2023-11-04 19:07:37 +0100
committerNick Wellnhofer <wellnhofer@aevum.de>2023-11-04 19:32:48 +0100
commita40c32ac1f4a5eb24696343deb1a6f557b7f8c9b (patch)
tree37a7a9ff814cd4911c9dc5369c7c055f9e5938dd
parentc682089421249e2d74075eae329f7b5f900aaee5 (diff)
downloadlibxml2-a40c32ac1f4a5eb24696343deb1a6f557b7f8c9b.tar.gz
doc: Regenerate documentation
-rw-r--r--doc/devhelp/libxml2-HTMLparser.html6
-rw-r--r--doc/devhelp/libxml2-SAX.html2
-rw-r--r--doc/devhelp/libxml2-SAX2.html2
-rw-r--r--doc/devhelp/libxml2-dict.html18
-rw-r--r--doc/devhelp/libxml2-encoding.html28
-rw-r--r--doc/devhelp/libxml2-entities.html16
-rw-r--r--doc/devhelp/libxml2-globals.html888
-rw-r--r--doc/devhelp/libxml2-hash.html500
-rw-r--r--doc/devhelp/libxml2-parser.html253
-rw-r--r--doc/devhelp/libxml2-parserInternals.html8
-rw-r--r--doc/devhelp/libxml2-threads.html34
-rw-r--r--doc/devhelp/libxml2-tree.html200
-rw-r--r--doc/devhelp/libxml2-valid.html2
-rw-r--r--doc/devhelp/libxml2-xmlIO.html144
-rw-r--r--doc/devhelp/libxml2-xmlerror.html63
-rw-r--r--doc/devhelp/libxml2-xmlmemory.html55
-rw-r--r--doc/devhelp/libxml2-xmlreader.html22
-rw-r--r--doc/devhelp/libxml2-xmlsave.html68
-rw-r--r--doc/devhelp/libxml2-xmlversion.html29
-rw-r--r--doc/devhelp/libxml2-xpath.html6
-rw-r--r--doc/devhelp/libxml2.devhelp2113
-rw-r--r--doc/examples/examples.xml116
-rw-r--r--doc/examples/index.html96
-rw-r--r--doc/libxml2-api.xml726
-rw-r--r--doc/xmlcatalog.14
-rw-r--r--doc/xmllint.111
-rw-r--r--doc/xmllint.html7
27 files changed, 1578 insertions, 1839 deletions
diff --git a/doc/devhelp/libxml2-HTMLparser.html b/doc/devhelp/libxml2-HTMLparser.html
index a25e40bb..5b7865ff 100644
--- a/doc/devhelp/libxml2-HTMLparser.html
+++ b/doc/devhelp/libxml2-HTMLparser.html
@@ -45,7 +45,7 @@ int <a href="#htmlAutoCloseTag">htmlAutoCloseTag</a> (<a href="libxml2-HTMLpars
<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> <a href="#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a> (const char * filename, <br> const char * encoding);
<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> <a href="#htmlCreateMemoryParserCtxt">htmlCreateMemoryParserCtxt</a> (const char * buffer, <br> int size);
<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> <a href="#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a> (<a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br> void * user_data, <br> const char * chunk, <br> int size, <br> const char * filename, <br> <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> <a href="#htmlCtxtReadDoc">htmlCtxtReadDoc</a> (<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br> const char * URL, <br> const char * encoding, <br> int options);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> <a href="#htmlCtxtReadDoc">htmlCtxtReadDoc</a> (<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br> const char * URL, <br> const char * encoding, <br> int options);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> <a href="#htmlCtxtReadFd">htmlCtxtReadFd</a> (<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br> int fd, <br> const char * URL, <br> const char * encoding, <br> int options);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> <a href="#htmlCtxtReadFile">htmlCtxtReadFile</a> (<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br> const char * filename, <br> const char * encoding, <br> int options);
<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> <a href="#htmlCtxtReadIO">htmlCtxtReadIO</a> (<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br> <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br> <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br> void * ioctx, <br> const char * URL, <br> const char * encoding, <br> int options);
@@ -480,7 +480,7 @@ const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * <a href=
<div class="refsect2" lang="en">
<h3>
<a name="htmlCtxtReadDoc"></a>htmlCtxtReadDoc ()</h3>
-<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> htmlCtxtReadDoc (<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br> const char * URL, <br> const char * encoding, <br> int options)<br>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> htmlCtxtReadDoc (<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br> const char * URL, <br> const char * encoding, <br> int options)<br>
</pre>
<p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
<div class="variablelist"><table border="0">
@@ -491,7 +491,7 @@ const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * <a href=
<td>an HTML parser context</td>
</tr>
<tr>
-<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>a pointer to a zero terminated string</td>
</tr>
<tr>
diff --git a/doc/devhelp/libxml2-SAX.html b/doc/devhelp/libxml2-SAX.html
index b87a6e63..632836c2 100644
--- a/doc/devhelp/libxml2-SAX.html
+++ b/doc/devhelp/libxml2-SAX.html
@@ -827,7 +827,7 @@ void <a href="#unparsedEntityDecl">unparsedEntityDecl</a> (void * ctx, <br>
<a name="setDocumentLocator"></a>setDocumentLocator ()</h3>
<pre class="programlisting">void setDocumentLocator (void * ctx, <br> <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br>
</pre>
-<p>Receive the document locator at startup, actually <a href="libxml2-globals.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a> Everything is available on the context, so this is useless in our case. DEPRECATED</p>
+<p>Receive the document locator at startup, actually xmlDefaultSAXLocator Everything is available on the context, so this is useless in our case. DEPRECATED</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
diff --git a/doc/devhelp/libxml2-SAX2.html b/doc/devhelp/libxml2-SAX2.html
index b0bb2c79..9d4e2c60 100644
--- a/doc/devhelp/libxml2-SAX2.html
+++ b/doc/devhelp/libxml2-SAX2.html
@@ -750,7 +750,7 @@ int <a href="#xmlSAXVersion">xmlSAXVersion</a> (<a href="libxml2-tree.html#xml
<a name="xmlSAX2SetDocumentLocator"></a>xmlSAX2SetDocumentLocator ()</h3>
<pre class="programlisting">void xmlSAX2SetDocumentLocator (void * ctx, <br> <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br>
</pre>
-<p>Receive the document locator at startup, actually <a href="libxml2-globals.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a> Everything is available on the context, so this is useless in our case.</p>
+<p>Receive the document locator at startup, actually xmlDefaultSAXLocator Everything is available on the context, so this is useless in our case.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
diff --git a/doc/devhelp/libxml2-dict.html b/doc/devhelp/libxml2-dict.html
index 08e914d1..d2a56c10 100644
--- a/doc/devhelp/libxml2-dict.html
+++ b/doc/devhelp/libxml2-dict.html
@@ -110,7 +110,7 @@ The content of this structure is not made public by the API.
<a name="xmlDictExists"></a>xmlDictExists ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlDictExists (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> int len)<br>
</pre>
-<p>Check if the @name exists in the dictionary @dict.</p>
+<p>Check if a string exists in the dictionary.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
@@ -175,25 +175,25 @@ The content of this structure is not made public by the API.
<a name="xmlDictLookup"></a>xmlDictLookup ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlDictLookup (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> int len)<br>
</pre>
-<p>Add the @name to the dictionary @dict if not present.</p>
+<p>Lookup a string and add it to the dictionary if it wasn't found.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>dict</tt></i>:</span></td>
-<td>the dictionary</td>
+<td>dictionary</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the name of the userdata</td>
+<td>string key</td>
</tr>
<tr>
<td><span class="term"><i><tt>len</tt></i>:</span></td>
-<td>the length of the name, if -1 it is recomputed</td>
+<td>length of the key, if -1 it is recomputed</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the internal copy of the name or NULL in case of internal error</td>
+<td>the interned copy of the string or NULL if a memory allocation failed.</td>
</tr>
</tbody>
</table></div>
@@ -229,7 +229,7 @@ The content of this structure is not made public by the API.
<a name="xmlDictQLookup"></a>xmlDictQLookup ()</h3>
<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlDictQLookup (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
-<p>Add the QName @prefix:@name to the hash @dict if not present.</p>
+<p>Lookup the QName @prefix:@name and add it to the dictionary if it wasn't found.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
@@ -247,7 +247,7 @@ The content of this structure is not made public by the API.
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the internal copy of the QName or NULL in case of internal error</td>
+<td>the interned copy of the string or NULL if a memory allocation failed.</td>
</tr>
</tbody>
</table></div>
@@ -330,7 +330,7 @@ The content of this structure is not made public by the API.
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td></td>
+<td>0.</td>
</tr></tbody>
</table></div>
</div>
diff --git a/doc/devhelp/libxml2-encoding.html b/doc/devhelp/libxml2-encoding.html
index 2eb52b3d..39782478 100644
--- a/doc/devhelp/libxml2-encoding.html
+++ b/doc/devhelp/libxml2-encoding.html
@@ -22,7 +22,8 @@
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<pre class="synopsis">typedef enum <a href="#xmlCharEncoding">xmlCharEncoding</a>;
+<pre class="synopsis">typedef enum <a href="#xmlCharEncError">xmlCharEncError</a>;
+typedef enum <a href="#xmlCharEncoding">xmlCharEncoding</a>;
typedef struct _xmlCharEncodingHandler <a href="#xmlCharEncodingHandler">xmlCharEncodingHandler</a>;
typedef <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * <a href="#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>;
int <a href="#UTF8Toisolat1">UTF8Toisolat1</a> (unsigned char * out, <br> int * outlen, <br> const unsigned char * in, <br> int * inlen);
@@ -54,6 +55,21 @@ void <a href="#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
+<a name="xmlCharEncError">Enum </a>xmlCharEncError</h3>
+<pre class="programlisting">enum <a href="#xmlCharEncError">xmlCharEncError</a> {
+ <a name="XML_ENC_ERR_MEMORY">XML_ENC_ERR_MEMORY</a> = -5
+ <a name="XML_ENC_ERR_INTERNAL">XML_ENC_ERR_INTERNAL</a> = -4
+ <a name="XML_ENC_ERR_PARTIAL">XML_ENC_ERR_PARTIAL</a> = -3
+ <a name="XML_ENC_ERR_INPUT">XML_ENC_ERR_INPUT</a> = -2
+ <a name="XML_ENC_ERR_SPACE">XML_ENC_ERR_SPACE</a> = -1
+ <a name="XML_ENC_ERR_SUCCESS">XML_ENC_ERR_SUCCESS</a> = 0
+};
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
<a name="xmlCharEncoding">Enum </a>xmlCharEncoding</h3>
<pre class="programlisting">enum <a href="#xmlCharEncoding">xmlCharEncoding</a> {
<a name="XML_CHAR_ENCODING_ERROR">XML_CHAR_ENCODING_ERROR</a> = -1 /* No char encoding detected */
@@ -202,7 +218,7 @@ void <a href="#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the number of bytes written if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets produced.</td>
+<td>the number of bytes written or an XML_ENC_ERR code. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets produced.</td>
</tr>
</tbody>
</table></div>
@@ -235,7 +251,7 @@ void <a href="#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the number of bytes written if success, or -1 otherwise The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets produced.</td>
+<td>the number of bytes written or an XML_ENC_ERR code. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets produced.</td>
</tr>
</tbody>
</table></div>
@@ -310,7 +326,7 @@ void <a href="#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td></td>
+<td>the number of bytes written or an XML_ENC_ERR code.</td>
</tr>
</tbody>
</table></div>
@@ -339,7 +355,7 @@ void <a href="#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td>
+<td>the number of bytes written or an XML_ENC_ERR code.</td>
</tr>
</tbody>
</table></div>
@@ -368,7 +384,7 @@ void <a href="#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can't fit into the encoding we want), or</td>
+<td>the number of bytes written or an XML_ENC_ERR code.</td>
</tr>
</tbody>
</table></div>
diff --git a/doc/devhelp/libxml2-entities.html b/doc/devhelp/libxml2-entities.html
index 2b0ea58d..e21cbcf6 100644
--- a/doc/devhelp/libxml2-entities.html
+++ b/doc/devhelp/libxml2-entities.html
@@ -36,6 +36,7 @@ const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlEncode
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a> (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input);
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlEncodeSpecialChars">xmlEncodeSpecialChars</a> (const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input);
void <a href="#xmlFreeEntitiesTable">xmlFreeEntitiesTable</a> (<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table);
+void <a href="#xmlFreeEntity">xmlFreeEntity</a> (<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a href="#xmlGetDocEntity">xmlGetDocEntity</a> (const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a href="#xmlGetDtdEntity">xmlGetDtdEntity</a> (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a href="#xmlGetParameterEntity">xmlGetParameterEntity</a> (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
@@ -341,6 +342,21 @@ The content of this structure is not made public by the API.
<hr>
<div class="refsect2" lang="en">
<h3>
+<a name="xmlFreeEntity"></a>xmlFreeEntity ()</h3>
+<pre class="programlisting">void xmlFreeEntity (<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>entity</tt></i>:</span></td>
+<td></td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
<a name="xmlGetDocEntity"></a>xmlGetDocEntity ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> xmlGetDocEntity (const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
diff --git a/doc/devhelp/libxml2-globals.html b/doc/devhelp/libxml2-globals.html
index 0c1eb574..dbd7b3e9 100644
--- a/doc/devhelp/libxml2-globals.html
+++ b/doc/devhelp/libxml2-globals.html
@@ -18,42 +18,16 @@
</tr></table>
<h2><span class="refentrytitle">globals</span></h2>
<p>globals - interface for all global variables of the library</p>
-<p>all the global variables and thread handling for those variables is handled by this module. The bottom of this file is automatically generated by build_glob.py based on the description file global.data </p>
-<p>Author(s): Gary Pennington &lt;Gary.Pennington@uk.sun.com&gt;, Daniel Veillard </p>
+<p>Deprecated, don't use </p>
+<p>Author(s): </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef struct _xmlGlobalState <a href="#xmlGlobalState">xmlGlobalState</a>;
typedef <a href="libxml2-globals.html#xmlGlobalState">xmlGlobalState</a> * <a href="#xmlGlobalStatePtr">xmlGlobalStatePtr</a>;
void <a href="#xmlCleanupGlobals">xmlCleanupGlobals</a> (void);
-<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> <a href="#xmlDeregisterNodeDefault">xmlDeregisterNodeDefault</a> (<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func);
-typedef void <a href="#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+<a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> <a href="#xmlGetGlobalState">xmlGetGlobalState</a> (void);
void <a href="#xmlInitGlobals">xmlInitGlobals</a> (void);
void <a href="#xmlInitializeGlobalState">xmlInitializeGlobalState</a> (<a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> gs);
-<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> <a href="#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a> (<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func);
-typedef <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> (const char * URI, <br> <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br> int compression);
-<a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> <a href="#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a> (<a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func);
-typedef <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> (const char * URI, <br> <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
-<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> <a href="#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a> (<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func);
-typedef void <a href="#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> <a href="#xmlThrDefBufferAllocScheme">xmlThrDefBufferAllocScheme</a> (<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> v);
-int <a href="#xmlThrDefDefaultBufferSize">xmlThrDefDefaultBufferSize</a> (int v);
-<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> <a href="#xmlThrDefDeregisterNodeDefault">xmlThrDefDeregisterNodeDefault</a> (<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func);
-int <a href="#xmlThrDefDoValidityCheckingDefaultValue">xmlThrDefDoValidityCheckingDefaultValue</a> (int v);
-int <a href="#xmlThrDefGetWarningsDefaultValue">xmlThrDefGetWarningsDefaultValue</a> (int v);
-int <a href="#xmlThrDefIndentTreeOutput">xmlThrDefIndentTreeOutput</a> (int v);
-int <a href="#xmlThrDefKeepBlanksDefaultValue">xmlThrDefKeepBlanksDefaultValue</a> (int v);
-int <a href="#xmlThrDefLineNumbersDefaultValue">xmlThrDefLineNumbersDefaultValue</a> (int v);
-int <a href="#xmlThrDefLoadExtDtdDefaultValue">xmlThrDefLoadExtDtdDefaultValue</a> (int v);
-<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> <a href="#xmlThrDefOutputBufferCreateFilenameDefault">xmlThrDefOutputBufferCreateFilenameDefault</a> (<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func);
-int <a href="#xmlThrDefParserDebugEntities">xmlThrDefParserDebugEntities</a> (int v);
-<a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> <a href="#xmlThrDefParserInputBufferCreateFilenameDefault">xmlThrDefParserInputBufferCreateFilenameDefault</a> (<a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func);
-int <a href="#xmlThrDefPedanticParserDefaultValue">xmlThrDefPedanticParserDefaultValue</a> (int v);
-<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> <a href="#xmlThrDefRegisterNodeDefault">xmlThrDefRegisterNodeDefault</a> (<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func);
-int <a href="#xmlThrDefSaveNoEmptyTags">xmlThrDefSaveNoEmptyTags</a> (int v);
-void <a href="#xmlThrDefSetGenericErrorFunc">xmlThrDefSetGenericErrorFunc</a> (void * ctx, <br> <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler);
-void <a href="#xmlThrDefSetStructuredErrorFunc">xmlThrDefSetStructuredErrorFunc</a> (void * ctx, <br> <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler);
-int <a href="#xmlThrDefSubstituteEntitiesDefaultValue">xmlThrDefSubstituteEntitiesDefaultValue</a> (int v);
-const char * <a href="#xmlThrDefTreeIndentString">xmlThrDefTreeIndentString</a> (const char * v);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
@@ -64,39 +38,7 @@ const char * <a href="#xmlThrDefTreeIndentString">xmlThrDefTreeIndentString</a>
<h3>
<a name="xmlGlobalState">Structure </a>xmlGlobalState</h3>
<pre class="programlisting">struct _xmlGlobalState {
- const char * xmlParserVersion
- <a href="libxml2-tree.html#xmlSAXLocator">xmlSAXLocator</a> xmlDefaultSAXLocator
- <a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> xmlDefaultSAXHandler
- <a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> docbDefaultSAXHandler : unused
- <a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> htmlDefaultSAXHandler
- <a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> xmlFree
- <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> xmlMalloc
- <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> xmlMemStrdup
- <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> xmlRealloc
- <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> xmlGenericError
- <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> xmlStructuredError
- void * xmlGenericErrorContext
- int oldXMLWDcompatibility
- <a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> xmlBufferAllocScheme
- int xmlDefaultBufferSize
- int xmlSubstituteEntitiesDefaultValue
- int xmlDoValidityCheckingDefaultValue
- int xmlGetWarningsDefaultValue
- int xmlKeepBlanksDefaultValue
- int xmlLineNumbersDefaultValue
- int xmlLoadExtDtdDefaultValue
- int xmlParserDebugEntities
- int xmlPedanticParserDefaultValue
- int xmlSaveNoEmptyTags
- int xmlIndentTreeOutput
- const char * xmlTreeIndentString
- <a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> xmlRegisterNodeDefaultValue
- <a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> xmlDeregisterNodeDefaultValue
- <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> xmlMallocAtomic
- <a href="libxml2-xmlerror.html#xmlError">xmlError</a> xmlLastError
- <a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> xmlParserInputBufferCreateFilenameValue
- <a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> xmlOutputBufferCreateFilenameValue
- void * xmlStructuredErrorContext
+The content of this structure is not made public by the API.
} xmlGlobalState;
</pre>
<p></p>
@@ -112,346 +54,6 @@ const char * <a href="#xmlThrDefTreeIndentString">xmlThrDefTreeIndentString</a>
<hr>
<div class="refsect2" lang="en">
<h3>
-<a name="xmlDeregisterNodeFunc"></a>Function type xmlDeregisterNodeFunc</h3>
-<pre class="programlisting">void xmlDeregisterNodeFunc (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
-</pre>
-<p>Signature for the deregistration callback of a discarded node</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody><tr>
-<td><span class="term"><i><tt>node</tt></i>:</span></td>
-<td>the current node</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlOutputBufferCreateFilenameFunc"></a>Function type xmlOutputBufferCreateFilenameFunc</h3>
-<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> xmlOutputBufferCreateFilenameFunc (const char * URI, <br> <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br> int compression)<br>
-</pre>
-<p>Signature for the function doing the lookup for a suitable output method corresponding to an URI.</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>URI</tt></i>:</span></td>
-<td>the URI to write to</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
-<td></td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>compression</tt></i>:</span></td>
-<td></td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the new <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> in case of success or NULL if no method was found.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlParserInputBufferCreateFilenameFunc"></a>Function type xmlParserInputBufferCreateFilenameFunc</h3>
-<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> xmlParserInputBufferCreateFilenameFunc (const char * URI, <br> <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
-</pre>
-<p>Signature for the function doing the lookup for a suitable input method corresponding to an URI.</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>URI</tt></i>:</span></td>
-<td>the URI to read from</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>enc</tt></i>:</span></td>
-<td>the requested source encoding</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the new <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in case of success or NULL if no method was found.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlRegisterNodeFunc"></a>Function type xmlRegisterNodeFunc</h3>
-<pre class="programlisting">void xmlRegisterNodeFunc (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
-</pre>
-<p>Signature for the registration callback of a created node</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody><tr>
-<td><span class="term"><i><tt>node</tt></i>:</span></td>
-<td>the current node</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="htmlDefaultSAXHandler">Variable </a>htmlDefaultSAXHandler</h3>
-<pre class="programlisting"><a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> htmlDefaultSAXHandler;
-</pre>
-<p>DEPRECATED: This handler is unused and will be removed from future versions. Default old SAX v1 handler for HTML, builds the DOM tree</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="oldXMLWDcompatibility">Variable </a>oldXMLWDcompatibility</h3>
-<pre class="programlisting">int oldXMLWDcompatibility;
-</pre>
-<p>Global setting, DEPRECATED.</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlBufferAllocScheme">Variable </a>xmlBufferAllocScheme</h3>
-<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> xmlBufferAllocScheme;
-</pre>
-<p>DEPRECATED: Don't use. Global setting, default allocation policy for buffers, default is <a href="libxml2-tree.html#XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a></p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlDefaultBufferSize">Variable </a>xmlDefaultBufferSize</h3>
-<pre class="programlisting">int xmlDefaultBufferSize;
-</pre>
-<p>DEPRECATED: Don't use. Global setting, default buffer size. Default value is <a href="libxml2-tree.html#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a></p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlDefaultSAXHandler">Variable </a>xmlDefaultSAXHandler</h3>
-<pre class="programlisting"><a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> xmlDefaultSAXHandler;
-</pre>
-<p>DEPRECATED: This handler is unused and will be removed from future versions. Default SAX version1 handler for XML, builds the DOM tree</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlDefaultSAXLocator">Variable </a>xmlDefaultSAXLocator</h3>
-<pre class="programlisting"><a href="libxml2-tree.html#xmlSAXLocator">xmlSAXLocator</a> xmlDefaultSAXLocator;
-</pre>
-<p>DEPRECATED: Don't use The default SAX Locator { getPublicId, getSystemId, getLineNumber, getColumnNumber}</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlDeregisterNodeDefaultValue">Variable </a>xmlDeregisterNodeDefaultValue</h3>
-<pre class="programlisting"><a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> xmlDeregisterNodeDefaultValue;
-</pre>
-<p>DEPRECATED: Don't use</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlDoValidityCheckingDefaultValue">Variable </a>xmlDoValidityCheckingDefaultValue</h3>
-<pre class="programlisting">int xmlDoValidityCheckingDefaultValue;
-</pre>
-<p>DEPRECATED: Use the modern options API with <a href="libxml2-parser.html#XML_PARSE_DTDVALID">XML_PARSE_DTDVALID</a>. Global setting, indicate that the parser should work in validating mode. Disabled by default.</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlFree">Variable </a>xmlFree</h3>
-<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> xmlFree;
-</pre>
-<p>@mem: an already allocated block of memory The variable holding the libxml free() implementation</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlGenericError">Variable </a>xmlGenericError</h3>
-<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> xmlGenericError;
-</pre>
-<p>Global setting: function used for generic error callbacks</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlGenericErrorContext">Variable </a>xmlGenericErrorContext</h3>
-<pre class="programlisting">void * xmlGenericErrorContext;
-</pre>
-<p>Global setting passed to generic error callbacks</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlGetWarningsDefaultValue">Variable </a>xmlGetWarningsDefaultValue</h3>
-<pre class="programlisting">int xmlGetWarningsDefaultValue;
-</pre>
-<p>DEPRECATED: Don't use Global setting, indicate that the DTD validation should provide warnings. Activated by default.</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlIndentTreeOutput">Variable </a>xmlIndentTreeOutput</h3>
-<pre class="programlisting">int xmlIndentTreeOutput;
-</pre>
-<p>Global setting, asking the serializer to indent the output tree by default Enabled by default</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlKeepBlanksDefaultValue">Variable </a>xmlKeepBlanksDefaultValue</h3>
-<pre class="programlisting">int xmlKeepBlanksDefaultValue;
-</pre>
-<p>DEPRECATED: Use the modern options API with <a href="libxml2-parser.html#XML_PARSE_NOBLANKS">XML_PARSE_NOBLANKS</a>. Global setting, indicate that the parser should keep all blanks nodes found in the content Activated by default, this is actually needed to have the parser conformant to the XML Recommendation, however the option is kept for some applications since this was libxml1 default behaviour.</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlLastError">Variable </a>xmlLastError</h3>
-<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlError">xmlError</a> xmlLastError;
-</pre>
-<p></p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlLineNumbersDefaultValue">Variable </a>xmlLineNumbersDefaultValue</h3>
-<pre class="programlisting">int xmlLineNumbersDefaultValue;
-</pre>
-<p>DEPRECATED: The modern options API always enables line numbers. Global setting, indicate that the parser should store the line number in the content field of elements in the DOM tree. Disabled by default since this may not be safe for old classes of application.</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlLoadExtDtdDefaultValue">Variable </a>xmlLoadExtDtdDefaultValue</h3>
-<pre class="programlisting">int xmlLoadExtDtdDefaultValue;
-</pre>
-<p>DEPRECATED: Use the modern options API with <a href="libxml2-parser.html#XML_PARSE_DTDLOAD">XML_PARSE_DTDLOAD</a>. Global setting, indicate that the parser should load DTD while not validating. Disabled by default.</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlMalloc">Variable </a>xmlMalloc</h3>
-<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> xmlMalloc;
-</pre>
-<p>@size: the size requested in bytes The variable holding the libxml malloc() implementation Returns a pointer to the newly allocated block or NULL in case of error</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlMallocAtomic">Variable </a>xmlMallocAtomic</h3>
-<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> xmlMallocAtomic;
-</pre>
-<p>@size: the size requested in bytes The variable holding the libxml malloc() implementation for atomic data (i.e. blocks not containing pointers), useful when using a garbage collecting allocator. Returns a pointer to the newly allocated block or NULL in case of error</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlMemStrdup">Variable </a>xmlMemStrdup</h3>
-<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> xmlMemStrdup;
-</pre>
-<p>@str: a zero terminated string The variable holding the libxml strdup() implementation Returns the copy of the string or NULL in case of error</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlOutputBufferCreateFilenameValue">Variable </a>xmlOutputBufferCreateFilenameValue</h3>
-<pre class="programlisting"><a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> xmlOutputBufferCreateFilenameValue;
-</pre>
-<p>DEPRECATED: Don't use</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlParserDebugEntities">Variable </a>xmlParserDebugEntities</h3>
-<pre class="programlisting">int xmlParserDebugEntities;
-</pre>
-<p>DEPRECATED: Don't use Global setting, asking the parser to print out debugging information. while handling entities. Disabled by default</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlParserInputBufferCreateFilenameValue">Variable </a>xmlParserInputBufferCreateFilenameValue</h3>
-<pre class="programlisting"><a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> xmlParserInputBufferCreateFilenameValue;
-</pre>
-<p>DEPRECATED: Don't use</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlParserVersion">Variable </a>xmlParserVersion</h3>
-<pre class="programlisting">const char * xmlParserVersion;
-</pre>
-<p>Constant string describing the internal version of the library</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlPedanticParserDefaultValue">Variable </a>xmlPedanticParserDefaultValue</h3>
-<pre class="programlisting">int xmlPedanticParserDefaultValue;
-</pre>
-<p>DEPRECATED: Use the modern options API with <a href="libxml2-parser.html#XML_PARSE_PEDANTIC">XML_PARSE_PEDANTIC</a>. Global setting, indicate that the parser be pedantic Disabled by default.</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlRealloc">Variable </a>xmlRealloc</h3>
-<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> xmlRealloc;
-</pre>
-<p>@mem: an already allocated block of memory @size: the new size requested in bytes The variable holding the libxml realloc() implementation Returns a pointer to the newly reallocated block or NULL in case of error</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlRegisterNodeDefaultValue">Variable </a>xmlRegisterNodeDefaultValue</h3>
-<pre class="programlisting"><a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> xmlRegisterNodeDefaultValue;
-</pre>
-<p>DEPRECATED: Don't use</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlSaveNoEmptyTags">Variable </a>xmlSaveNoEmptyTags</h3>
-<pre class="programlisting">int xmlSaveNoEmptyTags;
-</pre>
-<p>Global setting, asking the serializer to not output empty tags as &lt;empty/&gt; but &lt;empty&gt;&lt;/empty&gt;. those two forms are indistinguishable once parsed. Disabled by default</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlStructuredError">Variable </a>xmlStructuredError</h3>
-<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> xmlStructuredError;
-</pre>
-<p>Global setting: function used for structured error callbacks</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlStructuredErrorContext">Variable </a>xmlStructuredErrorContext</h3>
-<pre class="programlisting">void * xmlStructuredErrorContext;
-</pre>
-<p>Global setting passed to structured error callbacks</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlSubstituteEntitiesDefaultValue">Variable </a>xmlSubstituteEntitiesDefaultValue</h3>
-<pre class="programlisting">int xmlSubstituteEntitiesDefaultValue;
-</pre>
-<p>DEPRECATED: Use the modern options API with <a href="libxml2-parser.html#XML_PARSE_NOENT">XML_PARSE_NOENT</a>. Global setting, indicate that the parser should not generate entity references but replace them with the actual content of the entity Disabled by default, this should be activated when using XPath since the XPath data model requires entities replacement and the XPath engine does not handle entities references transparently.</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlTreeIndentString">Variable </a>xmlTreeIndentString</h3>
-<pre class="programlisting">const char * xmlTreeIndentString;
-</pre>
-<p>The string used to do one-level indent. By default is equal to " " (two spaces)</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
<a name="xmlCleanupGlobals"></a>xmlCleanupGlobals ()</h3>
<pre class="programlisting">void xmlCleanupGlobals (void)<br>
</pre>
@@ -460,22 +62,16 @@ const char * <a href="#xmlThrDefTreeIndentString">xmlThrDefTreeIndentString</a>
<hr>
<div class="refsect2" lang="en">
<h3>
-<a name="xmlDeregisterNodeDefault"></a>xmlDeregisterNodeDefault ()</h3>
-<pre class="programlisting"><a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> xmlDeregisterNodeDefault (<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func)<br>
+<a name="xmlGetGlobalState"></a>xmlGetGlobalState ()</h3>
+<pre class="programlisting"><a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> xmlGetGlobalState (void)<br>
</pre>
-<p>Registers a callback for node destruction</p>
+<p>DEPRECATED</p>
<div class="variablelist"><table border="0">
<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>func</tt></i>:</span></td>
-<td>function pointer to the new DeregisterNodeFunc</td>
-</tr>
-<tr>
+<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the previous value of the deregistration function</td>
-</tr>
-</tbody>
+<td>NULL.</td>
+</tr></tbody>
</table></div>
</div>
<hr>
@@ -492,7 +88,7 @@ const char * <a href="#xmlThrDefTreeIndentString">xmlThrDefTreeIndentString</a>
<a name="xmlInitializeGlobalState"></a>xmlInitializeGlobalState ()</h3>
<pre class="programlisting">void xmlInitializeGlobalState (<a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> gs)<br>
</pre>
-<p>xmlInitializeGlobalState() initialize a global state with all the default values of the library.</p>
+<p>DEPRECATED: No-op.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
@@ -502,468 +98,6 @@ const char * <a href="#xmlThrDefTreeIndentString">xmlThrDefTreeIndentString</a>
</table></div>
</div>
<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlOutputBufferCreateFilenameDefault"></a>xmlOutputBufferCreateFilenameDefault ()</h3>
-<pre class="programlisting"><a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> xmlOutputBufferCreateFilenameDefault (<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)<br>
-</pre>
-<p>Registers a callback for URI output file handling</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>func</tt></i>:</span></td>
-<td>function pointer to the new OutputBufferCreateFilenameFunc</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the old value of the registration function</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlParserInputBufferCreateFilenameDefault"></a>xmlParserInputBufferCreateFilenameDefault ()</h3>
-<pre class="programlisting"><a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> xmlParserInputBufferCreateFilenameDefault (<a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func)<br>
-</pre>
-<p>Registers a callback for URI input file handling</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>func</tt></i>:</span></td>
-<td>function pointer to the new ParserInputBufferCreateFilenameFunc</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the old value of the registration function</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlRegisterNodeDefault"></a>xmlRegisterNodeDefault ()</h3>
-<pre class="programlisting"><a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> xmlRegisterNodeDefault (<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func)<br>
-</pre>
-<p>Registers a callback for node creation</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>func</tt></i>:</span></td>
-<td>function pointer to the new RegisterNodeFunc</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the old value of the registration function</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlThrDefBufferAllocScheme"></a>xmlThrDefBufferAllocScheme ()</h3>
-<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> xmlThrDefBufferAllocScheme (<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> v)<br>
-</pre>
-<p></p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>v</tt></i>:</span></td>
-<td></td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlThrDefDefaultBufferSize"></a>xmlThrDefDefaultBufferSize ()</h3>
-<pre class="programlisting">int xmlThrDefDefaultBufferSize (int v)<br>
-</pre>
-<p></p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>v</tt></i>:</span></td>
-<td></td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlThrDefDeregisterNodeDefault"></a>xmlThrDefDeregisterNodeDefault ()</h3>
-<pre class="programlisting"><a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> xmlThrDefDeregisterNodeDefault (<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func)<br>
-</pre>
-<p></p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>func</tt></i>:</span></td>
-<td></td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlThrDefDoValidityCheckingDefaultValue"></a>xmlThrDefDoValidityCheckingDefaultValue ()</h3>
-<pre class="programlisting">int xmlThrDefDoValidityCheckingDefaultValue (int v)<br>
-</pre>
-<p></p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>v</tt></i>:</span></td>
-<td></td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlThrDefGetWarningsDefaultValue"></a>xmlThrDefGetWarningsDefaultValue ()</h3>
-<pre class="programlisting">int xmlThrDefGetWarningsDefaultValue (int v)<br>
-</pre>
-<p></p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>v</tt></i>:</span></td>
-<td></td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlThrDefIndentTreeOutput"></a>xmlThrDefIndentTreeOutput ()</h3>
-<pre class="programlisting">int xmlThrDefIndentTreeOutput (int v)<br>
-</pre>
-<p></p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>v</tt></i>:</span></td>
-<td></td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlThrDefKeepBlanksDefaultValue"></a>xmlThrDefKeepBlanksDefaultValue ()</h3>
-<pre class="programlisting">int xmlThrDefKeepBlanksDefaultValue (int v)<br>
-</pre>
-<p></p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>v</tt></i>:</span></td>
-<td></td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlThrDefLineNumbersDefaultValue"></a>xmlThrDefLineNumbersDefaultValue ()</h3>
-<pre class="programlisting">int xmlThrDefLineNumbersDefaultValue (int v)<br>
-</pre>
-<p></p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>v</tt></i>:</span></td>
-<td></td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlThrDefLoadExtDtdDefaultValue"></a>xmlThrDefLoadExtDtdDefaultValue ()</h3>
-<pre class="programlisting">int xmlThrDefLoadExtDtdDefaultValue (int v)<br>
-</pre>
-<p></p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>v</tt></i>:</span></td>
-<td></td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlThrDefOutputBufferCreateFilenameDefault"></a>xmlThrDefOutputBufferCreateFilenameDefault ()</h3>
-<pre class="programlisting"><a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> xmlThrDefOutputBufferCreateFilenameDefault (<a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)<br>
-</pre>
-<p></p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>func</tt></i>:</span></td>
-<td></td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlThrDefParserDebugEntities"></a>xmlThrDefParserDebugEntities ()</h3>
-<pre class="programlisting">int xmlThrDefParserDebugEntities (int v)<br>
-</pre>
-<p></p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>v</tt></i>:</span></td>
-<td></td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlThrDefParserInputBufferCreateFilenameDefault"></a>xmlThrDefParserInputBufferCreateFilenameDefault ()</h3>
-<pre class="programlisting"><a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> xmlThrDefParserInputBufferCreateFilenameDefault (<a href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func)<br>
-</pre>
-<p></p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>func</tt></i>:</span></td>
-<td></td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlThrDefPedanticParserDefaultValue"></a>xmlThrDefPedanticParserDefaultValue ()</h3>
-<pre class="programlisting">int xmlThrDefPedanticParserDefaultValue (int v)<br>
-</pre>
-<p></p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>v</tt></i>:</span></td>
-<td></td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlThrDefRegisterNodeDefault"></a>xmlThrDefRegisterNodeDefault ()</h3>
-<pre class="programlisting"><a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> xmlThrDefRegisterNodeDefault (<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func)<br>
-</pre>
-<p></p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>func</tt></i>:</span></td>
-<td></td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlThrDefSaveNoEmptyTags"></a>xmlThrDefSaveNoEmptyTags ()</h3>
-<pre class="programlisting">int xmlThrDefSaveNoEmptyTags (int v)<br>
-</pre>
-<p></p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>v</tt></i>:</span></td>
-<td></td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlThrDefSetGenericErrorFunc"></a>xmlThrDefSetGenericErrorFunc ()</h3>
-<pre class="programlisting">void xmlThrDefSetGenericErrorFunc (void * ctx, <br> <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler)<br>
-</pre>
-<p></p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
-<td></td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>handler</tt></i>:</span></td>
-<td></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlThrDefSetStructuredErrorFunc"></a>xmlThrDefSetStructuredErrorFunc ()</h3>
-<pre class="programlisting">void xmlThrDefSetStructuredErrorFunc (void * ctx, <br> <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler)<br>
-</pre>
-<p></p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
-<td></td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>handler</tt></i>:</span></td>
-<td></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlThrDefSubstituteEntitiesDefaultValue"></a>xmlThrDefSubstituteEntitiesDefaultValue ()</h3>
-<pre class="programlisting">int xmlThrDefSubstituteEntitiesDefaultValue (int v)<br>
-</pre>
-<p></p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>v</tt></i>:</span></td>
-<td></td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlThrDefTreeIndentString"></a>xmlThrDefTreeIndentString ()</h3>
-<pre class="programlisting">const char * xmlThrDefTreeIndentString (const char * v)<br>
-</pre>
-<p></p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>v</tt></i>:</span></td>
-<td></td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
</div>
</div>
</body>
diff --git a/doc/devhelp/libxml2-hash.html b/doc/devhelp/libxml2-hash.html
index 2618680f..4452739e 100644
--- a/doc/devhelp/libxml2-hash.html
+++ b/doc/devhelp/libxml2-hash.html
@@ -25,35 +25,35 @@
<pre class="synopsis">#define <a href="#XML_CAST_FPTR">XML_CAST_FPTR</a>(fptr);
typedef struct _xmlHashTable <a href="#xmlHashTable">xmlHashTable</a>;
typedef <a href="libxml2-hash.html#xmlHashTable">xmlHashTable</a> * <a href="#xmlHashTablePtr">xmlHashTablePtr</a>;
-int <a href="#xmlHashAddEntry">xmlHashAddEntry</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> void * userdata);
-int <a href="#xmlHashAddEntry2">xmlHashAddEntry2</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br> void * userdata);
-int <a href="#xmlHashAddEntry3">xmlHashAddEntry3</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br> void * userdata);
+int <a href="#xmlHashAddEntry">xmlHashAddEntry</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> void * payload);
+int <a href="#xmlHashAddEntry2">xmlHashAddEntry2</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key2, <br> void * payload);
+int <a href="#xmlHashAddEntry3">xmlHashAddEntry3</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key3, <br> void * payload);
typedef void * <a href="#xmlHashCopier">xmlHashCopier</a> (void * payload, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> <a href="#xmlHashCopy">xmlHashCopy</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> <a href="libxml2-hash.html#xmlHashCopier">xmlHashCopier</a> f);
+<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> <a href="#xmlHashCopy">xmlHashCopy</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> <a href="libxml2-hash.html#xmlHashCopier">xmlHashCopier</a> copy);
<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> <a href="#xmlHashCreate">xmlHashCreate</a> (int size);
<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> <a href="#xmlHashCreateDict">xmlHashCreateDict</a> (int size, <br> <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
typedef void <a href="#xmlHashDeallocator">xmlHashDeallocator</a> (void * payload, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void <a href="#xmlHashDefaultDeallocator">xmlHashDefaultDeallocator</a> (void * entry, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void <a href="#xmlHashFree">xmlHashFree</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
-void * <a href="#xmlHashLookup">xmlHashLookup</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void * <a href="#xmlHashLookup2">xmlHashLookup2</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2);
-void * <a href="#xmlHashLookup3">xmlHashLookup3</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3);
-void * <a href="#xmlHashQLookup">xmlHashQLookup</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void * <a href="#xmlHashQLookup2">xmlHashQLookup2</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2);
-void * <a href="#xmlHashQLookup3">xmlHashQLookup3</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix3, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3);
-int <a href="#xmlHashRemoveEntry">xmlHashRemoveEntry</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
-int <a href="#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
-int <a href="#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
-void <a href="#xmlHashScan">xmlHashScan</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br> void * data);
-void <a href="#xmlHashScan3">xmlHashScan3</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br> <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br> void * data);
-void <a href="#xmlHashScanFull">xmlHashScanFull</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br> void * data);
-void <a href="#xmlHashScanFull3">xmlHashScanFull3</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br> <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br> void * data);
+void <a href="#xmlHashDefaultDeallocator">xmlHashDefaultDeallocator</a> (void * entry, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key);
+void <a href="#xmlHashFree">xmlHashFree</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> dealloc);
+void * <a href="#xmlHashLookup">xmlHashLookup</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key);
+void * <a href="#xmlHashLookup2">xmlHashLookup2</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key2);
+void * <a href="#xmlHashLookup3">xmlHashLookup3</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key3);
+void * <a href="#xmlHashQLookup">xmlHashQLookup</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+void * <a href="#xmlHashQLookup2">xmlHashQLookup2</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2);
+void * <a href="#xmlHashQLookup3">xmlHashQLookup3</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix3, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3);
+int <a href="#xmlHashRemoveEntry">xmlHashRemoveEntry</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> dealloc);
+int <a href="#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key2, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> dealloc);
+int <a href="#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key3, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> dealloc);
+void <a href="#xmlHashScan">xmlHashScan</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> scan, <br> void * data);
+void <a href="#xmlHashScan3">xmlHashScan3</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key3, <br> <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> scan, <br> void * data);
+void <a href="#xmlHashScanFull">xmlHashScanFull</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> scan, <br> void * data);
+void <a href="#xmlHashScanFull3">xmlHashScanFull3</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key3, <br> <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> scan, <br> void * data);
typedef void <a href="#xmlHashScanner">xmlHashScanner</a> (void * payload, <br> void * data, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
typedef void <a href="#xmlHashScannerFull">xmlHashScannerFull</a> (void * payload, <br> void * data, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3);
-int <a href="#xmlHashSize">xmlHashSize</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table);
-int <a href="#xmlHashUpdateEntry">xmlHashUpdateEntry</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> void * userdata, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
-int <a href="#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br> void * userdata, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
-int <a href="#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br> void * userdata, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+int <a href="#xmlHashSize">xmlHashSize</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash);
+int <a href="#xmlHashUpdateEntry">xmlHashUpdateEntry</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> void * payload, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> dealloc);
+int <a href="#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key2, <br> void * payload, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> dealloc);
+int <a href="#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a> (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key3, <br> void * payload, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> dealloc);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
@@ -200,27 +200,27 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashAddEntry"></a>xmlHashAddEntry ()</h3>
-<pre class="programlisting">int xmlHashAddEntry (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> void * userdata)<br>
+<pre class="programlisting">int xmlHashAddEntry (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> void * payload)<br>
</pre>
-<p>Add the @userdata to the hash @table. This can later be retrieved by using the @name. Duplicate names generate errors.</p>
+<p>Add a hash table entry. If an entry with this key already exists, payload will not be updated and -1 is returned. This return value can't be distinguished from out-of-memory errors, so this function should be used with care.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
-<td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>the hash table</td>
+<td><span class="term"><i><tt>hash</tt></i>:</span></td>
+<td>hash table</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the name of the userdata</td>
+<td><span class="term"><i><tt>key</tt></i>:</span></td>
+<td>string key</td>
</tr>
<tr>
-<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
-<td>a pointer to the userdata</td>
+<td><span class="term"><i><tt>payload</tt></i>:</span></td>
+<td>pointer to the payload</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0 the addition succeeded and -1 in case of error.</td>
+<td>0 on success and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
@@ -229,31 +229,31 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashAddEntry2"></a>xmlHashAddEntry2 ()</h3>
-<pre class="programlisting">int xmlHashAddEntry2 (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br> void * userdata)<br>
+<pre class="programlisting">int xmlHashAddEntry2 (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key2, <br> void * payload)<br>
</pre>
-<p>Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) tuple. Duplicate tuples generate errors.</p>
+<p>Add a hash table entry with two strings as key. See <a href="libxml2-hash.html#xmlHashAddEntry">xmlHashAddEntry</a>.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
-<td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>the hash table</td>
+<td><span class="term"><i><tt>hash</tt></i>:</span></td>
+<td>hash table</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the name of the userdata</td>
+<td><span class="term"><i><tt>key</tt></i>:</span></td>
+<td>first string key</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name2</tt></i>:</span></td>
-<td>a second name of the userdata</td>
+<td><span class="term"><i><tt>key2</tt></i>:</span></td>
+<td>second string key</td>
</tr>
<tr>
-<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
-<td>a pointer to the userdata</td>
+<td><span class="term"><i><tt>payload</tt></i>:</span></td>
+<td>pointer to the payload</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0 the addition succeeded and -1 in case of error.</td>
+<td>0 on success and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
@@ -262,35 +262,35 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashAddEntry3"></a>xmlHashAddEntry3 ()</h3>
-<pre class="programlisting">int xmlHashAddEntry3 (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br> void * userdata)<br>
+<pre class="programlisting">int xmlHashAddEntry3 (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key3, <br> void * payload)<br>
</pre>
-<p>Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, @name3). Duplicate entries generate errors.</p>
+<p>Add a hash table entry with three strings as key. See <a href="libxml2-hash.html#xmlHashAddEntry">xmlHashAddEntry</a>.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
-<td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>the hash table</td>
+<td><span class="term"><i><tt>hash</tt></i>:</span></td>
+<td>hash table</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the name of the userdata</td>
+<td><span class="term"><i><tt>key</tt></i>:</span></td>
+<td>first string key</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name2</tt></i>:</span></td>
-<td>a second name of the userdata</td>
+<td><span class="term"><i><tt>key2</tt></i>:</span></td>
+<td>second string key</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name3</tt></i>:</span></td>
-<td>a third name of the userdata</td>
+<td><span class="term"><i><tt>key3</tt></i>:</span></td>
+<td>third string key</td>
</tr>
<tr>
-<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
-<td>a pointer to the userdata</td>
+<td><span class="term"><i><tt>payload</tt></i>:</span></td>
+<td>pointer to the payload</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0 the addition succeeded and -1 in case of error.</td>
+<td>0 on success and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
@@ -299,23 +299,23 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashCopy"></a>xmlHashCopy ()</h3>
-<pre class="programlisting"><a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> xmlHashCopy (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> <a href="libxml2-hash.html#xmlHashCopier">xmlHashCopier</a> f)<br>
+<pre class="programlisting"><a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> xmlHashCopy (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> <a href="libxml2-hash.html#xmlHashCopier">xmlHashCopier</a> copy)<br>
</pre>
-<p>Scan the hash @table and applied @f to each value.</p>
+<p>Copy the hash @table using @copy to copy payloads.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
-<td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>the hash table</td>
+<td><span class="term"><i><tt>hash</tt></i>:</span></td>
+<td>hash table</td>
</tr>
<tr>
-<td><span class="term"><i><tt>f</tt></i>:</span></td>
-<td>the copier function for items in the hash</td>
+<td><span class="term"><i><tt>copy</tt></i>:</span></td>
+<td>copier function for items in the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the new table or NULL in case of error.</td>
+<td>the new table or NULL if a memory allocation failed.</td>
</tr>
</tbody>
</table></div>
@@ -326,17 +326,17 @@ The content of this structure is not made public by the API.
<a name="xmlHashCreate"></a>xmlHashCreate ()</h3>
<pre class="programlisting"><a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> xmlHashCreate (int size)<br>
</pre>
-<p>Create a new <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>.</p>
+<p>Create a new hash table. Set size to zero if the number of entries can't be estimated.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>size</tt></i>:</span></td>
-<td>the size of the hash table</td>
+<td>initial size of the hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the newly created object, or NULL if an error occurred.</td>
+<td>the newly created object, or NULL if a memory allocation failed.</td>
</tr>
</tbody>
</table></div>
@@ -347,7 +347,7 @@ The content of this structure is not made public by the API.
<a name="xmlHashCreateDict"></a>xmlHashCreateDict ()</h3>
<pre class="programlisting"><a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> xmlHashCreateDict (int size, <br> <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
</pre>
-<p>Create a new <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> which will use @dict as the internal dictionary</p>
+<p>Create a new hash table backed by a dictionary. This can reduce resource usage considerably if most keys passed to API functions originate from this dictionary.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
@@ -361,7 +361,7 @@ The content of this structure is not made public by the API.
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the newly created object, or NULL if an error occurred.</td>
+<td>the newly created object, or NULL if a memory allocation failed.</td>
</tr>
</tbody>
</table></div>
@@ -370,19 +370,19 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashDefaultDeallocator"></a>xmlHashDefaultDeallocator ()</h3>
-<pre class="programlisting">void xmlHashDefaultDeallocator (void * entry, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+<pre class="programlisting">void xmlHashDefaultDeallocator (void * entry, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key)<br>
</pre>
-<p>Free a hash table entry with <a href="libxml2-globals.html#xmlFree">xmlFree</a>.</p>
+<p>Free a hash table entry with <a href="libxml2-xmlmemory.html#xmlFree">xmlFree</a>.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
<td><span class="term"><i><tt>entry</tt></i>:</span></td>
-<td>the hash table entry</td>
+<td>hash table entry</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the entry's name</td>
+<td><span class="term"><i><tt>key</tt></i>:</span></td>
+<td>the entry's string key</td>
</tr>
</tbody>
</table></div>
@@ -391,19 +391,19 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashFree"></a>xmlHashFree ()</h3>
-<pre class="programlisting">void xmlHashFree (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
+<pre class="programlisting">void xmlHashFree (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> dealloc)<br>
</pre>
-<p>Free the hash @table and its contents. The userdata is deallocated with @f if provided.</p>
+<p>Free the hash and its contents. The payload is deallocated with @dealloc if provided.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
-<td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>the hash table</td>
+<td><span class="term"><i><tt>hash</tt></i>:</span></td>
+<td>hash table</td>
</tr>
<tr>
-<td><span class="term"><i><tt>f</tt></i>:</span></td>
-<td>the deallocator function for items in the hash</td>
+<td><span class="term"><i><tt>dealloc</tt></i>:</span></td>
+<td>deallocator function or NULL</td>
</tr>
</tbody>
</table></div>
@@ -412,23 +412,23 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashLookup"></a>xmlHashLookup ()</h3>
-<pre class="programlisting">void * xmlHashLookup (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+<pre class="programlisting">void * xmlHashLookup (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key)<br>
</pre>
-<p>Find the userdata specified by the @name.</p>
+<p>Find the entry specified by @key.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
-<td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>the hash table</td>
+<td><span class="term"><i><tt>hash</tt></i>:</span></td>
+<td>hash table</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the name of the userdata</td>
+<td><span class="term"><i><tt>key</tt></i>:</span></td>
+<td>string key</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the pointer to the userdata</td>
+<td>a pointer to the payload or NULL if no entry was found.</td>
</tr>
</tbody>
</table></div>
@@ -437,27 +437,27 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashLookup2"></a>xmlHashLookup2 ()</h3>
-<pre class="programlisting">void * xmlHashLookup2 (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2)<br>
+<pre class="programlisting">void * xmlHashLookup2 (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key2)<br>
</pre>
-<p>Find the userdata specified by the (@name, @name2) tuple.</p>
+<p>Find the payload specified by the (@key, @key2) tuple.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
-<td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>the hash table</td>
+<td><span class="term"><i><tt>hash</tt></i>:</span></td>
+<td>hash table</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the name of the userdata</td>
+<td><span class="term"><i><tt>key</tt></i>:</span></td>
+<td>first string key</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name2</tt></i>:</span></td>
-<td>a second name of the userdata</td>
+<td><span class="term"><i><tt>key2</tt></i>:</span></td>
+<td>second string key</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the pointer to the userdata</td>
+<td>a pointer to the payload or NULL if no entry was found.</td>
</tr>
</tbody>
</table></div>
@@ -466,31 +466,31 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashLookup3"></a>xmlHashLookup3 ()</h3>
-<pre class="programlisting">void * xmlHashLookup3 (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3)<br>
+<pre class="programlisting">void * xmlHashLookup3 (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key3)<br>
</pre>
-<p>Find the userdata specified by the (@name, @name2, @name3) tuple.</p>
+<p>Find the payload specified by the (@key, @key2, @key3) tuple.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
-<td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>the hash table</td>
+<td><span class="term"><i><tt>hash</tt></i>:</span></td>
+<td>hash table</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the name of the userdata</td>
+<td><span class="term"><i><tt>key</tt></i>:</span></td>
+<td>first string key</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name2</tt></i>:</span></td>
-<td>a second name of the userdata</td>
+<td><span class="term"><i><tt>key2</tt></i>:</span></td>
+<td>second string key</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name3</tt></i>:</span></td>
-<td>a third name of the userdata</td>
+<td><span class="term"><i><tt>key3</tt></i>:</span></td>
+<td>third string key</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the a pointer to the userdata</td>
+<td>a pointer to the payload or NULL if no entry was found.</td>
</tr>
</tbody>
</table></div>
@@ -499,27 +499,27 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashQLookup"></a>xmlHashQLookup ()</h3>
-<pre class="programlisting">void * xmlHashQLookup (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+<pre class="programlisting">void * xmlHashQLookup (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
</pre>
-<p>Find the userdata specified by the QName @prefix:@name/@name.</p>
+<p>Find the payload specified by the QName @prefix:@name or @name.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
-<td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>the hash table</td>
+<td><span class="term"><i><tt>hash</tt></i>:</span></td>
+<td>hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
-<td>the prefix of the userdata</td>
+<td>prefix of the string key</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the name of the userdata</td>
+<td>local name of the string key</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the pointer to the userdata</td>
+<td>a pointer to the payload or NULL if no entry was found.</td>
</tr>
</tbody>
</table></div>
@@ -528,35 +528,35 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashQLookup2"></a>xmlHashQLookup2 ()</h3>
-<pre class="programlisting">void * xmlHashQLookup2 (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2)<br>
+<pre class="programlisting">void * xmlHashQLookup2 (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2)<br>
</pre>
-<p>Find the userdata specified by the QNames tuple</p>
+<p>Find the payload specified by the QNames tuple.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
-<td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>the hash table</td>
+<td><span class="term"><i><tt>hash</tt></i>:</span></td>
+<td>hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
-<td>the prefix of the userdata</td>
+<td>first prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the name of the userdata</td>
+<td>first local name</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix2</tt></i>:</span></td>
-<td>the second prefix of the userdata</td>
+<td>second prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
-<td>a second name of the userdata</td>
+<td>second local name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the pointer to the userdata</td>
+<td>a pointer to the payload or NULL if no entry was found.</td>
</tr>
</tbody>
</table></div>
@@ -565,43 +565,43 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashQLookup3"></a>xmlHashQLookup3 ()</h3>
-<pre class="programlisting">void * xmlHashQLookup3 (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix3, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3)<br>
+<pre class="programlisting">void * xmlHashQLookup3 (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix3, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3)<br>
</pre>
-<p>Find the userdata specified by the (@name, @name2, @name3) tuple.</p>
+<p>Find the payload specified by the QNames tuple.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
-<td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>the hash table</td>
+<td><span class="term"><i><tt>hash</tt></i>:</span></td>
+<td>hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
-<td>the prefix of the userdata</td>
+<td>first prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the name of the userdata</td>
+<td>first local name</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix2</tt></i>:</span></td>
-<td>the second prefix of the userdata</td>
+<td>second prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>name2</tt></i>:</span></td>
-<td>a second name of the userdata</td>
+<td>second local name</td>
</tr>
<tr>
<td><span class="term"><i><tt>prefix3</tt></i>:</span></td>
-<td>the third prefix of the userdata</td>
+<td>third prefix</td>
</tr>
<tr>
<td><span class="term"><i><tt>name3</tt></i>:</span></td>
-<td>a third name of the userdata</td>
+<td>third local name</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the a pointer to the userdata</td>
+<td>a pointer to the payload or NULL if no entry was found.</td>
</tr>
</tbody>
</table></div>
@@ -610,27 +610,27 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashRemoveEntry"></a>xmlHashRemoveEntry ()</h3>
-<pre class="programlisting">int xmlHashRemoveEntry (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
+<pre class="programlisting">int xmlHashRemoveEntry (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> dealloc)<br>
</pre>
-<p>Find the userdata specified by the @name and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.</p>
+<p>Find the entry specified by the @key and remove it from the hash table. Payload will be freed with @dealloc.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
-<td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>the hash table</td>
+<td><span class="term"><i><tt>hash</tt></i>:</span></td>
+<td>hash table</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the name of the userdata</td>
+<td><span class="term"><i><tt>key</tt></i>:</span></td>
+<td>string key</td>
</tr>
<tr>
-<td><span class="term"><i><tt>f</tt></i>:</span></td>
-<td>the deallocator function for removed item (if any)</td>
+<td><span class="term"><i><tt>dealloc</tt></i>:</span></td>
+<td>deallocator function for removed item or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0 if the removal succeeded and -1 in case of error or not found.</td>
+<td>0 on success and -1 if no entry was found.</td>
</tr>
</tbody>
</table></div>
@@ -639,31 +639,31 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashRemoveEntry2"></a>xmlHashRemoveEntry2 ()</h3>
-<pre class="programlisting">int xmlHashRemoveEntry2 (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
+<pre class="programlisting">int xmlHashRemoveEntry2 (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key2, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> dealloc)<br>
</pre>
-<p>Find the userdata specified by the (@name, @name2) tuple and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.</p>
+<p>Remove an entry with two strings as key. See <a href="libxml2-hash.html#xmlHashRemoveEntry">xmlHashRemoveEntry</a>.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
-<td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>the hash table</td>
+<td><span class="term"><i><tt>hash</tt></i>:</span></td>
+<td>hash table</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the name of the userdata</td>
+<td><span class="term"><i><tt>key</tt></i>:</span></td>
+<td>first string key</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name2</tt></i>:</span></td>
-<td>a second name of the userdata</td>
+<td><span class="term"><i><tt>key2</tt></i>:</span></td>
+<td>second string key</td>
</tr>
<tr>
-<td><span class="term"><i><tt>f</tt></i>:</span></td>
-<td>the deallocator function for removed item (if any)</td>
+<td><span class="term"><i><tt>dealloc</tt></i>:</span></td>
+<td>deallocator function for removed item or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0 if the removal succeeded and -1 in case of error or not found.</td>
+<td>0 on success and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
@@ -672,35 +672,35 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashRemoveEntry3"></a>xmlHashRemoveEntry3 ()</h3>
-<pre class="programlisting">int xmlHashRemoveEntry3 (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
+<pre class="programlisting">int xmlHashRemoveEntry3 (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key3, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> dealloc)<br>
</pre>
-<p>Find the userdata specified by the (@name, @name2, @name3) tuple and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.</p>
+<p>Remove an entry with three strings as key. See <a href="libxml2-hash.html#xmlHashRemoveEntry">xmlHashRemoveEntry</a>.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
-<td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>the hash table</td>
+<td><span class="term"><i><tt>hash</tt></i>:</span></td>
+<td>hash table</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the name of the userdata</td>
+<td><span class="term"><i><tt>key</tt></i>:</span></td>
+<td>first string key</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name2</tt></i>:</span></td>
-<td>a second name of the userdata</td>
+<td><span class="term"><i><tt>key2</tt></i>:</span></td>
+<td>second string key</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name3</tt></i>:</span></td>
-<td>a third name of the userdata</td>
+<td><span class="term"><i><tt>key3</tt></i>:</span></td>
+<td>third string key</td>
</tr>
<tr>
-<td><span class="term"><i><tt>f</tt></i>:</span></td>
-<td>the deallocator function for removed item (if any)</td>
+<td><span class="term"><i><tt>dealloc</tt></i>:</span></td>
+<td>deallocator function for removed item or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0 if the removal succeeded and -1 in case of error or not found.</td>
+<td>0 on success and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
@@ -709,23 +709,23 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashScan"></a>xmlHashScan ()</h3>
-<pre class="programlisting">void xmlHashScan (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br> void * data)<br>
+<pre class="programlisting">void xmlHashScan (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> scan, <br> void * data)<br>
</pre>
-<p>Scan the hash @table and applied @f to each value.</p>
+<p>Scan the hash @table and apply @scan to each value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
-<td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>the hash table</td>
+<td><span class="term"><i><tt>hash</tt></i>:</span></td>
+<td>hash table</td>
</tr>
<tr>
-<td><span class="term"><i><tt>f</tt></i>:</span></td>
-<td>the scanner function for items in the hash</td>
+<td><span class="term"><i><tt>scan</tt></i>:</span></td>
+<td>scanner function for items in the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
-<td>extra data passed to f</td>
+<td>extra data passed to @scan</td>
</tr>
</tbody>
</table></div>
@@ -734,35 +734,35 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashScan3"></a>xmlHashScan3 ()</h3>
-<pre class="programlisting">void xmlHashScan3 (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br> <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br> void * data)<br>
+<pre class="programlisting">void xmlHashScan3 (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key3, <br> <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> scan, <br> void * data)<br>
</pre>
-<p>Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of the names is null, the comparison is considered to match.</p>
+<p>Scan the hash @table and apply @scan to each value matching (@key, @key2, @key3) tuple. If one of the keys is null, the comparison is considered to match.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
-<td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>the hash table</td>
+<td><span class="term"><i><tt>hash</tt></i>:</span></td>
+<td>hash table</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the name of the userdata or NULL</td>
+<td><span class="term"><i><tt>key</tt></i>:</span></td>
+<td>first string key or NULL</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name2</tt></i>:</span></td>
-<td>a second name of the userdata or NULL</td>
+<td><span class="term"><i><tt>key2</tt></i>:</span></td>
+<td>second string key or NULL</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name3</tt></i>:</span></td>
-<td>a third name of the userdata or NULL</td>
+<td><span class="term"><i><tt>key3</tt></i>:</span></td>
+<td>third string key or NULL</td>
</tr>
<tr>
-<td><span class="term"><i><tt>f</tt></i>:</span></td>
-<td>the scanner function for items in the hash</td>
+<td><span class="term"><i><tt>scan</tt></i>:</span></td>
+<td>scanner function for items in the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
-<td>extra data passed to f</td>
+<td>extra data passed to @scan</td>
</tr>
</tbody>
</table></div>
@@ -771,23 +771,23 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashScanFull"></a>xmlHashScanFull ()</h3>
-<pre class="programlisting">void xmlHashScanFull (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br> void * data)<br>
+<pre class="programlisting">void xmlHashScanFull (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> scan, <br> void * data)<br>
</pre>
-<p>Scan the hash @table and applied @f to each value.</p>
+<p>Scan the hash @table and apply @scan to each value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
-<td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>the hash table</td>
+<td><span class="term"><i><tt>hash</tt></i>:</span></td>
+<td>hash table</td>
</tr>
<tr>
-<td><span class="term"><i><tt>f</tt></i>:</span></td>
-<td>the scanner function for items in the hash</td>
+<td><span class="term"><i><tt>scan</tt></i>:</span></td>
+<td>scanner function for items in the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
-<td>extra data passed to f</td>
+<td>extra data passed to @scan</td>
</tr>
</tbody>
</table></div>
@@ -796,35 +796,35 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashScanFull3"></a>xmlHashScanFull3 ()</h3>
-<pre class="programlisting">void xmlHashScanFull3 (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br> <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br> void * data)<br>
+<pre class="programlisting">void xmlHashScanFull3 (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key3, <br> <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> scan, <br> void * data)<br>
</pre>
-<p>Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of the names is null, the comparison is considered to match.</p>
+<p>Scan the hash @table and apply @scan to each value matching (@key, @key2, @key3) tuple. If one of the keys is null, the comparison is considered to match.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
-<td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>the hash table</td>
+<td><span class="term"><i><tt>hash</tt></i>:</span></td>
+<td>hash table</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the name of the userdata or NULL</td>
+<td><span class="term"><i><tt>key</tt></i>:</span></td>
+<td>first string key or NULL</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name2</tt></i>:</span></td>
-<td>a second name of the userdata or NULL</td>
+<td><span class="term"><i><tt>key2</tt></i>:</span></td>
+<td>second string key or NULL</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name3</tt></i>:</span></td>
-<td>a third name of the userdata or NULL</td>
+<td><span class="term"><i><tt>key3</tt></i>:</span></td>
+<td>third string key or NULL</td>
</tr>
<tr>
-<td><span class="term"><i><tt>f</tt></i>:</span></td>
-<td>the scanner function for items in the hash</td>
+<td><span class="term"><i><tt>scan</tt></i>:</span></td>
+<td>scanner function for items in the hash</td>
</tr>
<tr>
<td><span class="term"><i><tt>data</tt></i>:</span></td>
-<td>extra data passed to f</td>
+<td>extra data passed to @scan</td>
</tr>
</tbody>
</table></div>
@@ -833,19 +833,19 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashSize"></a>xmlHashSize ()</h3>
-<pre class="programlisting">int xmlHashSize (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table)<br>
+<pre class="programlisting">int xmlHashSize (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash)<br>
</pre>
-<p>Query the number of elements installed in the hash @table.</p>
+<p>Query the number of elements in the hash table.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
-<td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>the hash table</td>
+<td><span class="term"><i><tt>hash</tt></i>:</span></td>
+<td>hash table</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the number of elements in the hash table or -1 in case of error</td>
+<td>the number of elements in the hash table or -1 in case of error.</td>
</tr>
</tbody>
</table></div>
@@ -854,31 +854,31 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashUpdateEntry"></a>xmlHashUpdateEntry ()</h3>
-<pre class="programlisting">int xmlHashUpdateEntry (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> void * userdata, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
+<pre class="programlisting">int xmlHashUpdateEntry (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> void * payload, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> dealloc)<br>
</pre>
-<p>Add the @userdata to the hash @table. This can later be retrieved by using the @name. Existing entry for this @name will be removed and freed with @f if found.</p>
+<p>Add a hash table entry. If an entry with this key already exists, the old payload will be freed and updated with the new value.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
-<td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>the hash table</td>
+<td><span class="term"><i><tt>hash</tt></i>:</span></td>
+<td>hash table</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the name of the userdata</td>
+<td><span class="term"><i><tt>key</tt></i>:</span></td>
+<td>string key</td>
</tr>
<tr>
-<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
-<td>a pointer to the userdata</td>
+<td><span class="term"><i><tt>payload</tt></i>:</span></td>
+<td>pointer to the payload</td>
</tr>
<tr>
-<td><span class="term"><i><tt>f</tt></i>:</span></td>
-<td>the deallocator function for replaced item (if any)</td>
+<td><span class="term"><i><tt>dealloc</tt></i>:</span></td>
+<td>deallocator function for replaced item or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0 the addition succeeded and -1 in case of error.</td>
+<td>0 in case of success, -1 if a memory allocation failed.</td>
</tr>
</tbody>
</table></div>
@@ -887,35 +887,35 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashUpdateEntry2"></a>xmlHashUpdateEntry2 ()</h3>
-<pre class="programlisting">int xmlHashUpdateEntry2 (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br> void * userdata, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
+<pre class="programlisting">int xmlHashUpdateEntry2 (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key2, <br> void * payload, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> dealloc)<br>
</pre>
-<p>Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) tuple. Existing entry for this tuple will be removed and freed with @f if found.</p>
+<p>Add a hash table entry with two strings as key. See <a href="libxml2-hash.html#xmlHashUpdateEntry">xmlHashUpdateEntry</a>.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
-<td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>the hash table</td>
+<td><span class="term"><i><tt>hash</tt></i>:</span></td>
+<td>hash table</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the name of the userdata</td>
+<td><span class="term"><i><tt>key</tt></i>:</span></td>
+<td>first string key</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name2</tt></i>:</span></td>
-<td>a second name of the userdata</td>
+<td><span class="term"><i><tt>key2</tt></i>:</span></td>
+<td>second string key</td>
</tr>
<tr>
-<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
-<td>a pointer to the userdata</td>
+<td><span class="term"><i><tt>payload</tt></i>:</span></td>
+<td>pointer to the payload</td>
</tr>
<tr>
-<td><span class="term"><i><tt>f</tt></i>:</span></td>
-<td>the deallocator function for replaced item (if any)</td>
+<td><span class="term"><i><tt>dealloc</tt></i>:</span></td>
+<td>deallocator function for replaced item or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0 the addition succeeded and -1 in case of error.</td>
+<td>0 on success and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
@@ -924,39 +924,39 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlHashUpdateEntry3"></a>xmlHashUpdateEntry3 ()</h3>
-<pre class="programlisting">int xmlHashUpdateEntry3 (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br> void * userdata, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
+<pre class="programlisting">int xmlHashUpdateEntry3 (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> hash, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key2, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * key3, <br> void * payload, <br> <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> dealloc)<br>
</pre>
-<p>Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, @name3). Existing entry for this tuple will be removed and freed with @f if found.</p>
+<p>Add a hash table entry with three strings as key. See <a href="libxml2-hash.html#xmlHashUpdateEntry">xmlHashUpdateEntry</a>.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
-<td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>the hash table</td>
+<td><span class="term"><i><tt>hash</tt></i>:</span></td>
+<td>hash table</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the name of the userdata</td>
+<td><span class="term"><i><tt>key</tt></i>:</span></td>
+<td>first string key</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name2</tt></i>:</span></td>
-<td>a second name of the userdata</td>
+<td><span class="term"><i><tt>key2</tt></i>:</span></td>
+<td>second string key</td>
</tr>
<tr>
-<td><span class="term"><i><tt>name3</tt></i>:</span></td>
-<td>a third name of the userdata</td>
+<td><span class="term"><i><tt>key3</tt></i>:</span></td>
+<td>third string key</td>
</tr>
<tr>
-<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
-<td>a pointer to the userdata</td>
+<td><span class="term"><i><tt>payload</tt></i>:</span></td>
+<td>pointer to the payload</td>
</tr>
<tr>
-<td><span class="term"><i><tt>f</tt></i>:</span></td>
-<td>the deallocator function for replaced item (if any)</td>
+<td><span class="term"><i><tt>dealloc</tt></i>:</span></td>
+<td>deallocator function for replaced item or NULL</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0 the addition succeeded and -1 in case of error.</td>
+<td>0 on success and -1 in case of error.</td>
</tr>
</tbody>
</table></div>
diff --git a/doc/devhelp/libxml2-parser.html b/doc/devhelp/libxml2-parser.html
index 07410f11..f18176f5 100644
--- a/doc/devhelp/libxml2-parser.html
+++ b/doc/devhelp/libxml2-parser.html
@@ -27,6 +27,7 @@
#define <a href="#XML_DETECT_IDS">XML_DETECT_IDS</a>;
#define <a href="#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a>;
#define <a href="#XML_SKIP_IDS">XML_SKIP_IDS</a>;
+typedef struct _xmlAttrHashBucket <a href="#xmlAttrHashBucket">xmlAttrHashBucket</a>;
typedef enum <a href="#xmlFeature">xmlFeature</a>;
typedef enum <a href="#xmlParserInputState">xmlParserInputState</a>;
typedef enum <a href="#xmlParserMode">xmlParserMode</a>;
@@ -34,6 +35,7 @@ typedef struct _xmlParserNodeInfo <a href="#xmlParserNodeInfo">xmlParserNodeInfo
typedef <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> * <a href="#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a>;
typedef struct _xmlParserNodeInfoSeq <a href="#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a>;
typedef <a href="libxml2-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a> * <a href="#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a>;
+typedef struct _xmlParserNsData <a href="#xmlParserNsData">xmlParserNsData</a>;
typedef enum <a href="#xmlParserOption">xmlParserOption</a>;
typedef struct _xmlSAXHandlerV1 <a href="#xmlSAXHandlerV1">xmlSAXHandlerV1</a>;
typedef <a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * <a href="#xmlSAXHandlerV1Ptr">xmlSAXHandlerV1Ptr</a>;
@@ -72,16 +74,17 @@ long <a href="#xmlByteConsumed">xmlByteConsumed</a> (<a href="libxml2-tree.htm
void <a href="#xmlCleanupParser">xmlCleanupParser</a> (void);
void <a href="#xmlClearNodeInfoSeq">xmlClearNodeInfoSeq</a> (<a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq);
void <a href="#xmlClearParserCtxt">xmlClearParserCtxt</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="#xmlCreateDocParserCtxt">xmlCreateDocParserCtxt</a> (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur);
+<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="#xmlCreateDocParserCtxt">xmlCreateDocParserCtxt</a> (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="#xmlCreateIOParserCtxt">xmlCreateIOParserCtxt</a> (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> void * user_data, <br> <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br> <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br> void * ioctx, <br> <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a href="#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a> (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br> void * user_data, <br> const char * chunk, <br> int size, <br> const char * filename);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlCtxtReadDoc">xmlCtxtReadDoc</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br> const char * URL, <br> const char * encoding, <br> int options);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlCtxtReadDoc">xmlCtxtReadDoc</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br> const char * URL, <br> const char * encoding, <br> int options);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlCtxtReadFd">xmlCtxtReadFd</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> int fd, <br> const char * URL, <br> const char * encoding, <br> int options);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlCtxtReadFile">xmlCtxtReadFile</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const char * filename, <br> const char * encoding, <br> int options);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlCtxtReadIO">xmlCtxtReadIO</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br> <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br> void * ioctx, <br> const char * URL, <br> const char * encoding, <br> int options);
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#xmlCtxtReadMemory">xmlCtxtReadMemory</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const char * buffer, <br> int size, <br> const char * URL, <br> const char * encoding, <br> int options);
void <a href="#xmlCtxtReset">xmlCtxtReset</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
int <a href="#xmlCtxtResetPush">xmlCtxtResetPush</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const char * chunk, <br> int size, <br> const char * filename, <br> const char * encoding);
+void <a href="#xmlCtxtSetMaxAmplification">xmlCtxtSetMaxAmplification</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> unsigned maxAmpl);
int <a href="#xmlCtxtUseOptions">xmlCtxtUseOptions</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> int options);
typedef <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="#xmlExternalEntityLoader">xmlExternalEntityLoader</a> (const char * URL, <br> const char * ID, <br> <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> context);
void <a href="#xmlFreeParserCtxt">xmlFreeParserCtxt</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
@@ -141,6 +144,14 @@ int <a href="#xmlSetFeature">xmlSetFeature</a> (<a href="libxml2-tree.html#xml
void <a href="#xmlSetupParserForBuffer">xmlSetupParserForBuffer</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer, <br> const char * filename);
void <a href="#xmlStopParser">xmlStopParser</a> (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
int <a href="#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a> (int val);
+int <a href="#xmlThrDefDoValidityCheckingDefaultValue">xmlThrDefDoValidityCheckingDefaultValue</a> (int v);
+int <a href="#xmlThrDefGetWarningsDefaultValue">xmlThrDefGetWarningsDefaultValue</a> (int v);
+int <a href="#xmlThrDefKeepBlanksDefaultValue">xmlThrDefKeepBlanksDefaultValue</a> (int v);
+int <a href="#xmlThrDefLineNumbersDefaultValue">xmlThrDefLineNumbersDefaultValue</a> (int v);
+int <a href="#xmlThrDefLoadExtDtdDefaultValue">xmlThrDefLoadExtDtdDefaultValue</a> (int v);
+int <a href="#xmlThrDefParserDebugEntities">xmlThrDefParserDebugEntities</a> (int v);
+int <a href="#xmlThrDefPedanticParserDefaultValue">xmlThrDefPedanticParserDefaultValue</a> (int v);
+int <a href="#xmlThrDefSubstituteEntitiesDefaultValue">xmlThrDefSubstituteEntitiesDefaultValue</a> (int v);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
@@ -152,7 +163,7 @@ int <a href="#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a> (in
<a name="XML_COMPLETE_ATTRS">Macro </a>XML_COMPLETE_ATTRS</h3>
<pre class="programlisting">#define <a href="#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a>;
</pre>
-<p>Bit in the loadsubset context field to tell to do complete the elements attributes lists with the ones defaulted from the DTDs. Use it to initialize <a href="libxml2-globals.html#xmlLoadExtDtdDefaultValue">xmlLoadExtDtdDefaultValue</a>.</p>
+<p>Bit in the loadsubset context field to tell to do complete the elements attributes lists with the ones defaulted from the DTDs. Use it to initialize xmlLoadExtDtdDefaultValue.</p>
</div>
<hr>
<div class="refsect2" lang="en">
@@ -168,7 +179,7 @@ int <a href="#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a> (in
<a name="XML_DETECT_IDS">Macro </a>XML_DETECT_IDS</h3>
<pre class="programlisting">#define <a href="#XML_DETECT_IDS">XML_DETECT_IDS</a>;
</pre>
-<p>Bit in the loadsubset context field to tell to do ID/REFs lookups. Use it to initialize <a href="libxml2-globals.html#xmlLoadExtDtdDefaultValue">xmlLoadExtDtdDefaultValue</a>.</p>
+<p>Bit in the loadsubset context field to tell to do ID/REFs lookups. Use it to initialize xmlLoadExtDtdDefaultValue.</p>
</div>
<hr>
<div class="refsect2" lang="en">
@@ -184,7 +195,17 @@ int <a href="#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a> (in
<a name="XML_SKIP_IDS">Macro </a>XML_SKIP_IDS</h3>
<pre class="programlisting">#define <a href="#XML_SKIP_IDS">XML_SKIP_IDS</a>;
</pre>
-<p>Bit in the loadsubset context field to tell to not do ID/REFs registration. Used to initialize <a href="libxml2-globals.html#xmlLoadExtDtdDefaultValue">xmlLoadExtDtdDefaultValue</a> in some special cases.</p>
+<p>Bit in the loadsubset context field to tell to not do ID/REFs registration. Used to initialize xmlLoadExtDtdDefaultValue in some special cases.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAttrHashBucket">Structure </a>xmlAttrHashBucket</h3>
+<pre class="programlisting">struct _xmlAttrHashBucket {
+The content of this structure is not made public by the API.
+} xmlAttrHashBucket;
+</pre>
+<p></p>
</div>
<hr>
<div class="refsect2" lang="en">
@@ -251,7 +272,8 @@ int <a href="#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a> (in
<a name="XML_PARSER_SYSTEM_LITERAL">XML_PARSER_SYSTEM_LITERAL</a> = 13 /* within a SYSTEM value */
<a name="XML_PARSER_EPILOG">XML_PARSER_EPILOG</a> = 14 /* the Misc* after the last end tag */
<a name="XML_PARSER_IGNORE">XML_PARSER_IGNORE</a> = 15 /* within an IGNORED section */
- <a name="XML_PARSER_PUBLIC_LITERAL">XML_PARSER_PUBLIC_LITERAL</a> = 16 /* within a PUBLIC value */
+ <a name="XML_PARSER_PUBLIC_LITERAL">XML_PARSER_PUBLIC_LITERAL</a> = 16 /* within a PUBLIC value */
+ <a name="XML_PARSER_XML_DECL">XML_PARSER_XML_DECL</a> = 17 /* before XML decl (but after BOM) */
};
</pre>
<p></p>
@@ -316,6 +338,16 @@ int <a href="#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a> (in
<hr>
<div class="refsect2" lang="en">
<h3>
+<a name="xmlParserNsData">Structure </a>xmlParserNsData</h3>
+<pre class="programlisting">struct _xmlParserNsData {
+The content of this structure is not made public by the API.
+} xmlParserNsData;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
<a name="xmlParserOption">Enum </a>xmlParserOption</h3>
<pre class="programlisting">enum <a href="#xmlParserOption">xmlParserOption</a> {
<a name="XML_PARSE_RECOVER">XML_PARSE_RECOVER</a> = 1 /* recover on errors */
@@ -1026,7 +1058,7 @@ The content of this structure is not made public by the API.
<a name="setDocumentLocatorSAXFunc"></a>Function type setDocumentLocatorSAXFunc</h3>
<pre class="programlisting">void setDocumentLocatorSAXFunc (void * ctx, <br> <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br>
</pre>
-<p>Receive the document locator at startup, actually <a href="libxml2-globals.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a>. Everything is available on the context, so this is useless in our case.</p>
+<p>Receive the document locator at startup, actually xmlDefaultSAXLocator. Everything is available on the context, so this is useless in our case.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
@@ -1235,6 +1267,14 @@ The content of this structure is not made public by the API.
<hr>
<div class="refsect2" lang="en">
<h3>
+<a name="xmlParserVersion">Variable </a>xmlParserVersion</h3>
+<pre class="programlisting">const char * const xmlParserVersion;
+</pre>
+<p>Constant string describing the internal version of the library</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
<a name="xmlByteConsumed"></a>xmlByteConsumed ()</h3>
<pre class="programlisting">long xmlByteConsumed (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
</pre>
@@ -1295,14 +1335,14 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlCreateDocParserCtxt"></a>xmlCreateDocParserCtxt ()</h3>
-<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> xmlCreateDocParserCtxt (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> xmlCreateDocParserCtxt (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
</pre>
<p>Creates a parser context for an XML in-memory document.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
<tr>
-<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
</td>
</tr>
@@ -1395,7 +1435,7 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en">
<h3>
<a name="xmlCtxtReadDoc"></a>xmlCtxtReadDoc ()</h3>
-<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlCtxtReadDoc (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br> const char * URL, <br> const char * encoding, <br> int options)<br>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> xmlCtxtReadDoc (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br> const char * URL, <br> const char * encoding, <br> int options)<br>
</pre>
<p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
<div class="variablelist"><table border="0">
@@ -1406,7 +1446,7 @@ The content of this structure is not made public by the API.
<td>an XML parser context</td>
</tr>
<tr>
-<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
<td>a pointer to a zero terminated string</td>
</tr>
<tr>
@@ -1644,6 +1684,27 @@ The content of this structure is not made public by the API.
<hr>
<div class="refsect2" lang="en">
<h3>
+<a name="xmlCtxtSetMaxAmplification"></a>xmlCtxtSetMaxAmplification ()</h3>
+<pre class="programlisting">void xmlCtxtSetMaxAmplification (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> unsigned maxAmpl)<br>
+</pre>
+<p>To protect against exponential entity expansion ("billion laughs"), the size of serialized output is (roughly) limited to the input size multiplied by this factor. The default value is 5. When working with documents making heavy use of entity expansion, it can be necessary to increase the value. For security reasons, this should only be considered when processing trusted input.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>maxAmpl</tt></i>:</span></td>
+<td>maximum amplification factor</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
<a name="xmlCtxtUseOptions"></a>xmlCtxtUseOptions ()</h3>
<pre class="programlisting">int xmlCtxtUseOptions (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> int options)<br>
</pre>
@@ -1822,7 +1883,7 @@ The content of this structure is not made public by the API.
<a name="xmlInitParser"></a>xmlInitParser ()</h3>
<pre class="programlisting">void xmlInitParser (void)<br>
</pre>
-<p>Initialization function for the XML parser. This is not reentrant. Call once before processing in case of use in multithreaded programs.</p>
+<p>Initialization function for the XML parser. Call once from the main thread before using the library in multithreaded programs.</p>
</div>
<hr>
<div class="refsect2" lang="en">
@@ -3149,6 +3210,174 @@ The content of this structure is not made public by the API.
</table></div>
</div>
<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefDoValidityCheckingDefaultValue"></a>xmlThrDefDoValidityCheckingDefaultValue ()</h3>
+<pre class="programlisting">int xmlThrDefDoValidityCheckingDefaultValue (int v)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>v</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefGetWarningsDefaultValue"></a>xmlThrDefGetWarningsDefaultValue ()</h3>
+<pre class="programlisting">int xmlThrDefGetWarningsDefaultValue (int v)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>v</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefKeepBlanksDefaultValue"></a>xmlThrDefKeepBlanksDefaultValue ()</h3>
+<pre class="programlisting">int xmlThrDefKeepBlanksDefaultValue (int v)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>v</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefLineNumbersDefaultValue"></a>xmlThrDefLineNumbersDefaultValue ()</h3>
+<pre class="programlisting">int xmlThrDefLineNumbersDefaultValue (int v)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>v</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefLoadExtDtdDefaultValue"></a>xmlThrDefLoadExtDtdDefaultValue ()</h3>
+<pre class="programlisting">int xmlThrDefLoadExtDtdDefaultValue (int v)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>v</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefParserDebugEntities"></a>xmlThrDefParserDebugEntities ()</h3>
+<pre class="programlisting">int xmlThrDefParserDebugEntities (int v)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>v</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefPedanticParserDefaultValue"></a>xmlThrDefPedanticParserDefaultValue ()</h3>
+<pre class="programlisting">int xmlThrDefPedanticParserDefaultValue (int v)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>v</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefSubstituteEntitiesDefaultValue"></a>xmlThrDefSubstituteEntitiesDefaultValue ()</h3>
+<pre class="programlisting">int xmlThrDefSubstituteEntitiesDefaultValue (int v)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>v</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
</div>
</div>
</body>
diff --git a/doc/devhelp/libxml2-parserInternals.html b/doc/devhelp/libxml2-parserInternals.html
index 2a0d6d5b..38a46419 100644
--- a/doc/devhelp/libxml2-parserInternals.html
+++ b/doc/devhelp/libxml2-parserInternals.html
@@ -1302,7 +1302,7 @@ int <a href="#xmlSwitchToEncoding">xmlSwitchToEncoding</a> (<a href="libxml2-tr
<a name="xmlParseCharData"></a>xmlParseCharData ()</h3>
<pre class="programlisting">void xmlParseCharData (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> int cdata)<br>
</pre>
-<p>DEPRECATED: Internal function, don't use. Parse character data. Always makes progress if the first char isn't '&lt;' or '&amp;'. if we are within a CDATA section ']]&gt;' marks an end of section. The right angle bracket (&gt;) may be represented using the string "&amp;gt;", and must, for compatibility, be escaped using "&amp;gt;" or a character <a href="libxml2-SAX.html#reference">reference</a> when it appears in the string "]]&gt;" in content, when that string is not marking the end of a CDATA section. [14] CharData ::= [^&lt;&amp;]* - ([^&lt;&amp;]* ']]&gt;' [^&lt;&amp;]*)</p>
+<p>DEPRECATED: Internal function, don't use.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
@@ -2410,7 +2410,7 @@ int <a href="#xmlSwitchToEncoding">xmlSwitchToEncoding</a> (<a href="libxml2-tr
<a name="xmlSwitchEncoding"></a>xmlSwitchEncoding ()</h3>
<pre class="programlisting">int xmlSwitchEncoding (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
-<p>change the input functions when discovering the character encoding of a given entity.</p>
+<p>Use encoding specified by enum to decode input data. This function can be used to enforce the encoding of chunks passed to <a href="libxml2-parser.html#xmlParseChunk">xmlParseChunk</a>.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
@@ -2435,7 +2435,7 @@ int <a href="#xmlSwitchToEncoding">xmlSwitchToEncoding</a> (<a href="libxml2-tr
<a name="xmlSwitchInputEncoding"></a>xmlSwitchInputEncoding ()</h3>
<pre class="programlisting">int xmlSwitchInputEncoding (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input, <br> <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)<br>
</pre>
-<p>change the input functions when discovering the character encoding of a given entity.</p>
+<p>DEPRECATED: Internal function, don't use. Use encoding handler to decode input data.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
@@ -2464,7 +2464,7 @@ int <a href="#xmlSwitchToEncoding">xmlSwitchToEncoding</a> (<a href="libxml2-tr
<a name="xmlSwitchToEncoding"></a>xmlSwitchToEncoding ()</h3>
<pre class="programlisting">int xmlSwitchToEncoding (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)<br>
</pre>
-<p>change the input functions when discovering the character encoding of a given entity.</p>
+<p>Use encoding handler to decode input data. This function can be used to enforce the encoding of chunks passed to <a href="libxml2-parser.html#xmlParseChunk">xmlParseChunk</a>.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
diff --git a/doc/devhelp/libxml2-threads.html b/doc/devhelp/libxml2-threads.html
index 2dcd5b05..6efceb7b 100644
--- a/doc/devhelp/libxml2-threads.html
+++ b/doc/devhelp/libxml2-threads.html
@@ -26,10 +26,10 @@
typedef <a href="libxml2-threads.html#xmlMutex">xmlMutex</a> * <a href="#xmlMutexPtr">xmlMutexPtr</a>;
typedef struct _xmlRMutex <a href="#xmlRMutex">xmlRMutex</a>;
typedef <a href="libxml2-threads.html#xmlRMutex">xmlRMutex</a> * <a href="#xmlRMutexPtr">xmlRMutexPtr</a>;
+int <a href="#xmlCheckThreadLocalStorage">xmlCheckThreadLocalStorage</a> (void);
void <a href="#xmlCleanupThreads">xmlCleanupThreads</a> (void);
void <a href="#xmlFreeMutex">xmlFreeMutex</a> (<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok);
void <a href="#xmlFreeRMutex">xmlFreeRMutex</a> (<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok);
-<a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> <a href="#xmlGetGlobalState">xmlGetGlobalState</a> (void);
int <a href="#xmlGetThreadId">xmlGetThreadId</a> (void);
void <a href="#xmlInitThreads">xmlInitThreads</a> (void);
int <a href="#xmlIsMainThread">xmlIsMainThread</a> (void);
@@ -85,6 +85,21 @@ The content of this structure is not made public by the API.
<hr>
<div class="refsect2" lang="en">
<h3>
+<a name="xmlCheckThreadLocalStorage"></a>xmlCheckThreadLocalStorage ()</h3>
+<pre class="programlisting">int xmlCheckThreadLocalStorage (void)<br>
+</pre>
+<p>Check whether thread-local storage could be allocated. In cross-platform code running in multithreaded environments, this function should be called once in each thread before calling other library functions to make sure that thread-local storage was allocated properly.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 on success or -1 if a memory allocation failed. A failed allocation signals a typically fatal and irrecoverable out-of-memory situation. Don't call any library functions in this case. This function never fails if the library is compiled with support for thread-local storage. This function never fails for the "main" thread which is the first thread calling <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a>. Available since v2.12.0.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
<a name="xmlCleanupThreads"></a>xmlCleanupThreads ()</h3>
<pre class="programlisting">void xmlCleanupThreads (void)<br>
</pre>
@@ -123,21 +138,6 @@ The content of this structure is not made public by the API.
<hr>
<div class="refsect2" lang="en">
<h3>
-<a name="xmlGetGlobalState"></a>xmlGetGlobalState ()</h3>
-<pre class="programlisting"><a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> xmlGetGlobalState (void)<br>
-</pre>
-<p>DEPRECATED: Internal function, do not use. xmlGetGlobalState() is called to retrieve the global state for a thread.</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody><tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the thread global state or NULL in case of error</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
<a name="xmlGetThreadId"></a>xmlGetThreadId ()</h3>
<pre class="programlisting">int xmlGetThreadId (void)<br>
</pre>
@@ -164,7 +164,7 @@ The content of this structure is not made public by the API.
<a name="xmlIsMainThread"></a>xmlIsMainThread ()</h3>
<pre class="programlisting">int xmlIsMainThread (void)<br>
</pre>
-<p>DEPRECATED: Internal function, do not use. xmlIsMainThread() check whether the current thread is the main thread.</p>
+<p>DEPRECATED: Internal function, do not use. Check whether the current thread is the main thread.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
diff --git a/doc/devhelp/libxml2-tree.html b/doc/devhelp/libxml2-tree.html
index 4d4e1ebd..61d6aa78 100644
--- a/doc/devhelp/libxml2-tree.html
+++ b/doc/devhelp/libxml2-tree.html
@@ -134,6 +134,8 @@ void <a href="#xmlDOMWrapFreeCtxt">xmlDOMWrapFreeCtxt</a> (<a href="libxml2-tre
<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> <a href="#xmlDOMWrapNewCtxt">xmlDOMWrapNewCtxt</a> (void);
int <a href="#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a> (<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br> int options);
int <a href="#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a> (<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br> <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br> int options);
+<a href="libxml2-tree.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> <a href="#xmlDeregisterNodeDefault">xmlDeregisterNodeDefault</a> (<a href="libxml2-tree.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func);
+typedef void <a href="#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#xmlDocCopyNode">xmlDocCopyNode</a> (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br> <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br> int extended);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#xmlDocCopyNodeList">xmlDocCopyNodeList</a> (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
int <a href="#xmlDocDump">xmlDocDump</a> (FILE * f, <br> <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
@@ -218,6 +220,8 @@ void <a href="#xmlNodeSetName">xmlNodeSetName</a> (<a href="libxml2-tree.html#
void <a href="#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a> (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br> int val);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#xmlPreviousElementSibling">xmlPreviousElementSibling</a> (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
int <a href="#xmlReconciliateNs">xmlReconciliateNs</a> (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree);
+<a href="libxml2-tree.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> <a href="#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a> (<a href="libxml2-tree.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func);
+typedef void <a href="#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
int <a href="#xmlRemoveProp">xmlRemoveProp</a> (<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#xmlReplaceNode">xmlReplaceNode</a> (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> old, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
int <a href="#xmlSaveFile">xmlSaveFile</a> (const char * filename, <br> <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
@@ -242,6 +246,10 @@ const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlSplitQ
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#xmlStringLenGetNodeList">xmlStringLenGetNodeList</a> (const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br> int len);
int <a href="#xmlTextConcat">xmlTextConcat</a> (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br> int len);
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> <a href="#xmlTextMerge">xmlTextMerge</a> (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> first, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> second);
+<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> <a href="#xmlThrDefBufferAllocScheme">xmlThrDefBufferAllocScheme</a> (<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> v);
+int <a href="#xmlThrDefDefaultBufferSize">xmlThrDefDefaultBufferSize</a> (int v);
+<a href="libxml2-tree.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> <a href="#xmlThrDefDeregisterNodeDefault">xmlThrDefDeregisterNodeDefault</a> (<a href="libxml2-tree.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func);
+<a href="libxml2-tree.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> <a href="#xmlThrDefRegisterNodeDefault">xmlThrDefRegisterNodeDefault</a> (<a href="libxml2-tree.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func);
void <a href="#xmlUnlinkNode">xmlUnlinkNode</a> (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
int <a href="#xmlUnsetNsProp">xmlUnsetNsProp</a> (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br> <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
int <a href="#xmlUnsetProp">xmlUnsetProp</a> (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
@@ -516,11 +524,11 @@ The content of this structure is not made public by the API.
struct _xmlDtd * extSubset : the document external subset
struct _xmlNs * oldNs : Global namespace, the old way
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * version : the XML version string
- const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * encoding : external initial encoding, if any
+ const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * encoding : actual encoding, if any
void * ids : Hash table for ID attributes if any
void * refs : Hash table for IDREFs attributes if any
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL : The URI for that document
- int charset : Internal flag for charset handling, actually an <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>
+ int charset : unused
struct _xmlDict * dict : dict used to allocate names or NULL
void * psvi : for type/PSVI information
int parseFlags : set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used to parse the document
@@ -952,7 +960,7 @@ The content of this structure is not made public by the API.
int * spaceTab : array of space infos
int depth : to prevent entity substitution loops
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> entity : used to check entities boundaries
- int charset : encoding of the in-memory content actually an <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>
+ int charset : unused
int nodelen : Those two fields are there to
int nodemem : Speed up large node parsing
int pedantic : signal pedantic warnings
@@ -973,7 +981,7 @@ The content of this structure is not made public by the API.
int nsNr : the number of inherited namespaces
int nsMax : the size of the arrays
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * * nsTab : the array of prefix/namespace name
- int * attallocs : which <a href="libxml2-SAX.html#attribute">attribute</a> were allocated
+ unsigned * attallocs : which <a href="libxml2-SAX.html#attribute">attribute</a> were allocated
<a href="libxml2-parser.html#xmlStartTag">xmlStartTag</a> * pushTab : array of data for push
<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> attsDefault : defaulted attributes if any
<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> attsSpecial : non-CDATA attributes if any
@@ -997,6 +1005,10 @@ The content of this structure is not made public by the API.
int endCheckState : quote state for push parser
unsigned short nbErrors : number of errors
unsigned short nbWarnings : number of warnings
+ unsigned maxAmpl : maximum amplification factor
+ <a href="libxml2-parser.html#xmlParserNsData">xmlParserNsData</a> * nsdb : namespace database
+ unsigned attrHashMax : allocated size
+ <a href="libxml2-parser.html#xmlAttrHashBucket">xmlAttrHashBucket</a> * attrHash : atttribute hash table
} xmlParserCtxt;
</pre>
<p></p>
@@ -1025,9 +1037,9 @@ The content of this structure is not made public by the API.
int col : Current column
unsigned long consumed : How many xmlChars already consumed
<a href="libxml2-parser.html#xmlParserInputDeallocate">xmlParserInputDeallocate</a> free : function to deallocate the base
- const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * encoding : the encoding string for entity
+ const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * encoding : unused
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * version : the version string for entity
- int standalone : Was that entity marked standalone
+ int flags : Flags
int id : an unique identifier for the entity
unsigned long parentConsumed : consumed bytes from parents
<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity : entity, if any
@@ -1197,6 +1209,36 @@ The content of this structure is not made public by the API.
<hr>
<div class="refsect2" lang="en">
<h3>
+<a name="xmlDeregisterNodeFunc"></a>Function type xmlDeregisterNodeFunc</h3>
+<pre class="programlisting">void xmlDeregisterNodeFunc (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Signature for the deregistration callback of a discarded node</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the current node</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegisterNodeFunc"></a>Function type xmlRegisterNodeFunc</h3>
+<pre class="programlisting">void xmlRegisterNodeFunc (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Signature for the registration callback of a created node</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the current node</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
<a name="xmlAddChild"></a>xmlAddChild ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> xmlAddChild (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
@@ -1422,7 +1464,7 @@ The content of this structure is not made public by the API.
<a name="xmlBufNodeDump"></a>xmlBufNodeDump ()</h3>
<pre class="programlisting">size_t xmlBufNodeDump (<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br> <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br> int level, <br> int format)<br>
</pre>
-<p>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
+<p>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
@@ -1670,7 +1712,7 @@ The content of this structure is not made public by the API.
<a name="xmlBufferCreateStatic"></a>xmlBufferCreateStatic ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> xmlBufferCreateStatic (void * mem, <br> size_t size)<br>
</pre>
-<p>Create an XML buffer initialized with bytes.</p>
+<p></p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
@@ -1684,7 +1726,7 @@ The content of this structure is not made public by the API.
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td></td>
+<td>an XML buffer initialized with bytes.</td>
</tr>
</tbody>
</table></div>
@@ -2403,6 +2445,27 @@ The content of this structure is not made public by the API.
<hr>
<div class="refsect2" lang="en">
<h3>
+<a name="xmlDeregisterNodeDefault"></a>xmlDeregisterNodeDefault ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> xmlDeregisterNodeDefault (<a href="libxml2-tree.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func)<br>
+</pre>
+<p>Registers a callback for node destruction</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>func</tt></i>:</span></td>
+<td>function pointer to the new DeregisterNodeFunc</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the previous value of the deregistration function</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
<a name="xmlDocCopyNode"></a>xmlDocCopyNode ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> xmlDocCopyNode (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br> <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br> int extended)<br>
</pre>
@@ -2485,7 +2548,7 @@ The content of this structure is not made public by the API.
<a name="xmlDocDumpFormatMemory"></a>xmlDocDumpFormatMemory ()</h3>
<pre class="programlisting">void xmlDocDumpFormatMemory (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br> <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br> int * size, <br> int format)<br>
</pre>
-<p>Dump an XML document in memory and return the #xmlChar * and it's size. It's up to the caller to free the memory with xmlFree(). Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
+<p>Dump an XML document in memory and return the #xmlChar * and it's size. It's up to the caller to free the memory with xmlFree(). Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
@@ -2514,7 +2577,7 @@ The content of this structure is not made public by the API.
<a name="xmlDocDumpFormatMemoryEnc"></a>xmlDocDumpFormatMemoryEnc ()</h3>
<pre class="programlisting">void xmlDocDumpFormatMemoryEnc (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br> <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br> int * doc_txt_len, <br> const char * txt_encoding, <br> int format)<br>
</pre>
-<p>Dump the current DOM tree into memory using the character encoding specified by the caller. Note it is up to the caller of this function to free the allocated memory with xmlFree(). Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
+<p>Dump the current DOM tree into memory using the character encoding specified by the caller. Note it is up to the caller of this function to free the allocated memory with xmlFree(). Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
@@ -2619,7 +2682,7 @@ The content of this structure is not made public by the API.
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the number of bytes written or -1 in case of failure. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</td>
+<td>the number of bytes written or -1 in case of failure. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called</td>
</tr>
</tbody>
</table></div>
@@ -4059,7 +4122,7 @@ The content of this structure is not made public by the API.
<a name="xmlNodeDump"></a>xmlNodeDump ()</h3>
<pre class="programlisting">int xmlNodeDump (<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br> <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br> int level, <br> int format)<br>
</pre>
-<p>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called. Since this is using <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> structures it is limited to 2GB and somehow deprecated, use xmlNodeDumpOutput() instead.</p>
+<p>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called. Since this is using <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> structures it is limited to 2GB and somehow deprecated, use xmlNodeDumpOutput() instead.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
@@ -4096,7 +4159,7 @@ The content of this structure is not made public by the API.
<a name="xmlNodeDumpOutput"></a>xmlNodeDumpOutput ()</h3>
<pre class="programlisting">void xmlNodeDumpOutput (<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br> <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br> int level, <br> int format, <br> const char * encoding)<br>
</pre>
-<p>Dump an XML node, recursive behaviour, children are printed too. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
+<p>Dump an XML node, recursive behaviour, children are printed too. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
@@ -4473,6 +4536,27 @@ The content of this structure is not made public by the API.
<hr>
<div class="refsect2" lang="en">
<h3>
+<a name="xmlRegisterNodeDefault"></a>xmlRegisterNodeDefault ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> xmlRegisterNodeDefault (<a href="libxml2-tree.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func)<br>
+</pre>
+<p>Registers a callback for node creation</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>func</tt></i>:</span></td>
+<td>function pointer to the new RegisterNodeFunc</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the old value of the registration function</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
<a name="xmlRemoveProp"></a>xmlRemoveProp ()</h3>
<pre class="programlisting">int xmlRemoveProp (<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br>
</pre>
@@ -4606,7 +4690,7 @@ The content of this structure is not made public by the API.
<a name="xmlSaveFormatFile"></a>xmlSaveFormatFile ()</h3>
<pre class="programlisting">int xmlSaveFormatFile (const char * filename, <br> <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br> int format)<br>
</pre>
-<p>Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the stdout file is used. If @format is set then the document will be indented on output. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</p>
+<p>Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the stdout file is used. If @format is set then the document will be indented on output. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
@@ -4657,7 +4741,7 @@ The content of this structure is not made public by the API.
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the number of bytes written or -1 in case of error. Note that @format = 1 provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was called</td>
+<td>the number of bytes written or -1 in case of error. Note that @format = 1 provide node indenting only if xmlIndentTreeOutput = 1 or xmlKeepBlanksDefault(0) was called</td>
</tr>
</tbody>
</table></div>
@@ -5091,6 +5175,90 @@ The content of this structure is not made public by the API.
<hr>
<div class="refsect2" lang="en">
<h3>
+<a name="xmlThrDefBufferAllocScheme"></a>xmlThrDefBufferAllocScheme ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> xmlThrDefBufferAllocScheme (<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> v)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>v</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefDefaultBufferSize"></a>xmlThrDefDefaultBufferSize ()</h3>
+<pre class="programlisting">int xmlThrDefDefaultBufferSize (int v)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>v</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefDeregisterNodeDefault"></a>xmlThrDefDeregisterNodeDefault ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> xmlThrDefDeregisterNodeDefault (<a href="libxml2-tree.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>func</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefRegisterNodeDefault"></a>xmlThrDefRegisterNodeDefault ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> xmlThrDefRegisterNodeDefault (<a href="libxml2-tree.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>func</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
<a name="xmlUnlinkNode"></a>xmlUnlinkNode ()</h3>
<pre class="programlisting">void xmlUnlinkNode (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
</pre>
diff --git a/doc/devhelp/libxml2-valid.html b/doc/devhelp/libxml2-valid.html
index 821d3fa6..7f488dd7 100644
--- a/doc/devhelp/libxml2-valid.html
+++ b/doc/devhelp/libxml2-valid.html
@@ -1711,7 +1711,7 @@ The content of this structure is not made public by the API.
</tr>
<tr>
<td><span class="term"><i><tt>root</tt></i>:</span></td>
-<td></td>
+<td>an element instance</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
diff --git a/doc/devhelp/libxml2-xmlIO.html b/doc/devhelp/libxml2-xmlIO.html
index 1210a2f5..a8cc38c1 100644
--- a/doc/devhelp/libxml2-xmlIO.html
+++ b/doc/devhelp/libxml2-xmlIO.html
@@ -53,6 +53,8 @@ int <a href="#xmlOutputBufferClose">xmlOutputBufferClose</a> (<a href="libxml2-
<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="#xmlOutputBufferCreateFd">xmlOutputBufferCreateFd</a> (int fd, <br> <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="#xmlOutputBufferCreateFile">xmlOutputBufferCreateFile</a> (FILE * file, <br> <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a> (const char * URI, <br> <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br> int compression);
+<a href="libxml2-xmlIO.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> <a href="#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a> (<a href="libxml2-xmlIO.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func);
+typedef <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> (const char * URI, <br> <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br> int compression);
<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a href="#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a> (<a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br> <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br> void * ioctx, <br> <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
int <a href="#xmlOutputBufferFlush">xmlOutputBufferFlush</a> (<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlOutputBufferGetContent">xmlOutputBufferGetContent</a> (<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
@@ -68,6 +70,8 @@ char * <a href="#xmlParserGetDirectory">xmlParserGetDirectory</a> (const char *
<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="#xmlParserInputBufferCreateFd">xmlParserInputBufferCreateFd</a> (int fd, <br> <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="#xmlParserInputBufferCreateFile">xmlParserInputBufferCreateFile</a> (FILE * file, <br> <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a> (const char * URI, <br> <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<a href="libxml2-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> <a href="#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a> (<a href="libxml2-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func);
+typedef <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> (const char * URI, <br> <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="#xmlParserInputBufferCreateIO">xmlParserInputBufferCreateIO</a> (<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br> <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br> void * ioctx, <br> <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="#xmlParserInputBufferCreateMem">xmlParserInputBufferCreateMem</a> (const char * mem, <br> int size, <br> <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a href="#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a> (const char * mem, <br> int size, <br> <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
@@ -81,6 +85,8 @@ void <a href="#xmlRegisterDefaultOutputCallbacks">xmlRegisterDefaultOutputCallba
void <a href="#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a> (void);
int <a href="#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a> (<a href="libxml2-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a> matchFunc, <br> <a href="libxml2-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a> openFunc, <br> <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> readFunc, <br> <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> closeFunc);
int <a href="#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a> (<a href="libxml2-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a> matchFunc, <br> <a href="libxml2-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a> openFunc, <br> <a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> writeFunc, <br> <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> closeFunc);
+<a href="libxml2-xmlIO.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> <a href="#xmlThrDefOutputBufferCreateFilenameDefault">xmlThrDefOutputBufferCreateFilenameDefault</a> (<a href="libxml2-xmlIO.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func);
+<a href="libxml2-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> <a href="#xmlThrDefParserInputBufferCreateFilenameDefault">xmlThrDefParserInputBufferCreateFilenameDefault</a> (<a href="libxml2-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
@@ -181,6 +187,35 @@ int <a href="#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a> (<a hre
<hr>
<div class="refsect2" lang="en">
<h3>
+<a name="xmlOutputBufferCreateFilenameFunc"></a>Function type xmlOutputBufferCreateFilenameFunc</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> xmlOutputBufferCreateFilenameFunc (const char * URI, <br> <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br> int compression)<br>
+</pre>
+<p>Signature for the function doing the lookup for a suitable output method corresponding to an URI.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URI</tt></i>:</span></td>
+<td>the URI to write to</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>compression</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> in case of success or NULL if no method was found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
<a name="xmlOutputCloseCallback"></a>Function type xmlOutputCloseCallback</h3>
<pre class="programlisting">int xmlOutputCloseCallback (void * context)<br>
</pre>
@@ -273,6 +308,31 @@ int <a href="#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a> (<a hre
<hr>
<div class="refsect2" lang="en">
<h3>
+<a name="xmlParserInputBufferCreateFilenameFunc"></a>Function type xmlParserInputBufferCreateFilenameFunc</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> xmlParserInputBufferCreateFilenameFunc (const char * URI, <br> <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
+</pre>
+<p>Signature for the function doing the lookup for a suitable input method corresponding to an URI.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URI</tt></i>:</span></td>
+<td>the URI to read from</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the requested source encoding</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in case of success or NULL if no method was found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
<a name="xmlAllocOutputBuffer"></a>xmlAllocOutputBuffer ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> xmlAllocOutputBuffer (<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br>
</pre>
@@ -869,6 +929,27 @@ int <a href="#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a> (<a hre
<hr>
<div class="refsect2" lang="en">
<h3>
+<a name="xmlOutputBufferCreateFilenameDefault"></a>xmlOutputBufferCreateFilenameDefault ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlIO.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> xmlOutputBufferCreateFilenameDefault (<a href="libxml2-xmlIO.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)<br>
+</pre>
+<p>Registers a callback for URI output file handling</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>func</tt></i>:</span></td>
+<td>function pointer to the new OutputBufferCreateFilenameFunc</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the old value of the registration function</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
<a name="xmlOutputBufferCreateIO"></a>xmlOutputBufferCreateIO ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> xmlOutputBufferCreateIO (<a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br> <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br> void * ioctx, <br> <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br>
</pre>
@@ -1146,6 +1227,27 @@ int <a href="#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a> (<a hre
<hr>
<div class="refsect2" lang="en">
<h3>
+<a name="xmlParserInputBufferCreateFilenameDefault"></a>xmlParserInputBufferCreateFilenameDefault ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> xmlParserInputBufferCreateFilenameDefault (<a href="libxml2-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func)<br>
+</pre>
+<p>Registers a callback for URI input file handling</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>func</tt></i>:</span></td>
+<td>function pointer to the new ParserInputBufferCreateFilenameFunc</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the old value of the registration function</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
<a name="xmlParserInputBufferCreateIO"></a>xmlParserInputBufferCreateIO ()</h3>
<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> xmlParserInputBufferCreateIO (<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br> <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br> void * ioctx, <br> <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
</pre>
@@ -1442,6 +1544,48 @@ int <a href="#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a> (<a hre
</table></div>
</div>
<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefOutputBufferCreateFilenameDefault"></a>xmlThrDefOutputBufferCreateFilenameDefault ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlIO.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> xmlThrDefOutputBufferCreateFilenameDefault (<a href="libxml2-xmlIO.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>func</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefParserInputBufferCreateFilenameDefault"></a>xmlThrDefParserInputBufferCreateFilenameDefault ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> xmlThrDefParserInputBufferCreateFilenameDefault (<a href="libxml2-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>func</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
</div>
</div>
</body>
diff --git a/doc/devhelp/libxml2-xmlerror.html b/doc/devhelp/libxml2-xmlerror.html
index b4d3a26b..678770f9 100644
--- a/doc/devhelp/libxml2-xmlerror.html
+++ b/doc/devhelp/libxml2-xmlerror.html
@@ -28,11 +28,11 @@ typedef enum <a href="#xmlErrorLevel">xmlErrorLevel</a>;
typedef <a href="libxml2-xmlerror.html#xmlError">xmlError</a> * <a href="#xmlErrorPtr">xmlErrorPtr</a>;
typedef enum <a href="#xmlParserErrors">xmlParserErrors</a>;
void <a href="#initGenericErrorDefaultFunc">initGenericErrorDefaultFunc</a> (<a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> * handler);
-int <a href="#xmlCopyError">xmlCopyError</a> (<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> from, <br> <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> to);
-<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> <a href="#xmlCtxtGetLastError">xmlCtxtGetLastError</a> (void * ctx);
+int <a href="#xmlCopyError">xmlCopyError</a> (const <a href="libxml2-xmlerror.html#xmlError">xmlError</a> * from, <br> <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> to);
+const <a href="libxml2-xmlerror.html#xmlError">xmlError</a> * <a href="#xmlCtxtGetLastError">xmlCtxtGetLastError</a> (void * ctx);
void <a href="#xmlCtxtResetLastError">xmlCtxtResetLastError</a> (void * ctx);
typedef void <a href="#xmlGenericErrorFunc">xmlGenericErrorFunc</a> (void * ctx, <br> const char * msg, <br> ... ...);
-<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> <a href="#xmlGetLastError">xmlGetLastError</a> (void);
+const <a href="libxml2-xmlerror.html#xmlError">xmlError</a> * <a href="#xmlGetLastError">xmlGetLastError</a> (void);
void <a href="#xmlParserError">xmlParserError</a> (void * ctx, <br> const char * msg, <br> ... ...);
void <a href="#xmlParserPrintFileContext">xmlParserPrintFileContext</a> (<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
void <a href="#xmlParserPrintFileInfo">xmlParserPrintFileInfo</a> (<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
@@ -43,7 +43,9 @@ void <a href="#xmlResetError">xmlResetError</a> (<a href="libxml2-xmlerror.htm
void <a href="#xmlResetLastError">xmlResetLastError</a> (void);
void <a href="#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a> (void * ctx, <br> <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler);
void <a href="#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a> (void * ctx, <br> <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler);
-typedef void <a href="#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> (void * userData, <br> <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> error);
+typedef void <a href="#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> (void * userData, <br> const <a href="libxml2-xmlerror.html#xmlError">xmlError</a> * error);
+void <a href="#xmlThrDefSetGenericErrorFunc">xmlThrDefSetGenericErrorFunc</a> (void * ctx, <br> <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler);
+void <a href="#xmlThrDefSetStructuredErrorFunc">xmlThrDefSetStructuredErrorFunc</a> (void * ctx, <br> <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
@@ -250,6 +252,7 @@ typedef void <a href="#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> (void
<a name="XML_ERR_NAME_TOO_LONG">XML_ERR_NAME_TOO_LONG</a> = 110 /* 110 */
<a name="XML_ERR_USER_STOP">XML_ERR_USER_STOP</a> = 111 /* 111 */
<a name="XML_ERR_COMMENT_ABRUPTLY_ENDED">XML_ERR_COMMENT_ABRUPTLY_ENDED</a> = 112 /* 112 */
+ <a name="XML_WAR_ENCODING_MISMATCH">XML_WAR_ENCODING_MISMATCH</a> = 113 /* 113 */
<a name="XML_NS_ERR_XML_NAMESPACE">XML_NS_ERR_XML_NAMESPACE</a> = 200
<a name="XML_NS_ERR_UNDEFINED_NAMESPACE">XML_NS_ERR_UNDEFINED_NAMESPACE</a> = 201 /* 201 */
<a name="XML_NS_ERR_QNAME">XML_NS_ERR_QNAME</a> = 202 /* 202 */
@@ -906,7 +909,7 @@ typedef void <a href="#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> (void
<div class="refsect2" lang="en">
<h3>
<a name="xmlStructuredErrorFunc"></a>Function type xmlStructuredErrorFunc</h3>
-<pre class="programlisting">void xmlStructuredErrorFunc (void * userData, <br> <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> error)<br>
+<pre class="programlisting">void xmlStructuredErrorFunc (void * userData, <br> const <a href="libxml2-xmlerror.html#xmlError">xmlError</a> * error)<br>
</pre>
<p>Signature of the function to use when there is an error and the module handles the new error reporting mechanism.</p>
<div class="variablelist"><table border="0">
@@ -942,7 +945,7 @@ typedef void <a href="#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> (void
<div class="refsect2" lang="en">
<h3>
<a name="xmlCopyError"></a>xmlCopyError ()</h3>
-<pre class="programlisting">int xmlCopyError (<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> from, <br> <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> to)<br>
+<pre class="programlisting">int xmlCopyError (const <a href="libxml2-xmlerror.html#xmlError">xmlError</a> * from, <br> <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> to)<br>
</pre>
<p>Save the original error to the new place.</p>
<div class="variablelist"><table border="0">
@@ -967,7 +970,7 @@ typedef void <a href="#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> (void
<div class="refsect2" lang="en">
<h3>
<a name="xmlCtxtGetLastError"></a>xmlCtxtGetLastError ()</h3>
-<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> xmlCtxtGetLastError (void * ctx)<br>
+<pre class="programlisting">const <a href="libxml2-xmlerror.html#xmlError">xmlError</a> * xmlCtxtGetLastError (void * ctx)<br>
</pre>
<p>Get the last parsing error registered.</p>
<div class="variablelist"><table border="0">
@@ -1003,14 +1006,14 @@ typedef void <a href="#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> (void
<div class="refsect2" lang="en">
<h3>
<a name="xmlGetLastError"></a>xmlGetLastError ()</h3>
-<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> xmlGetLastError (void)<br>
+<pre class="programlisting">const <a href="libxml2-xmlerror.html#xmlError">xmlError</a> * xmlGetLastError (void)<br>
</pre>
<p>Get the last global error registered. This is per thread if compiled with thread support.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody><tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>NULL if no error occurred or a pointer to the error</td>
+<td>a pointer to the error</td>
</tr></tbody>
</table></div>
</div>
@@ -1210,6 +1213,48 @@ typedef void <a href="#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> (void
</table></div>
</div>
<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefSetGenericErrorFunc"></a>xmlThrDefSetGenericErrorFunc ()</h3>
+<pre class="programlisting">void xmlThrDefSetGenericErrorFunc (void * ctx, <br> <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefSetStructuredErrorFunc"></a>xmlThrDefSetStructuredErrorFunc ()</h3>
+<pre class="programlisting">void xmlThrDefSetStructuredErrorFunc (void * ctx, <br> <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
</div>
</div>
</body>
diff --git a/doc/devhelp/libxml2-xmlmemory.html b/doc/devhelp/libxml2-xmlmemory.html
index f663bb69..0a1198d5 100644
--- a/doc/devhelp/libxml2-xmlmemory.html
+++ b/doc/devhelp/libxml2-xmlmemory.html
@@ -22,12 +22,7 @@
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<pre class="synopsis">#define <a href="#DEBUG_MEMORY">DEBUG_MEMORY</a>;
-#define <a href="#xmlMalloc">xmlMalloc</a>;
-#define <a href="#xmlMallocAtomic">xmlMallocAtomic</a>;
-#define <a href="#xmlMemStrdup">xmlMemStrdup</a>;
-#define <a href="#xmlRealloc">xmlRealloc</a>;
-void <a href="#xmlCleanupMemory">xmlCleanupMemory</a> (void);
+<pre class="synopsis">void <a href="#xmlCleanupMemory">xmlCleanupMemory</a> (void);
typedef void <a href="#xmlFreeFunc">xmlFreeFunc</a> (void * mem);
int <a href="#xmlGcMemGet">xmlGcMemGet</a> (<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> * freeFunc, <br> <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocFunc, <br> <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocAtomicFunc, <br> <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br> <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> * strdupFunc);
int <a href="#xmlGcMemSetup">xmlGcMemSetup</a> (<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc, <br> <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc, <br> <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocAtomicFunc, <br> <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc, <br> <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> strdupFunc);
@@ -60,14 +55,6 @@ typedef char * <a href="#xmlStrdupFunc">xmlStrdupFunc</a> (const char * str);
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
-<a name="DEBUG_MEMORY">Macro </a>DEBUG_MEMORY</h3>
-<pre class="programlisting">#define <a href="#DEBUG_MEMORY">DEBUG_MEMORY</a>;
-</pre>
-<p><a href="libxml2-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a> replaces the allocator with a collect and debug shell to the libc allocator. <a href="libxml2-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a> should only be activated when debugging libxml i.e. if libxml has been configured with --with-debug-mem too. #define DEBUG_MEMORY_FREED #define <a href="libxml2-xmlversion.html#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a></p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
<a name="xmlFreeFunc"></a>Function type xmlFreeFunc</h3>
<pre class="programlisting">void xmlFreeFunc (void * mem)<br>
</pre>
@@ -150,6 +137,46 @@ typedef char * <a href="#xmlStrdupFunc">xmlStrdupFunc</a> (const char * str);
<hr>
<div class="refsect2" lang="en">
<h3>
+<a name="xmlFree">Variable </a>xmlFree</h3>
+<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> xmlFree;
+</pre>
+<p>@mem: an already allocated block of memory The variable holding the libxml free() implementation</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMalloc">Variable </a>xmlMalloc</h3>
+<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> xmlMalloc;
+</pre>
+<p>@size: the size requested in bytes The variable holding the libxml malloc() implementation Returns a pointer to the newly allocated block or NULL in case of error</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMallocAtomic">Variable </a>xmlMallocAtomic</h3>
+<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> xmlMallocAtomic;
+</pre>
+<p>@size: the size requested in bytes The variable holding the libxml malloc() implementation for atomic data (i.e. blocks not containing pointers), useful when using a garbage collecting allocator. Returns a pointer to the newly allocated block or NULL in case of error</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemStrdup">Variable </a>xmlMemStrdup</h3>
+<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> xmlMemStrdup;
+</pre>
+<p>@str: a zero terminated string The variable holding the libxml strdup() implementation Returns the copy of the string or NULL in case of error</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRealloc">Variable </a>xmlRealloc</h3>
+<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> xmlRealloc;
+</pre>
+<p>@mem: an already allocated block of memory @size: the new size requested in bytes The variable holding the libxml realloc() implementation Returns a pointer to the newly reallocated block or NULL in case of error</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
<a name="xmlCleanupMemory"></a>xmlCleanupMemory ()</h3>
<pre class="programlisting">void xmlCleanupMemory (void)<br>
</pre>
diff --git a/doc/devhelp/libxml2-xmlreader.html b/doc/devhelp/libxml2-xmlreader.html
index bb012e6a..76b3a72a 100644
--- a/doc/devhelp/libxml2-xmlreader.html
+++ b/doc/devhelp/libxml2-xmlreader.html
@@ -109,6 +109,7 @@ int <a href="#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt
int <a href="#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a> (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br> const char * xsd);
int <a href="#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a> (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br> <a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br> int options);
void <a href="#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a> (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br> <a href="libxml2-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> f, <br> void * arg);
+void <a href="#xmlTextReaderSetMaxAmplification">xmlTextReaderSetMaxAmplification</a> (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br> unsigned maxAmpl);
int <a href="#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a> (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br> int prop, <br> int value);
int <a href="#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a> (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br> <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);
void <a href="#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a> (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br> <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> f, <br> void * arg);
@@ -2163,6 +2164,27 @@ The content of this structure is not made public by the API.
<hr>
<div class="refsect2" lang="en">
<h3>
+<a name="xmlTextReaderSetMaxAmplification"></a>xmlTextReaderSetMaxAmplification ()</h3>
+<pre class="programlisting">void xmlTextReaderSetMaxAmplification (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br> unsigned maxAmpl)<br>
+</pre>
+<p>Set the maximum amplification factor. See <a href="libxml2-parser.html#xmlCtxtSetMaxAmplification">xmlCtxtSetMaxAmplification</a>.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>an XML reader</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>maxAmpl</tt></i>:</span></td>
+<td>maximum amplification factor</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
<a name="xmlTextReaderSetParserProp"></a>xmlTextReaderSetParserProp ()</h3>
<pre class="programlisting">int xmlTextReaderSetParserProp (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br> int prop, <br> int value)<br>
</pre>
diff --git a/doc/devhelp/libxml2-xmlsave.html b/doc/devhelp/libxml2-xmlsave.html
index fe2c2d22..21262758 100644
--- a/doc/devhelp/libxml2-xmlsave.html
+++ b/doc/devhelp/libxml2-xmlsave.html
@@ -35,6 +35,9 @@ int <a href="#xmlSaveSetEscape">xmlSaveSetEscape</a> (<a href="libxml2-xmlsave.
<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> <a href="#xmlSaveToFilename">xmlSaveToFilename</a> (const char * filename, <br> const char * encoding, <br> int options);
<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> <a href="#xmlSaveToIO">xmlSaveToIO</a> (<a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br> <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br> void * ioctx, <br> const char * encoding, <br> int options);
long <a href="#xmlSaveTree">xmlSaveTree</a> (<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br> <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+int <a href="#xmlThrDefIndentTreeOutput">xmlThrDefIndentTreeOutput</a> (int v);
+int <a href="#xmlThrDefSaveNoEmptyTags">xmlThrDefSaveNoEmptyTags</a> (int v);
+const char * <a href="#xmlThrDefTreeIndentString">xmlThrDefTreeIndentString</a> (const char * v);
</pre>
</div>
<div class="refsect1" lang="en"><h2>Description</h2></div>
@@ -332,7 +335,7 @@ The content of this structure is not made public by the API.
</tr>
<tr>
<td><span class="term"><i><tt>cur</tt></i>:</span></td>
-<td></td>
+<td>the top node of the subtree to save</td>
</tr>
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -342,6 +345,69 @@ The content of this structure is not made public by the API.
</table></div>
</div>
<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefIndentTreeOutput"></a>xmlThrDefIndentTreeOutput ()</h3>
+<pre class="programlisting">int xmlThrDefIndentTreeOutput (int v)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>v</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefSaveNoEmptyTags"></a>xmlThrDefSaveNoEmptyTags ()</h3>
+<pre class="programlisting">int xmlThrDefSaveNoEmptyTags (int v)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>v</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefTreeIndentString"></a>xmlThrDefTreeIndentString ()</h3>
+<pre class="programlisting">const char * xmlThrDefTreeIndentString (const char * v)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>v</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
</div>
</div>
</body>
diff --git a/doc/devhelp/libxml2-xmlversion.html b/doc/devhelp/libxml2-xmlversion.html
index 7e202ac2..b7fc9c4b 100644
--- a/doc/devhelp/libxml2-xmlversion.html
+++ b/doc/devhelp/libxml2-xmlversion.html
@@ -22,10 +22,7 @@
<p>Author(s): Daniel Veillard </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
-<pre class="synopsis">#define <a href="#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a>;
-#define <a href="#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a>;
-#define <a href="#LIBXML_ATTR_ALLOC_SIZE">LIBXML_ATTR_ALLOC_SIZE</a>;
-#define <a href="#LIBXML_ATTR_FORMAT">LIBXML_ATTR_FORMAT</a>;
+<pre class="synopsis">#define <a href="#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a>;
#define <a href="#LIBXML_AUTOMATA_ENABLED">LIBXML_AUTOMATA_ENABLED</a>;
#define <a href="#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</a>;
#define <a href="#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a>;
@@ -77,14 +74,6 @@ void <a href="#xmlCheckVersion">xmlCheckVersion</a> (int version);
<div class="refsect2" lang="en">
<div class="refsect2" lang="en">
<h3>
-<a name="ATTRIBUTE_UNUSED">Macro </a>ATTRIBUTE_UNUSED</h3>
-<pre class="programlisting">#define <a href="#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a>;
-</pre>
-<p>Macro used to signal to GCC unused function parameters</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
<a name="DEBUG_MEMORY_LOCATION">Macro </a>DEBUG_MEMORY_LOCATION</h3>
<pre class="programlisting">#define <a href="#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a>;
</pre>
@@ -93,22 +82,6 @@ void <a href="#xmlCheckVersion">xmlCheckVersion</a> (int version);
<hr>
<div class="refsect2" lang="en">
<h3>
-<a name="LIBXML_ATTR_ALLOC_SIZE">Macro </a>LIBXML_ATTR_ALLOC_SIZE</h3>
-<pre class="programlisting">#define <a href="#LIBXML_ATTR_ALLOC_SIZE">LIBXML_ATTR_ALLOC_SIZE</a>;
-</pre>
-<p>Macro used to indicate to GCC this is an allocator function</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="LIBXML_ATTR_FORMAT">Macro </a>LIBXML_ATTR_FORMAT</h3>
-<pre class="programlisting">#define <a href="#LIBXML_ATTR_FORMAT">LIBXML_ATTR_FORMAT</a>;
-</pre>
-<p>Macro used to indicate to GCC the parameter are printf like</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
<a name="LIBXML_AUTOMATA_ENABLED">Macro </a>LIBXML_AUTOMATA_ENABLED</h3>
<pre class="programlisting">#define <a href="#LIBXML_AUTOMATA_ENABLED">LIBXML_AUTOMATA_ENABLED</a>;
</pre>
diff --git a/doc/devhelp/libxml2-xpath.html b/doc/devhelp/libxml2-xpath.html
index 9a4c3069..59f96535 100644
--- a/doc/devhelp/libxml2-xpath.html
+++ b/doc/devhelp/libxml2-xpath.html
@@ -397,7 +397,7 @@ The content of this structure is not made public by the API.
<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp : the precompiled expression
int xptr : it this an XPointer expression
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> ancestor : used for walking preceding axis
- int valueFrame : unused
+ int valueFrame : always zero for compatibility
} xmlXPathParserContext;
</pre>
<p></p>
@@ -1297,7 +1297,7 @@ The content of this structure is not made public by the API.
<a name="xmlXPathIsInf"></a>xmlXPathIsInf ()</h3>
<pre class="programlisting">int xmlXPathIsInf (double val)<br>
</pre>
-<p></p>
+<p>Checks whether a double is an infinity.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
@@ -1318,7 +1318,7 @@ The content of this structure is not made public by the API.
<a name="xmlXPathIsNaN"></a>xmlXPathIsNaN ()</h3>
<pre class="programlisting">int xmlXPathIsNaN (double val)<br>
</pre>
-<p></p>
+<p>Checks whether a double is a NaN.</p>
<div class="variablelist"><table border="0">
<col align="left">
<tbody>
diff --git a/doc/devhelp/libxml2.devhelp2 b/doc/devhelp/libxml2.devhelp2
index 1d9ec80b..b32ce27b 100644
--- a/doc/devhelp/libxml2.devhelp2
+++ b/doc/devhelp/libxml2.devhelp2
@@ -51,7 +51,6 @@
</sub>
</chapters>
<functions>
- <keyword type="macro" name="ATTRIBUTE_UNUSED" link="libxml2-xmlversion.html#ATTRIBUTE_UNUSED"/>
<keyword type="macro" name="BAD_CAST" link="libxml2-xmlstring.html#BAD_CAST"/>
<keyword type="macro" name="BASE_BUFFER_SIZE" link="libxml2-tree.html#BASE_BUFFER_SIZE"/>
<keyword type="macro" name="CAST_TO_BOOLEAN" link="libxml2-xpathInternals.html#CAST_TO_BOOLEAN"/>
@@ -62,7 +61,6 @@
<keyword type="macro" name="CHECK_ERROR0" link="libxml2-xpathInternals.html#CHECK_ERROR0"/>
<keyword type="macro" name="CHECK_TYPE" link="libxml2-xpathInternals.html#CHECK_TYPE"/>
<keyword type="macro" name="CHECK_TYPE0" link="libxml2-xpathInternals.html#CHECK_TYPE0"/>
- <keyword type="macro" name="DEBUG_MEMORY" link="libxml2-xmlmemory.html#DEBUG_MEMORY"/>
<keyword type="macro" name="DEBUG_MEMORY_LOCATION" link="libxml2-xmlversion.html#DEBUG_MEMORY_LOCATION"/>
<keyword type="macro" name="HTML_COMMENT_NODE" link="libxml2-HTMLtree.html#HTML_COMMENT_NODE"/>
<keyword type="macro" name="HTML_ENTITY_REF_NODE" link="libxml2-HTMLtree.html#HTML_ENTITY_REF_NODE"/>
@@ -91,8 +89,6 @@
<keyword type="macro" name="IS_PUBIDCHAR" link="libxml2-parserInternals.html#IS_PUBIDCHAR"/>
<keyword type="macro" name="IS_PUBIDCHAR_CH" link="libxml2-parserInternals.html#IS_PUBIDCHAR_CH"/>
<keyword type="macro" name="LIBXML2_NEW_BUFFER" link="libxml2-tree.html#LIBXML2_NEW_BUFFER"/>
- <keyword type="macro" name="LIBXML_ATTR_ALLOC_SIZE" link="libxml2-xmlversion.html#LIBXML_ATTR_ALLOC_SIZE"/>
- <keyword type="macro" name="LIBXML_ATTR_FORMAT" link="libxml2-xmlversion.html#LIBXML_ATTR_FORMAT"/>
<keyword type="macro" name="LIBXML_AUTOMATA_ENABLED" link="libxml2-xmlversion.html#LIBXML_AUTOMATA_ENABLED"/>
<keyword type="macro" name="LIBXML_C14N_ENABLED" link="libxml2-xmlversion.html#LIBXML_C14N_ENABLED"/>
<keyword type="macro" name="LIBXML_CATALOG_ENABLED" link="libxml2-xmlversion.html#LIBXML_CATALOG_ENABLED"/>
@@ -503,6 +499,12 @@
<keyword type="enum" name="XML_ELEMENT_TYPE_EMPTY" link="libxml2-tree.html#XML_ELEMENT_TYPE_EMPTY"/>
<keyword type="enum" name="XML_ELEMENT_TYPE_MIXED" link="libxml2-tree.html#XML_ELEMENT_TYPE_MIXED"/>
<keyword type="enum" name="XML_ELEMENT_TYPE_UNDEFINED" link="libxml2-tree.html#XML_ELEMENT_TYPE_UNDEFINED"/>
+ <keyword type="enum" name="XML_ENC_ERR_INPUT" link="libxml2-encoding.html#XML_ENC_ERR_INPUT"/>
+ <keyword type="enum" name="XML_ENC_ERR_INTERNAL" link="libxml2-encoding.html#XML_ENC_ERR_INTERNAL"/>
+ <keyword type="enum" name="XML_ENC_ERR_MEMORY" link="libxml2-encoding.html#XML_ENC_ERR_MEMORY"/>
+ <keyword type="enum" name="XML_ENC_ERR_PARTIAL" link="libxml2-encoding.html#XML_ENC_ERR_PARTIAL"/>
+ <keyword type="enum" name="XML_ENC_ERR_SPACE" link="libxml2-encoding.html#XML_ENC_ERR_SPACE"/>
+ <keyword type="enum" name="XML_ENC_ERR_SUCCESS" link="libxml2-encoding.html#XML_ENC_ERR_SUCCESS"/>
<keyword type="enum" name="XML_ENTITY_DECL" link="libxml2-tree.html#XML_ENTITY_DECL"/>
<keyword type="enum" name="XML_ENTITY_NODE" link="libxml2-tree.html#XML_ENTITY_NODE"/>
<keyword type="enum" name="XML_ENTITY_REF_NODE" link="libxml2-tree.html#XML_ENTITY_REF_NODE"/>
@@ -768,6 +770,7 @@
<keyword type="enum" name="XML_PARSER_SUBST_ENTITIES" link="libxml2-xmlreader.html#XML_PARSER_SUBST_ENTITIES"/>
<keyword type="enum" name="XML_PARSER_SYSTEM_LITERAL" link="libxml2-parser.html#XML_PARSER_SYSTEM_LITERAL"/>
<keyword type="enum" name="XML_PARSER_VALIDATE" link="libxml2-xmlreader.html#XML_PARSER_VALIDATE"/>
+ <keyword type="enum" name="XML_PARSER_XML_DECL" link="libxml2-parser.html#XML_PARSER_XML_DECL"/>
<keyword type="enum" name="XML_PARSE_BIG_LINES" link="libxml2-parser.html#XML_PARSE_BIG_LINES"/>
<keyword type="enum" name="XML_PARSE_COMPACT" link="libxml2-parser.html#XML_PARSE_COMPACT"/>
<keyword type="enum" name="XML_PARSE_DOM" link="libxml2-parser.html#XML_PARSE_DOM"/>
@@ -1418,6 +1421,7 @@
<keyword type="enum" name="XML_TREE_NOT_UTF8" link="libxml2-xmlerror.html#XML_TREE_NOT_UTF8"/>
<keyword type="enum" name="XML_TREE_UNTERMINATED_ENTITY" link="libxml2-xmlerror.html#XML_TREE_UNTERMINATED_ENTITY"/>
<keyword type="enum" name="XML_WAR_CATALOG_PI" link="libxml2-xmlerror.html#XML_WAR_CATALOG_PI"/>
+ <keyword type="enum" name="XML_WAR_ENCODING_MISMATCH" link="libxml2-xmlerror.html#XML_WAR_ENCODING_MISMATCH"/>
<keyword type="enum" name="XML_WAR_ENTITY_REDEFINED" link="libxml2-xmlerror.html#XML_WAR_ENTITY_REDEFINED"/>
<keyword type="enum" name="XML_WAR_LANG_VALUE" link="libxml2-xmlerror.html#XML_WAR_LANG_VALUE"/>
<keyword type="enum" name="XML_WAR_NS_COLUMN" link="libxml2-xmlerror.html#XML_WAR_NS_COLUMN"/>
@@ -1582,6 +1586,7 @@
<keyword type="typedef" name="xmlChRangeGroupPtr" link="libxml2-chvalid.html#xmlChRangeGroupPtr"/>
<keyword type="typedef" name="xmlChSRangePtr" link="libxml2-chvalid.html#xmlChSRangePtr"/>
<keyword type="typedef" name="xmlChar" link="libxml2-xmlstring.html#xmlChar"/>
+ <keyword type="typedef" name="xmlCharEncError" link="libxml2-encoding.html#xmlCharEncError"/>
<keyword type="typedef" name="xmlCharEncoding" link="libxml2-encoding.html#xmlCharEncoding"/>
<keyword type="typedef" name="xmlCharEncodingHandlerPtr" link="libxml2-encoding.html#xmlCharEncodingHandlerPtr"/>
<keyword type="typedef" name="xmlDOMWrapCtxtPtr" link="libxml2-tree.html#xmlDOMWrapCtxtPtr"/>
@@ -1704,6 +1709,7 @@
<keyword type="struct" name="htmlEntityDesc" link="libxml2-HTMLparser.html#htmlEntityDesc"/>
<keyword type="struct" name="xlinkHandler" link="libxml2-xlink.html#xlinkHandler"/>
<keyword type="struct" name="xmlAttr" link="libxml2-tree.html#xmlAttr"/>
+ <keyword type="struct" name="xmlAttrHashBucket" link="libxml2-parser.html#xmlAttrHashBucket"/>
<keyword type="struct" name="xmlAttribute" link="libxml2-tree.html#xmlAttribute"/>
<keyword type="struct" name="xmlAttributeTable" link="libxml2-valid.html#xmlAttributeTable"/>
<keyword type="struct" name="xmlAutomata" link="libxml2-xmlautomata.html#xmlAutomata"/>
@@ -1748,6 +1754,7 @@
<keyword type="struct" name="xmlParserInputBuffer" link="libxml2-tree.html#xmlParserInputBuffer"/>
<keyword type="struct" name="xmlParserNodeInfo" link="libxml2-parser.html#xmlParserNodeInfo"/>
<keyword type="struct" name="xmlParserNodeInfoSeq" link="libxml2-parser.html#xmlParserNodeInfoSeq"/>
+ <keyword type="struct" name="xmlParserNsData" link="libxml2-parser.html#xmlParserNsData"/>
<keyword type="struct" name="xmlPattern" link="libxml2-pattern.html#xmlPattern"/>
<keyword type="struct" name="xmlRMutex" link="libxml2-threads.html#xmlRMutex"/>
<keyword type="struct" name="xmlRef" link="libxml2-tree.html#xmlRef"/>
@@ -1838,7 +1845,7 @@
<keyword type="function" name="xmlCharEncodingInputFunc" link="libxml2-encoding.html#xmlCharEncodingInputFunc"/>
<keyword type="function" name="xmlCharEncodingOutputFunc" link="libxml2-encoding.html#xmlCharEncodingOutputFunc"/>
<keyword type="function" name="xmlDOMWrapAcquireNsFunction" link="libxml2-tree.html#xmlDOMWrapAcquireNsFunction"/>
- <keyword type="function" name="xmlDeregisterNodeFunc" link="libxml2-globals.html#xmlDeregisterNodeFunc"/>
+ <keyword type="function" name="xmlDeregisterNodeFunc" link="libxml2-tree.html#xmlDeregisterNodeFunc"/>
<keyword type="function" name="xmlEntityReferenceFunc" link="libxml2-parserInternals.html#xmlEntityReferenceFunc"/>
<keyword type="function" name="xmlExternalEntityLoader" link="libxml2-parser.html#xmlExternalEntityLoader"/>
<keyword type="function" name="xmlFreeFunc" link="libxml2-xmlmemory.html#xmlFreeFunc"/>
@@ -1855,16 +1862,16 @@
<keyword type="function" name="xmlListDeallocator" link="libxml2-list.html#xmlListDeallocator"/>
<keyword type="function" name="xmlListWalker" link="libxml2-list.html#xmlListWalker"/>
<keyword type="function" name="xmlMallocFunc" link="libxml2-xmlmemory.html#xmlMallocFunc"/>
- <keyword type="function" name="xmlOutputBufferCreateFilenameFunc" link="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc"/>
+ <keyword type="function" name="xmlOutputBufferCreateFilenameFunc" link="libxml2-xmlIO.html#xmlOutputBufferCreateFilenameFunc"/>
<keyword type="function" name="xmlOutputCloseCallback" link="libxml2-xmlIO.html#xmlOutputCloseCallback"/>
<keyword type="function" name="xmlOutputMatchCallback" link="libxml2-xmlIO.html#xmlOutputMatchCallback"/>
<keyword type="function" name="xmlOutputOpenCallback" link="libxml2-xmlIO.html#xmlOutputOpenCallback"/>
<keyword type="function" name="xmlOutputWriteCallback" link="libxml2-xmlIO.html#xmlOutputWriteCallback"/>
- <keyword type="function" name="xmlParserInputBufferCreateFilenameFunc" link="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc"/>
+ <keyword type="function" name="xmlParserInputBufferCreateFilenameFunc" link="libxml2-xmlIO.html#xmlParserInputBufferCreateFilenameFunc"/>
<keyword type="function" name="xmlParserInputDeallocate" link="libxml2-parser.html#xmlParserInputDeallocate"/>
<keyword type="function" name="xmlReallocFunc" link="libxml2-xmlmemory.html#xmlReallocFunc"/>
<keyword type="function" name="xmlRegExecCallbacks" link="libxml2-xmlregexp.html#xmlRegExecCallbacks"/>
- <keyword type="function" name="xmlRegisterNodeFunc" link="libxml2-globals.html#xmlRegisterNodeFunc"/>
+ <keyword type="function" name="xmlRegisterNodeFunc" link="libxml2-tree.html#xmlRegisterNodeFunc"/>
<keyword type="function" name="xmlRelaxNGValidityErrorFunc" link="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc"/>
<keyword type="function" name="xmlRelaxNGValidityWarningFunc" link="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc"/>
<keyword type="function" name="xmlSchemaValidityErrorFunc" link="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc"/>
@@ -1887,19 +1894,7 @@
<keyword type="function" name="xmlXPathVariableLookupFunc" link="libxml2-xpath.html#xmlXPathVariableLookupFunc"/>
<keyword type="macro" name="emptyExp" link="libxml2-xmlregexp.html#emptyExp"/>
<keyword type="macro" name="forbiddenExp" link="libxml2-xmlregexp.html#forbiddenExp"/>
- <keyword type="macro" name="htmlDefaultSAXHandler" link="libxml2-globals.html#htmlDefaultSAXHandler"/>
- <keyword type="macro" name="oldXMLWDcompatibility" link="libxml2-globals.html#oldXMLWDcompatibility"/>
- <keyword type="macro" name="xmlBufferAllocScheme" link="libxml2-globals.html#xmlBufferAllocScheme"/>
- <keyword type="macro" name="xmlDefaultBufferSize" link="libxml2-globals.html#xmlDefaultBufferSize"/>
- <keyword type="macro" name="xmlDefaultSAXHandler" link="libxml2-globals.html#xmlDefaultSAXHandler"/>
- <keyword type="macro" name="xmlDefaultSAXLocator" link="libxml2-globals.html#xmlDefaultSAXLocator"/>
- <keyword type="macro" name="xmlDeregisterNodeDefaultValue" link="libxml2-globals.html#xmlDeregisterNodeDefaultValue"/>
- <keyword type="macro" name="xmlDoValidityCheckingDefaultValue" link="libxml2-globals.html#xmlDoValidityCheckingDefaultValue"/>
- <keyword type="macro" name="xmlFree" link="libxml2-globals.html#xmlFree"/>
- <keyword type="macro" name="xmlGenericError" link="libxml2-globals.html#xmlGenericError"/>
- <keyword type="macro" name="xmlGenericErrorContext" link="libxml2-globals.html#xmlGenericErrorContext"/>
- <keyword type="macro" name="xmlGetWarningsDefaultValue" link="libxml2-globals.html#xmlGetWarningsDefaultValue"/>
- <keyword type="macro" name="xmlIndentTreeOutput" link="libxml2-globals.html#xmlIndentTreeOutput"/>
+ <keyword type="macro" name="xmlFree" link="libxml2-xmlmemory.html#xmlFree"/>
<keyword type="macro" name="xmlIsBaseCharGroup" link="libxml2-chvalid.html#xmlIsBaseCharGroup"/>
<keyword type="macro" name="xmlIsCharGroup" link="libxml2-chvalid.html#xmlIsCharGroup"/>
<keyword type="macro" name="xmlIsCombiningGroup" link="libxml2-chvalid.html#xmlIsCombiningGroup"/>
@@ -1907,29 +1902,15 @@
<keyword type="macro" name="xmlIsExtenderGroup" link="libxml2-chvalid.html#xmlIsExtenderGroup"/>
<keyword type="macro" name="xmlIsIdeographicGroup" link="libxml2-chvalid.html#xmlIsIdeographicGroup"/>
<keyword type="macro" name="xmlIsPubidChar_tab" link="libxml2-chvalid.html#xmlIsPubidChar_tab"/>
- <keyword type="macro" name="xmlKeepBlanksDefaultValue" link="libxml2-globals.html#xmlKeepBlanksDefaultValue"/>
- <keyword type="macro" name="xmlLastError" link="libxml2-globals.html#xmlLastError"/>
- <keyword type="macro" name="xmlLineNumbersDefaultValue" link="libxml2-globals.html#xmlLineNumbersDefaultValue"/>
- <keyword type="macro" name="xmlLoadExtDtdDefaultValue" link="libxml2-globals.html#xmlLoadExtDtdDefaultValue"/>
- <keyword type="macro" name="xmlMalloc" link="libxml2-globals.html#xmlMalloc"/>
- <keyword type="macro" name="xmlMallocAtomic" link="libxml2-globals.html#xmlMallocAtomic"/>
- <keyword type="macro" name="xmlMemStrdup" link="libxml2-globals.html#xmlMemStrdup"/>
- <keyword type="macro" name="xmlOutputBufferCreateFilenameValue" link="libxml2-globals.html#xmlOutputBufferCreateFilenameValue"/>
- <keyword type="macro" name="xmlParserDebugEntities" link="libxml2-globals.html#xmlParserDebugEntities"/>
- <keyword type="macro" name="xmlParserInputBufferCreateFilenameValue" link="libxml2-globals.html#xmlParserInputBufferCreateFilenameValue"/>
+ <keyword type="macro" name="xmlMalloc" link="libxml2-xmlmemory.html#xmlMalloc"/>
+ <keyword type="macro" name="xmlMallocAtomic" link="libxml2-xmlmemory.html#xmlMallocAtomic"/>
+ <keyword type="macro" name="xmlMemStrdup" link="libxml2-xmlmemory.html#xmlMemStrdup"/>
<keyword type="macro" name="xmlParserMaxDepth" link="libxml2-parserInternals.html#xmlParserMaxDepth"/>
- <keyword type="macro" name="xmlParserVersion" link="libxml2-globals.html#xmlParserVersion"/>
- <keyword type="macro" name="xmlPedanticParserDefaultValue" link="libxml2-globals.html#xmlPedanticParserDefaultValue"/>
- <keyword type="macro" name="xmlRealloc" link="libxml2-globals.html#xmlRealloc"/>
- <keyword type="macro" name="xmlRegisterNodeDefaultValue" link="libxml2-globals.html#xmlRegisterNodeDefaultValue"/>
- <keyword type="macro" name="xmlSaveNoEmptyTags" link="libxml2-globals.html#xmlSaveNoEmptyTags"/>
+ <keyword type="macro" name="xmlParserVersion" link="libxml2-parser.html#xmlParserVersion"/>
+ <keyword type="macro" name="xmlRealloc" link="libxml2-xmlmemory.html#xmlRealloc"/>
<keyword type="macro" name="xmlStringComment" link="libxml2-parserInternals.html#xmlStringComment"/>
<keyword type="macro" name="xmlStringText" link="libxml2-parserInternals.html#xmlStringText"/>
<keyword type="macro" name="xmlStringTextNoenc" link="libxml2-parserInternals.html#xmlStringTextNoenc"/>
- <keyword type="macro" name="xmlStructuredError" link="libxml2-globals.html#xmlStructuredError"/>
- <keyword type="macro" name="xmlStructuredErrorContext" link="libxml2-globals.html#xmlStructuredErrorContext"/>
- <keyword type="macro" name="xmlSubstituteEntitiesDefaultValue" link="libxml2-globals.html#xmlSubstituteEntitiesDefaultValue"/>
- <keyword type="macro" name="xmlTreeIndentString" link="libxml2-globals.html#xmlTreeIndentString"/>
<keyword type="macro" name="xmlXPathNAN" link="libxml2-xpath.html#xmlXPathNAN"/>
<keyword type="macro" name="xmlXPathNINF" link="libxml2-xpath.html#xmlXPathNINF"/>
<keyword type="macro" name="xmlXPathPINF" link="libxml2-xpath.html#xmlXPathPINF"/>
@@ -2151,6 +2132,7 @@
<keyword type="function" name="xmlCheckFilename ()" link="libxml2-xmlIO.html#xmlCheckFilename"/>
<keyword type="function" name="xmlCheckHTTPInput ()" link="libxml2-xmlIO.html#xmlCheckHTTPInput"/>
<keyword type="function" name="xmlCheckLanguageID ()" link="libxml2-parserInternals.html#xmlCheckLanguageID"/>
+ <keyword type="function" name="xmlCheckThreadLocalStorage ()" link="libxml2-threads.html#xmlCheckThreadLocalStorage"/>
<keyword type="function" name="xmlCheckUTF8 ()" link="libxml2-xmlstring.html#xmlCheckUTF8"/>
<keyword type="function" name="xmlCheckVersion ()" link="libxml2-xmlversion.html#xmlCheckVersion"/>
<keyword type="function" name="xmlChildElementCount ()" link="libxml2-tree.html#xmlChildElementCount"/>
@@ -2204,6 +2186,7 @@
<keyword type="function" name="xmlCtxtReset ()" link="libxml2-parser.html#xmlCtxtReset"/>
<keyword type="function" name="xmlCtxtResetLastError ()" link="libxml2-xmlerror.html#xmlCtxtResetLastError"/>
<keyword type="function" name="xmlCtxtResetPush ()" link="libxml2-parser.html#xmlCtxtResetPush"/>
+ <keyword type="function" name="xmlCtxtSetMaxAmplification ()" link="libxml2-parser.html#xmlCtxtSetMaxAmplification"/>
<keyword type="function" name="xmlCtxtUseOptions ()" link="libxml2-parser.html#xmlCtxtUseOptions"/>
<keyword type="function" name="xmlCurrentChar ()" link="libxml2-parserInternals.html#xmlCurrentChar"/>
<keyword type="function" name="xmlDOMWrapAdoptNode ()" link="libxml2-tree.html#xmlDOMWrapAdoptNode"/>
@@ -2226,7 +2209,7 @@
<keyword type="function" name="xmlDecodeEntities ()" link="libxml2-parserInternals.html#xmlDecodeEntities"/>
<keyword type="function" name="xmlDefaultSAXHandlerInit ()" link="libxml2-SAX2.html#xmlDefaultSAXHandlerInit"/>
<keyword type="function" name="xmlDelEncodingAlias ()" link="libxml2-encoding.html#xmlDelEncodingAlias"/>
- <keyword type="function" name="xmlDeregisterNodeDefault ()" link="libxml2-globals.html#xmlDeregisterNodeDefault"/>
+ <keyword type="function" name="xmlDeregisterNodeDefault ()" link="libxml2-tree.html#xmlDeregisterNodeDefault"/>
<keyword type="function" name="xmlDetectCharEncoding ()" link="libxml2-encoding.html#xmlDetectCharEncoding"/>
<keyword type="function" name="xmlDictCleanup ()" link="libxml2-dict.html#xmlDictCleanup"/>
<keyword type="function" name="xmlDictCreate ()" link="libxml2-dict.html#xmlDictCreate"/>
@@ -2296,6 +2279,7 @@
<keyword type="function" name="xmlFreeElementContent ()" link="libxml2-valid.html#xmlFreeElementContent"/>
<keyword type="function" name="xmlFreeElementTable ()" link="libxml2-valid.html#xmlFreeElementTable"/>
<keyword type="function" name="xmlFreeEntitiesTable ()" link="libxml2-entities.html#xmlFreeEntitiesTable"/>
+ <keyword type="function" name="xmlFreeEntity ()" link="libxml2-entities.html#xmlFreeEntity"/>
<keyword type="function" name="xmlFreeEnumeration ()" link="libxml2-valid.html#xmlFreeEnumeration"/>
<keyword type="function" name="xmlFreeIDTable ()" link="libxml2-valid.html#xmlFreeIDTable"/>
<keyword type="function" name="xmlFreeInputStream ()" link="libxml2-parserInternals.html#xmlFreeInputStream"/>
@@ -2336,7 +2320,7 @@
<keyword type="function" name="xmlGetExternalEntityLoader ()" link="libxml2-parser.html#xmlGetExternalEntityLoader"/>
<keyword type="function" name="xmlGetFeature ()" link="libxml2-parser.html#xmlGetFeature"/>
<keyword type="function" name="xmlGetFeaturesList ()" link="libxml2-parser.html#xmlGetFeaturesList"/>
- <keyword type="function" name="xmlGetGlobalState ()" link="libxml2-threads.html#xmlGetGlobalState"/>
+ <keyword type="function" name="xmlGetGlobalState ()" link="libxml2-globals.html#xmlGetGlobalState"/>
<keyword type="function" name="xmlGetID ()" link="libxml2-valid.html#xmlGetID"/>
<keyword type="function" name="xmlGetIntSubset ()" link="libxml2-tree.html#xmlGetIntSubset"/>
<keyword type="function" name="xmlGetLastChild ()" link="libxml2-tree.html#xmlGetLastChild"/>
@@ -2597,7 +2581,7 @@
<keyword type="function" name="xmlOutputBufferCreateFd ()" link="libxml2-xmlIO.html#xmlOutputBufferCreateFd"/>
<keyword type="function" name="xmlOutputBufferCreateFile ()" link="libxml2-xmlIO.html#xmlOutputBufferCreateFile"/>
<keyword type="function" name="xmlOutputBufferCreateFilename ()" link="libxml2-xmlIO.html#xmlOutputBufferCreateFilename"/>
- <keyword type="function" name="xmlOutputBufferCreateFilenameDefault ()" link="libxml2-globals.html#xmlOutputBufferCreateFilenameDefault"/>
+ <keyword type="function" name="xmlOutputBufferCreateFilenameDefault ()" link="libxml2-xmlIO.html#xmlOutputBufferCreateFilenameDefault"/>
<keyword type="function" name="xmlOutputBufferCreateIO ()" link="libxml2-xmlIO.html#xmlOutputBufferCreateIO"/>
<keyword type="function" name="xmlOutputBufferFlush ()" link="libxml2-xmlIO.html#xmlOutputBufferFlush"/>
<keyword type="function" name="xmlOutputBufferGetContent ()" link="libxml2-xmlIO.html#xmlOutputBufferGetContent"/>
@@ -2679,7 +2663,7 @@
<keyword type="function" name="xmlParserInputBufferCreateFd ()" link="libxml2-xmlIO.html#xmlParserInputBufferCreateFd"/>
<keyword type="function" name="xmlParserInputBufferCreateFile ()" link="libxml2-xmlIO.html#xmlParserInputBufferCreateFile"/>
<keyword type="function" name="xmlParserInputBufferCreateFilename ()" link="libxml2-xmlIO.html#xmlParserInputBufferCreateFilename"/>
- <keyword type="function" name="xmlParserInputBufferCreateFilenameDefault ()" link="libxml2-globals.html#xmlParserInputBufferCreateFilenameDefault"/>
+ <keyword type="function" name="xmlParserInputBufferCreateFilenameDefault ()" link="libxml2-xmlIO.html#xmlParserInputBufferCreateFilenameDefault"/>
<keyword type="function" name="xmlParserInputBufferCreateIO ()" link="libxml2-xmlIO.html#xmlParserInputBufferCreateIO"/>
<keyword type="function" name="xmlParserInputBufferCreateMem ()" link="libxml2-xmlIO.html#xmlParserInputBufferCreateMem"/>
<keyword type="function" name="xmlParserInputBufferCreateStatic ()" link="libxml2-xmlIO.html#xmlParserInputBufferCreateStatic"/>
@@ -2749,7 +2733,7 @@
<keyword type="function" name="xmlRegisterDefaultOutputCallbacks ()" link="libxml2-xmlIO.html#xmlRegisterDefaultOutputCallbacks"/>
<keyword type="function" name="xmlRegisterHTTPPostCallbacks ()" link="libxml2-xmlIO.html#xmlRegisterHTTPPostCallbacks"/>
<keyword type="function" name="xmlRegisterInputCallbacks ()" link="libxml2-xmlIO.html#xmlRegisterInputCallbacks"/>
- <keyword type="function" name="xmlRegisterNodeDefault ()" link="libxml2-globals.html#xmlRegisterNodeDefault"/>
+ <keyword type="function" name="xmlRegisterNodeDefault ()" link="libxml2-tree.html#xmlRegisterNodeDefault"/>
<keyword type="function" name="xmlRegisterOutputCallbacks ()" link="libxml2-xmlIO.html#xmlRegisterOutputCallbacks"/>
<keyword type="function" name="xmlRelaxNGCleanupTypes ()" link="libxml2-relaxng.html#xmlRelaxNGCleanupTypes"/>
<keyword type="function" name="xmlRelaxNGDump ()" link="libxml2-relaxng.html#xmlRelaxNGDump"/>
@@ -3050,6 +3034,7 @@
<keyword type="function" name="xmlTextReaderSchemaValidate ()" link="libxml2-xmlreader.html#xmlTextReaderSchemaValidate"/>
<keyword type="function" name="xmlTextReaderSchemaValidateCtxt ()" link="libxml2-xmlreader.html#xmlTextReaderSchemaValidateCtxt"/>
<keyword type="function" name="xmlTextReaderSetErrorHandler ()" link="libxml2-xmlreader.html#xmlTextReaderSetErrorHandler"/>
+ <keyword type="function" name="xmlTextReaderSetMaxAmplification ()" link="libxml2-xmlreader.html#xmlTextReaderSetMaxAmplification"/>
<keyword type="function" name="xmlTextReaderSetParserProp ()" link="libxml2-xmlreader.html#xmlTextReaderSetParserProp"/>
<keyword type="function" name="xmlTextReaderSetSchema ()" link="libxml2-xmlreader.html#xmlTextReaderSetSchema"/>
<keyword type="function" name="xmlTextReaderSetStructuredErrorHandler ()" link="libxml2-xmlreader.html#xmlTextReaderSetStructuredErrorHandler"/>
@@ -3130,25 +3115,25 @@
<keyword type="function" name="xmlTextWriterWriteVFormatPI ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatPI"/>
<keyword type="function" name="xmlTextWriterWriteVFormatRaw ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatRaw"/>
<keyword type="function" name="xmlTextWriterWriteVFormatString ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatString"/>
- <keyword type="function" name="xmlThrDefBufferAllocScheme ()" link="libxml2-globals.html#xmlThrDefBufferAllocScheme"/>
- <keyword type="function" name="xmlThrDefDefaultBufferSize ()" link="libxml2-globals.html#xmlThrDefDefaultBufferSize"/>
- <keyword type="function" name="xmlThrDefDeregisterNodeDefault ()" link="libxml2-globals.html#xmlThrDefDeregisterNodeDefault"/>
- <keyword type="function" name="xmlThrDefDoValidityCheckingDefaultValue ()" link="libxml2-globals.html#xmlThrDefDoValidityCheckingDefaultValue"/>
- <keyword type="function" name="xmlThrDefGetWarningsDefaultValue ()" link="libxml2-globals.html#xmlThrDefGetWarningsDefaultValue"/>
- <keyword type="function" name="xmlThrDefIndentTreeOutput ()" link="libxml2-globals.html#xmlThrDefIndentTreeOutput"/>
- <keyword type="function" name="xmlThrDefKeepBlanksDefaultValue ()" link="libxml2-globals.html#xmlThrDefKeepBlanksDefaultValue"/>
- <keyword type="function" name="xmlThrDefLineNumbersDefaultValue ()" link="libxml2-globals.html#xmlThrDefLineNumbersDefaultValue"/>
- <keyword type="function" name="xmlThrDefLoadExtDtdDefaultValue ()" link="libxml2-globals.html#xmlThrDefLoadExtDtdDefaultValue"/>
- <keyword type="function" name="xmlThrDefOutputBufferCreateFilenameDefault ()" link="libxml2-globals.html#xmlThrDefOutputBufferCreateFilenameDefault"/>
- <keyword type="function" name="xmlThrDefParserDebugEntities ()" link="libxml2-globals.html#xmlThrDefParserDebugEntities"/>
- <keyword type="function" name="xmlThrDefParserInputBufferCreateFilenameDefault ()" link="libxml2-globals.html#xmlThrDefParserInputBufferCreateFilenameDefault"/>
- <keyword type="function" name="xmlThrDefPedanticParserDefaultValue ()" link="libxml2-globals.html#xmlThrDefPedanticParserDefaultValue"/>
- <keyword type="function" name="xmlThrDefRegisterNodeDefault ()" link="libxml2-globals.html#xmlThrDefRegisterNodeDefault"/>
- <keyword type="function" name="xmlThrDefSaveNoEmptyTags ()" link="libxml2-globals.html#xmlThrDefSaveNoEmptyTags"/>
- <keyword type="function" name="xmlThrDefSetGenericErrorFunc ()" link="libxml2-globals.html#xmlThrDefSetGenericErrorFunc"/>
- <keyword type="function" name="xmlThrDefSetStructuredErrorFunc ()" link="libxml2-globals.html#xmlThrDefSetStructuredErrorFunc"/>
- <keyword type="function" name="xmlThrDefSubstituteEntitiesDefaultValue ()" link="libxml2-globals.html#xmlThrDefSubstituteEntitiesDefaultValue"/>
- <keyword type="function" name="xmlThrDefTreeIndentString ()" link="libxml2-globals.html#xmlThrDefTreeIndentString"/>
+ <keyword type="function" name="xmlThrDefBufferAllocScheme ()" link="libxml2-tree.html#xmlThrDefBufferAllocScheme"/>
+ <keyword type="function" name="xmlThrDefDefaultBufferSize ()" link="libxml2-tree.html#xmlThrDefDefaultBufferSize"/>
+ <keyword type="function" name="xmlThrDefDeregisterNodeDefault ()" link="libxml2-tree.html#xmlThrDefDeregisterNodeDefault"/>
+ <keyword type="function" name="xmlThrDefDoValidityCheckingDefaultValue ()" link="libxml2-parser.html#xmlThrDefDoValidityCheckingDefaultValue"/>
+ <keyword type="function" name="xmlThrDefGetWarningsDefaultValue ()" link="libxml2-parser.html#xmlThrDefGetWarningsDefaultValue"/>
+ <keyword type="function" name="xmlThrDefIndentTreeOutput ()" link="libxml2-xmlsave.html#xmlThrDefIndentTreeOutput"/>
+ <keyword type="function" name="xmlThrDefKeepBlanksDefaultValue ()" link="libxml2-parser.html#xmlThrDefKeepBlanksDefaultValue"/>
+ <keyword type="function" name="xmlThrDefLineNumbersDefaultValue ()" link="libxml2-parser.html#xmlThrDefLineNumbersDefaultValue"/>
+ <keyword type="function" name="xmlThrDefLoadExtDtdDefaultValue ()" link="libxml2-parser.html#xmlThrDefLoadExtDtdDefaultValue"/>
+ <keyword type="function" name="xmlThrDefOutputBufferCreateFilenameDefault ()" link="libxml2-xmlIO.html#xmlThrDefOutputBufferCreateFilenameDefault"/>
+ <keyword type="function" name="xmlThrDefParserDebugEntities ()" link="libxml2-parser.html#xmlThrDefParserDebugEntities"/>
+ <keyword type="function" name="xmlThrDefParserInputBufferCreateFilenameDefault ()" link="libxml2-xmlIO.html#xmlThrDefParserInputBufferCreateFilenameDefault"/>
+ <keyword type="function" name="xmlThrDefPedanticParserDefaultValue ()" link="libxml2-parser.html#xmlThrDefPedanticParserDefaultValue"/>
+ <keyword type="function" name="xmlThrDefRegisterNodeDefault ()" link="libxml2-tree.html#xmlThrDefRegisterNodeDefault"/>
+ <keyword type="function" name="xmlThrDefSaveNoEmptyTags ()" link="libxml2-xmlsave.html#xmlThrDefSaveNoEmptyTags"/>
+ <keyword type="function" name="xmlThrDefSetGenericErrorFunc ()" link="libxml2-xmlerror.html#xmlThrDefSetGenericErrorFunc"/>
+ <keyword type="function" name="xmlThrDefSetStructuredErrorFunc ()" link="libxml2-xmlerror.html#xmlThrDefSetStructuredErrorFunc"/>
+ <keyword type="function" name="xmlThrDefSubstituteEntitiesDefaultValue ()" link="libxml2-parser.html#xmlThrDefSubstituteEntitiesDefaultValue"/>
+ <keyword type="function" name="xmlThrDefTreeIndentString ()" link="libxml2-xmlsave.html#xmlThrDefTreeIndentString"/>
<keyword type="function" name="xmlUCSIsAegeanNumbers ()" link="libxml2-xmlunicode.html#xmlUCSIsAegeanNumbers"/>
<keyword type="function" name="xmlUCSIsAlphabeticPresentationForms ()" link="libxml2-xmlunicode.html#xmlUCSIsAlphabeticPresentationForms"/>
<keyword type="function" name="xmlUCSIsArabic ()" link="libxml2-xmlunicode.html#xmlUCSIsArabic"/>
diff --git a/doc/examples/examples.xml b/doc/examples/examples.xml
index 177e8159..0cf0f2b8 100644
--- a/doc/examples/examples.xml
+++ b/doc/examples/examples.xml
@@ -8,19 +8,19 @@
<copy>see Copyright for the status of this software. </copy>
<section>InputOutput</section>
<includes>
- <include line='16'>&lt;libxml/parser.h&gt;</include>
- <include line='17'>&lt;libxml/tree.h&gt;</include>
- <include line='18'>&lt;libxml/xinclude.h&gt;</include>
- <include line='19'>&lt;libxml/xmlIO.h&gt;</include>
+ <include line='17'>&lt;libxml/parser.h&gt;</include>
+ <include line='18'>&lt;libxml/tree.h&gt;</include>
+ <include line='19'>&lt;libxml/xinclude.h&gt;</include>
+ <include line='20'>&lt;libxml/xmlIO.h&gt;</include>
</includes>
<uses>
- <macro line='117' file='xmlversion' name='LIBXML_TEST_VERSION'/>
- <function line='143' file='tree' name='xmlDocDump'/>
- <typedef line='105' file='tree' name='xmlDocPtr'/>
- <function line='149' file='tree' name='xmlFreeDoc'/>
- <function line='124' file='parser' name='xmlReadMemory'/>
- <function line='117' file='xmlIO' name='xmlRegisterInputCallbacks'/>
- <function line='134' file='xinclude' name='xmlXIncludeProcess'/>
+ <macro line='118' file='xmlversion' name='LIBXML_TEST_VERSION'/>
+ <function line='144' file='tree' name='xmlDocDump'/>
+ <typedef line='106' file='tree' name='xmlDocPtr'/>
+ <function line='150' file='tree' name='xmlFreeDoc'/>
+ <function line='125' file='parser' name='xmlReadMemory'/>
+ <function line='118' file='xmlIO' name='xmlRegisterInputCallbacks'/>
+ <function line='135' file='xinclude' name='xmlXIncludeProcess'/>
</uses>
</example>
<example filename='io2.c'>
@@ -38,7 +38,7 @@
<function line='36' file='tree' name='xmlDocDumpFormatMemory'/>
<typedef line='20' file='tree' name='xmlDocPtr'/>
<function line='30' file='tree' name='xmlDocSetRootElement'/>
- <variable line='42' file='globals' name='xmlFree'/>
+ <variable line='42' file='xmlmemory' name='xmlFree'/>
<function line='43' file='tree' name='xmlFreeDoc'/>
<function line='27' file='tree' name='xmlNewDoc'/>
<function line='28' file='tree' name='xmlNewDocNode'/>
@@ -164,24 +164,25 @@
<copy>see Copyright for the status of this software. </copy>
<section>xmlReader</section>
<includes>
+ <include line='17'>&lt;libxml/parser.h&gt;</include>
<include line='16'>&lt;libxml/xmlreader.h&gt;</include>
</includes>
<uses>
- <enum line='69' file='parser' name='XML_PARSE_DTDATTR'/>
- <enum line='71' file='parser' name='XML_PARSE_DTDVALID'/>
- <enum line='70' file='parser' name='XML_PARSE_NOENT'/>
- <function line='84' file='xmlreader' name='xmlFreeTextReader'/>
- <function line='68' file='xmlreader' name='xmlReaderForFile'/>
- <function line='45' file='xmlstring' name='xmlStrlen'/>
- <function line='30' file='xmlreader' name='xmlTextReaderConstName'/>
- <function line='34' file='xmlreader' name='xmlTextReaderConstValue'/>
- <function line='37' file='xmlreader' name='xmlTextReaderDepth'/>
- <function line='41' file='xmlreader' name='xmlTextReaderHasValue'/>
- <function line='40' file='xmlreader' name='xmlTextReaderIsEmptyElement'/>
- <function line='81' file='xmlreader' name='xmlTextReaderIsValid'/>
- <function line='38' file='xmlreader' name='xmlTextReaderNodeType'/>
- <typedef line='60' file='xmlreader' name='xmlTextReaderPtr'/>
- <function line='73' file='xmlreader' name='xmlTextReaderRead'/>
+ <enum line='70' file='parser' name='XML_PARSE_DTDATTR'/>
+ <enum line='72' file='parser' name='XML_PARSE_DTDVALID'/>
+ <enum line='71' file='parser' name='XML_PARSE_NOENT'/>
+ <function line='85' file='xmlreader' name='xmlFreeTextReader'/>
+ <function line='69' file='xmlreader' name='xmlReaderForFile'/>
+ <function line='46' file='xmlstring' name='xmlStrlen'/>
+ <function line='31' file='xmlreader' name='xmlTextReaderConstName'/>
+ <function line='35' file='xmlreader' name='xmlTextReaderConstValue'/>
+ <function line='38' file='xmlreader' name='xmlTextReaderDepth'/>
+ <function line='42' file='xmlreader' name='xmlTextReaderHasValue'/>
+ <function line='41' file='xmlreader' name='xmlTextReaderIsEmptyElement'/>
+ <function line='82' file='xmlreader' name='xmlTextReaderIsValid'/>
+ <function line='39' file='xmlreader' name='xmlTextReaderNodeType'/>
+ <typedef line='61' file='xmlreader' name='xmlTextReaderPtr'/>
+ <function line='74' file='xmlreader' name='xmlTextReaderRead'/>
</uses>
</example>
<example filename='reader3.c'>
@@ -235,38 +236,39 @@
<section>xmlWriter</section>
<includes>
<include line='16'>&lt;libxml/encoding.h&gt;</include>
+ <include line='18'>&lt;libxml/parser.h&gt;</include>
<include line='17'>&lt;libxml/xmlwriter.h&gt;</include>
</includes>
<uses>
- <macro line='877' file='parser' name='XML_DEFAULT_VERSION'/>
- <function line='339' file='tree' name='xmlBufferCreate'/>
- <function line='605' file='tree' name='xmlBufferFree'/>
- <typedef line='333' file='tree' name='xmlBufferPtr'/>
- <typedef line='1143' file='encoding' name='xmlCharEncodingHandlerPtr'/>
- <function line='893' file='tree' name='xmlDocSetRootElement'/>
- <function line='1148' file='encoding' name='xmlFindCharEncodingHandler'/>
- <variable line='105' file='globals' name='xmlFree'/>
- <function line='319' file='xmlwriter' name='xmlFreeTextWriter'/>
- <variable line='1158' file='globals' name='xmlMalloc'/>
- <function line='877' file='tree' name='xmlNewDoc'/>
- <function line='886' file='tree' name='xmlNewDocNode'/>
- <function line='624' file='xmlwriter' name='xmlNewTextWriterDoc'/>
- <function line='68' file='xmlwriter' name='xmlNewTextWriterFilename'/>
- <function line='347' file='xmlwriter' name='xmlNewTextWriterMemory'/>
- <function line='896' file='xmlwriter' name='xmlNewTextWriterTree'/>
- <typedef line='872' file='tree' name='xmlNodePtr'/>
- <variable line='1175' file='globals' name='xmlRealloc'/>
- <function line='855' file='tree' name='xmlSaveFileEnc'/>
- <function line='312' file='xmlwriter' name='xmlTextWriterEndDocument'/>
- <function line='192' file='xmlwriter' name='xmlTextWriterEndElement'/>
- <typedef line='64' file='xmlwriter' name='xmlTextWriterPtr'/>
- <function line='77' file='xmlwriter' name='xmlTextWriterStartDocument'/>
- <function line='86' file='xmlwriter' name='xmlTextWriterStartElement'/>
- <function line='116' file='xmlwriter' name='xmlTextWriterWriteAttribute'/>
- <function line='99' file='xmlwriter' name='xmlTextWriterWriteComment'/>
- <function line='173' file='xmlwriter' name='xmlTextWriterWriteElement'/>
- <function line='135' file='xmlwriter' name='xmlTextWriterWriteFormatComment'/>
- <function line='154' file='xmlwriter' name='xmlTextWriterWriteFormatElement'/>
+ <macro line='878' file='parser' name='XML_DEFAULT_VERSION'/>
+ <function line='340' file='tree' name='xmlBufferCreate'/>
+ <function line='606' file='tree' name='xmlBufferFree'/>
+ <typedef line='334' file='tree' name='xmlBufferPtr'/>
+ <typedef line='1144' file='encoding' name='xmlCharEncodingHandlerPtr'/>
+ <function line='894' file='tree' name='xmlDocSetRootElement'/>
+ <function line='1149' file='encoding' name='xmlFindCharEncodingHandler'/>
+ <variable line='106' file='xmlmemory' name='xmlFree'/>
+ <function line='320' file='xmlwriter' name='xmlFreeTextWriter'/>
+ <variable line='1159' file='xmlmemory' name='xmlMalloc'/>
+ <function line='878' file='tree' name='xmlNewDoc'/>
+ <function line='887' file='tree' name='xmlNewDocNode'/>
+ <function line='625' file='xmlwriter' name='xmlNewTextWriterDoc'/>
+ <function line='69' file='xmlwriter' name='xmlNewTextWriterFilename'/>
+ <function line='348' file='xmlwriter' name='xmlNewTextWriterMemory'/>
+ <function line='897' file='xmlwriter' name='xmlNewTextWriterTree'/>
+ <typedef line='873' file='tree' name='xmlNodePtr'/>
+ <variable line='1176' file='xmlmemory' name='xmlRealloc'/>
+ <function line='856' file='tree' name='xmlSaveFileEnc'/>
+ <function line='313' file='xmlwriter' name='xmlTextWriterEndDocument'/>
+ <function line='193' file='xmlwriter' name='xmlTextWriterEndElement'/>
+ <typedef line='65' file='xmlwriter' name='xmlTextWriterPtr'/>
+ <function line='78' file='xmlwriter' name='xmlTextWriterStartDocument'/>
+ <function line='87' file='xmlwriter' name='xmlTextWriterStartElement'/>
+ <function line='117' file='xmlwriter' name='xmlTextWriterWriteAttribute'/>
+ <function line='100' file='xmlwriter' name='xmlTextWriterWriteComment'/>
+ <function line='174' file='xmlwriter' name='xmlTextWriterWriteElement'/>
+ <function line='136' file='xmlwriter' name='xmlTextWriterWriteFormatComment'/>
+ <function line='155' file='xmlwriter' name='xmlTextWriterWriteFormatElement'/>
</uses>
</example>
<example filename='tree1.c'>
@@ -328,7 +330,7 @@
<uses>
<enum line='222' file='tree' name='XML_ELEMENT_NODE'/>
<enum line='210' file='tree' name='XML_NAMESPACE_DECL'/>
- <variable line='166' file='globals' name='xmlFree'/>
+ <variable line='166' file='xmlmemory' name='xmlFree'/>
<function line='39' file='parser' name='xmlInitParser'/>
<typedef line='199' file='tree' name='xmlNodePtr'/>
<typedef line='211' file='tree' name='xmlNsPtr'/>
diff --git a/doc/examples/index.html b/doc/examples/index.html
index b4d29f31..14694030 100644
--- a/doc/examples/index.html
+++ b/doc/examples/index.html
@@ -80,13 +80,13 @@ install</i> step or when installing the libxml2 development package:</p>
</ul>
<p>Uses:</p>
<ul>
- <li> line 105: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li>
- <li> line 117: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li>
- <li> line 117: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a> from xmlIO.h</li>
- <li> line 124: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlReadMemory">xmlReadMemory</a> from parser.h</li>
- <li> line 134: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xinclude.html#xmlXIncludeProcess">xmlXIncludeProcess</a> from xinclude.h</li>
- <li> line 143: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li>
- <li> line 149: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li>
+ <li> line 106: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> from tree.h</li>
+ <li> line 118: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlversion.html#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a> from xmlversion.h</li>
+ <li> line 118: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a> from xmlIO.h</li>
+ <li> line 125: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlReadMemory">xmlReadMemory</a> from parser.h</li>
+ <li> line 135: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xinclude.html#xmlXIncludeProcess">xmlXIncludeProcess</a> from xinclude.h</li>
+ <li> line 144: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocDump">xmlDocDump</a> from tree.h</li>
+ <li> line 150: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlFreeDoc">xmlFreeDoc</a> from tree.h</li>
</ul>
<p>Usage:</p>
<p>io1</p>
@@ -354,21 +354,24 @@ install</i> step or when installing the libxml2 development package:</p>
<li>
<a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html">&lt;libxml/xmlreader.h&gt;</a>
</li>
+ <li>
+ <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
+ </li>
</ul>
<p>Uses:</p>
<ul>
- <li> line 30: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a> from xmlreader.h</li>
- <li> line 34: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a> from xmlreader.h</li>
- <li> line 37: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a> from xmlreader.h</li>
- <li> line 38: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a> from xmlreader.h</li>
- <li> line 40: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a> from xmlreader.h</li>
- <li> line 41: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a> from xmlreader.h</li>
- <li> line 45: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlstring.html#xmlStrlen">xmlStrlen</a> from xmlstring.h</li>
- <li> line 60: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li>
- <li> line 68: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li>
- <li> line 73: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li>
- <li> line 81: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a> from xmlreader.h</li>
- <li> line 84: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li>
+ <li> line 31: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderConstName">xmlTextReaderConstName</a> from xmlreader.h</li>
+ <li> line 35: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderConstValue">xmlTextReaderConstValue</a> from xmlreader.h</li>
+ <li> line 38: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderDepth">xmlTextReaderDepth</a> from xmlreader.h</li>
+ <li> line 39: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a> from xmlreader.h</li>
+ <li> line 41: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderIsEmptyElement">xmlTextReaderIsEmptyElement</a> from xmlreader.h</li>
+ <li> line 42: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderHasValue">xmlTextReaderHasValue</a> from xmlreader.h</li>
+ <li> line 46: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlstring.html#xmlStrlen">xmlStrlen</a> from xmlstring.h</li>
+ <li> line 61: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> from xmlreader.h</li>
+ <li> line 69: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a> from xmlreader.h</li>
+ <li> line 74: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a> from xmlreader.h</li>
+ <li> line 82: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderIsValid">xmlTextReaderIsValid</a> from xmlreader.h</li>
+ <li> line 85: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlFreeTextReader">xmlFreeTextReader</a> from xmlreader.h</li>
</ul>
<p>Usage:</p>
<p>reader2 &lt;valid_xml_filename&gt;</p>
@@ -425,35 +428,38 @@ install</i> step or when installing the libxml2 development package:</p>
<li>
<a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html">&lt;libxml/xmlwriter.h&gt;</a>
</li>
+ <li>
+ <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html">&lt;libxml/parser.h&gt;</a>
+ </li>
</ul>
<p>Uses:</p>
<ul>
- <li> line 64: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> from xmlwriter.h</li>
- <li> line 68: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlNewTextWriterFilename">xmlNewTextWriterFilename</a> from xmlwriter.h</li>
- <li> line 77: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a> from xmlwriter.h</li>
- <li> line 86: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterStartElement">xmlTextWriterStartElement</a> from xmlwriter.h</li>
- <li> line 99: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a> from xmlwriter.h</li>
- <li> line 116: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteAttribute">xmlTextWriterWriteAttribute</a> from xmlwriter.h</li>
- <li> line 135: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a> from xmlwriter.h</li>
- <li> line 154: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatElement</a> from xmlwriter.h</li>
- <li> line 173: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteElement">xmlTextWriterWriteElement</a> from xmlwriter.h</li>
- <li> line 192: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterEndElement">xmlTextWriterEndElement</a> from xmlwriter.h</li>
- <li> line 312: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a> from xmlwriter.h</li>
- <li> line 319: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlFreeTextWriter">xmlFreeTextWriter</a> from xmlwriter.h</li>
- <li> line 333: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> from tree.h</li>
- <li> line 339: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlBufferCreate">xmlBufferCreate</a> from tree.h</li>
- <li> line 347: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a> from xmlwriter.h</li>
- <li> line 605: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlBufferFree">xmlBufferFree</a> from tree.h</li>
- <li> line 624: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a> from xmlwriter.h</li>
- <li> line 855: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlSaveFileEnc">xmlSaveFileEnc</a> from tree.h</li>
- <li> line 872: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li>
- <li> line 877: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a> from parser.h</li>
- <li> line 877: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li>
- <li> line 886: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDocNode">xmlNewDocNode</a> from tree.h</li>
- <li> line 893: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li>
- <li> line 896: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a> from xmlwriter.h</li>
- <li> line 1143: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> from encoding.h</li>
- <li> line 1148: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-encoding.html#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a> from encoding.h</li>
+ <li> line 65: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> from xmlwriter.h</li>
+ <li> line 69: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlNewTextWriterFilename">xmlNewTextWriterFilename</a> from xmlwriter.h</li>
+ <li> line 78: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a> from xmlwriter.h</li>
+ <li> line 87: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterStartElement">xmlTextWriterStartElement</a> from xmlwriter.h</li>
+ <li> line 100: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a> from xmlwriter.h</li>
+ <li> line 117: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteAttribute">xmlTextWriterWriteAttribute</a> from xmlwriter.h</li>
+ <li> line 136: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a> from xmlwriter.h</li>
+ <li> line 155: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatElement</a> from xmlwriter.h</li>
+ <li> line 174: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteElement">xmlTextWriterWriteElement</a> from xmlwriter.h</li>
+ <li> line 193: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterEndElement">xmlTextWriterEndElement</a> from xmlwriter.h</li>
+ <li> line 313: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a> from xmlwriter.h</li>
+ <li> line 320: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlFreeTextWriter">xmlFreeTextWriter</a> from xmlwriter.h</li>
+ <li> line 334: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> from tree.h</li>
+ <li> line 340: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlBufferCreate">xmlBufferCreate</a> from tree.h</li>
+ <li> line 348: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a> from xmlwriter.h</li>
+ <li> line 606: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlBufferFree">xmlBufferFree</a> from tree.h</li>
+ <li> line 625: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a> from xmlwriter.h</li>
+ <li> line 856: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlSaveFileEnc">xmlSaveFileEnc</a> from tree.h</li>
+ <li> line 873: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> from tree.h</li>
+ <li> line 878: Macro <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a> from parser.h</li>
+ <li> line 878: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDoc">xmlNewDoc</a> from tree.h</li>
+ <li> line 887: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDocNode">xmlNewDocNode</a> from tree.h</li>
+ <li> line 894: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocSetRootElement">xmlDocSetRootElement</a> from tree.h</li>
+ <li> line 897: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a> from xmlwriter.h</li>
+ <li> line 1144: Type <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> from encoding.h</li>
+ <li> line 1149: Function <a href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-encoding.html#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a> from encoding.h</li>
</ul>
<p>Usage:</p>
<p>testWriter</p>
diff --git a/doc/libxml2-api.xml b/doc/libxml2-api.xml
index eabf4961..1dee142c 100644
--- a/doc/libxml2-api.xml
+++ b/doc/libxml2-api.xml
@@ -391,9 +391,17 @@
<exports symbol='XML_CHAR_ENCODING_UTF16BE' type='enum'/>
<exports symbol='XML_CHAR_ENCODING_UTF16LE' type='enum'/>
<exports symbol='XML_CHAR_ENCODING_UTF8' type='enum'/>
+ <exports symbol='XML_ENC_ERR_INPUT' type='enum'/>
+ <exports symbol='XML_ENC_ERR_INTERNAL' type='enum'/>
+ <exports symbol='XML_ENC_ERR_MEMORY' type='enum'/>
+ <exports symbol='XML_ENC_ERR_PARTIAL' type='enum'/>
+ <exports symbol='XML_ENC_ERR_SPACE' type='enum'/>
+ <exports symbol='XML_ENC_ERR_SUCCESS' type='enum'/>
+ <exports symbol='xmlCharEncError' type='typedef'/>
<exports symbol='xmlCharEncoding' type='typedef'/>
<exports symbol='xmlCharEncodingHandler' type='typedef'/>
<exports symbol='xmlCharEncodingHandlerPtr' type='typedef'/>
+ <exports symbol='_xmlBuffer' type='struct'/>
<exports symbol='_xmlCharEncodingHandler' type='struct'/>
<exports symbol='UTF8Toisolat1' type='function'/>
<exports symbol='isolat1ToUTF8' type='function'/>
@@ -442,6 +450,7 @@
<exports symbol='xmlEncodeEntitiesReentrant' type='function'/>
<exports symbol='xmlEncodeSpecialChars' type='function'/>
<exports symbol='xmlFreeEntitiesTable' type='function'/>
+ <exports symbol='xmlFreeEntity' type='function'/>
<exports symbol='xmlGetDocEntity' type='function'/>
<exports symbol='xmlGetDtdEntity' type='function'/>
<exports symbol='xmlGetParameterEntity' type='function'/>
@@ -451,73 +460,13 @@
</file>
<file name='globals'>
<summary>interface for all global variables of the library</summary>
- <description>all the global variables and thread handling for those variables is handled by this module. The bottom of this file is automatically generated by build_glob.py based on the description file global.data </description>
- <author>Gary Pennington &lt;Gary.Pennington@uk.sun.com&gt;, Daniel Veillard </author>
+ <description>Deprecated, don&apos;t use </description>
<exports symbol='xmlGlobalState' type='typedef'/>
<exports symbol='xmlGlobalStatePtr' type='typedef'/>
- <exports symbol='_xmlGlobalState' type='struct'/>
- <exports symbol='htmlDefaultSAXHandler' type='variable'/>
- <exports symbol='oldXMLWDcompatibility' type='variable'/>
- <exports symbol='xmlBufferAllocScheme' type='variable'/>
- <exports symbol='xmlDefaultBufferSize' type='variable'/>
- <exports symbol='xmlDefaultSAXHandler' type='variable'/>
- <exports symbol='xmlDefaultSAXLocator' type='variable'/>
- <exports symbol='xmlDeregisterNodeDefaultValue' type='variable'/>
- <exports symbol='xmlDoValidityCheckingDefaultValue' type='variable'/>
- <exports symbol='xmlFree' type='variable'/>
- <exports symbol='xmlGenericError' type='variable'/>
- <exports symbol='xmlGenericErrorContext' type='variable'/>
- <exports symbol='xmlGetWarningsDefaultValue' type='variable'/>
- <exports symbol='xmlIndentTreeOutput' type='variable'/>
- <exports symbol='xmlKeepBlanksDefaultValue' type='variable'/>
- <exports symbol='xmlLastError' type='variable'/>
- <exports symbol='xmlLineNumbersDefaultValue' type='variable'/>
- <exports symbol='xmlLoadExtDtdDefaultValue' type='variable'/>
- <exports symbol='xmlMalloc' type='variable'/>
- <exports symbol='xmlMallocAtomic' type='variable'/>
- <exports symbol='xmlMemStrdup' type='variable'/>
- <exports symbol='xmlOutputBufferCreateFilenameValue' type='variable'/>
- <exports symbol='xmlParserDebugEntities' type='variable'/>
- <exports symbol='xmlParserInputBufferCreateFilenameValue' type='variable'/>
- <exports symbol='xmlParserVersion' type='variable'/>
- <exports symbol='xmlPedanticParserDefaultValue' type='variable'/>
- <exports symbol='xmlRealloc' type='variable'/>
- <exports symbol='xmlRegisterNodeDefaultValue' type='variable'/>
- <exports symbol='xmlSaveNoEmptyTags' type='variable'/>
- <exports symbol='xmlStructuredError' type='variable'/>
- <exports symbol='xmlStructuredErrorContext' type='variable'/>
- <exports symbol='xmlSubstituteEntitiesDefaultValue' type='variable'/>
- <exports symbol='xmlTreeIndentString' type='variable'/>
<exports symbol='xmlCleanupGlobals' type='function'/>
- <exports symbol='xmlDeregisterNodeDefault' type='function'/>
- <exports symbol='xmlDeregisterNodeFunc' type='function'/>
+ <exports symbol='xmlGetGlobalState' type='function'/>
<exports symbol='xmlInitGlobals' type='function'/>
<exports symbol='xmlInitializeGlobalState' type='function'/>
- <exports symbol='xmlOutputBufferCreateFilenameDefault' type='function'/>
- <exports symbol='xmlOutputBufferCreateFilenameFunc' type='function'/>
- <exports symbol='xmlParserInputBufferCreateFilenameDefault' type='function'/>
- <exports symbol='xmlParserInputBufferCreateFilenameFunc' type='function'/>
- <exports symbol='xmlRegisterNodeDefault' type='function'/>
- <exports symbol='xmlRegisterNodeFunc' type='function'/>
- <exports symbol='xmlThrDefBufferAllocScheme' type='function'/>
- <exports symbol='xmlThrDefDefaultBufferSize' type='function'/>
- <exports symbol='xmlThrDefDeregisterNodeDefault' type='function'/>
- <exports symbol='xmlThrDefDoValidityCheckingDefaultValue' type='function'/>
- <exports symbol='xmlThrDefGetWarningsDefaultValue' type='function'/>
- <exports symbol='xmlThrDefIndentTreeOutput' type='function'/>
- <exports symbol='xmlThrDefKeepBlanksDefaultValue' type='function'/>
- <exports symbol='xmlThrDefLineNumbersDefaultValue' type='function'/>
- <exports symbol='xmlThrDefLoadExtDtdDefaultValue' type='function'/>
- <exports symbol='xmlThrDefOutputBufferCreateFilenameDefault' type='function'/>
- <exports symbol='xmlThrDefParserDebugEntities' type='function'/>
- <exports symbol='xmlThrDefParserInputBufferCreateFilenameDefault' type='function'/>
- <exports symbol='xmlThrDefPedanticParserDefaultValue' type='function'/>
- <exports symbol='xmlThrDefRegisterNodeDefault' type='function'/>
- <exports symbol='xmlThrDefSaveNoEmptyTags' type='function'/>
- <exports symbol='xmlThrDefSetGenericErrorFunc' type='function'/>
- <exports symbol='xmlThrDefSetStructuredErrorFunc' type='function'/>
- <exports symbol='xmlThrDefSubstituteEntitiesDefaultValue' type='function'/>
- <exports symbol='xmlThrDefTreeIndentString' type='function'/>
</file>
<file name='hash'>
<summary>Chained hash tables</summary>
@@ -675,6 +624,7 @@
<exports symbol='XML_PARSER_START' type='enum'/>
<exports symbol='XML_PARSER_START_TAG' type='enum'/>
<exports symbol='XML_PARSER_SYSTEM_LITERAL' type='enum'/>
+ <exports symbol='XML_PARSER_XML_DECL' type='enum'/>
<exports symbol='XML_PARSE_BIG_LINES' type='enum'/>
<exports symbol='XML_PARSE_COMPACT' type='enum'/>
<exports symbol='XML_PARSE_DOM' type='enum'/>
@@ -738,6 +688,7 @@
<exports symbol='XML_WITH_XPATH' type='enum'/>
<exports symbol='XML_WITH_XPTR' type='enum'/>
<exports symbol='XML_WITH_ZLIB' type='enum'/>
+ <exports symbol='xmlAttrHashBucket' type='typedef'/>
<exports symbol='xmlFeature' type='typedef'/>
<exports symbol='xmlParserInputState' type='typedef'/>
<exports symbol='xmlParserMode' type='typedef'/>
@@ -745,6 +696,7 @@
<exports symbol='xmlParserNodeInfoPtr' type='typedef'/>
<exports symbol='xmlParserNodeInfoSeq' type='typedef'/>
<exports symbol='xmlParserNodeInfoSeqPtr' type='typedef'/>
+ <exports symbol='xmlParserNsData' type='typedef'/>
<exports symbol='xmlParserOption' type='typedef'/>
<exports symbol='xmlSAXHandlerV1' type='typedef'/>
<exports symbol='xmlSAXHandlerV1Ptr' type='typedef'/>
@@ -756,6 +708,7 @@
<exports symbol='_xmlSAXHandler' type='struct'/>
<exports symbol='_xmlSAXHandlerV1' type='struct'/>
<exports symbol='_xmlSAXLocator' type='struct'/>
+ <exports symbol='xmlParserVersion' type='variable'/>
<exports symbol='attributeDeclSAXFunc' type='function'/>
<exports symbol='attributeSAXFunc' type='function'/>
<exports symbol='cdataBlockSAXFunc' type='function'/>
@@ -800,6 +753,7 @@
<exports symbol='xmlCtxtReadMemory' type='function'/>
<exports symbol='xmlCtxtReset' type='function'/>
<exports symbol='xmlCtxtResetPush' type='function'/>
+ <exports symbol='xmlCtxtSetMaxAmplification' type='function'/>
<exports symbol='xmlCtxtUseOptions' type='function'/>
<exports symbol='xmlExternalEntityLoader' type='function'/>
<exports symbol='xmlFreeParserCtxt' type='function'/>
@@ -859,6 +813,14 @@
<exports symbol='xmlSetupParserForBuffer' type='function'/>
<exports symbol='xmlStopParser' type='function'/>
<exports symbol='xmlSubstituteEntitiesDefault' type='function'/>
+ <exports symbol='xmlThrDefDoValidityCheckingDefaultValue' type='function'/>
+ <exports symbol='xmlThrDefGetWarningsDefaultValue' type='function'/>
+ <exports symbol='xmlThrDefKeepBlanksDefaultValue' type='function'/>
+ <exports symbol='xmlThrDefLineNumbersDefaultValue' type='function'/>
+ <exports symbol='xmlThrDefLoadExtDtdDefaultValue' type='function'/>
+ <exports symbol='xmlThrDefParserDebugEntities' type='function'/>
+ <exports symbol='xmlThrDefPedanticParserDefaultValue' type='function'/>
+ <exports symbol='xmlThrDefSubstituteEntitiesDefaultValue' type='function'/>
</file>
<file name='parserInternals'>
<summary>internals routines and limits exported by the parser.</summary>
@@ -1363,10 +1325,10 @@
<exports symbol='xmlMutexPtr' type='typedef'/>
<exports symbol='xmlRMutex' type='typedef'/>
<exports symbol='xmlRMutexPtr' type='typedef'/>
+ <exports symbol='xmlCheckThreadLocalStorage' type='function'/>
<exports symbol='xmlCleanupThreads' type='function'/>
<exports symbol='xmlFreeMutex' type='function'/>
<exports symbol='xmlFreeRMutex' type='function'/>
- <exports symbol='xmlGetGlobalState' type='function'/>
<exports symbol='xmlGetThreadId' type='function'/>
<exports symbol='xmlInitThreads' type='function'/>
<exports symbol='xmlIsMainThread' type='function'/>
@@ -1570,6 +1532,8 @@
<exports symbol='xmlDOMWrapNewCtxt' type='function'/>
<exports symbol='xmlDOMWrapReconcileNamespaces' type='function'/>
<exports symbol='xmlDOMWrapRemoveNode' type='function'/>
+ <exports symbol='xmlDeregisterNodeDefault' type='function'/>
+ <exports symbol='xmlDeregisterNodeFunc' type='function'/>
<exports symbol='xmlDocCopyNode' type='function'/>
<exports symbol='xmlDocCopyNodeList' type='function'/>
<exports symbol='xmlDocDump' type='function'/>
@@ -1654,6 +1618,8 @@
<exports symbol='xmlNodeSetSpacePreserve' type='function'/>
<exports symbol='xmlPreviousElementSibling' type='function'/>
<exports symbol='xmlReconciliateNs' type='function'/>
+ <exports symbol='xmlRegisterNodeDefault' type='function'/>
+ <exports symbol='xmlRegisterNodeFunc' type='function'/>
<exports symbol='xmlRemoveProp' type='function'/>
<exports symbol='xmlReplaceNode' type='function'/>
<exports symbol='xmlSaveFile' type='function'/>
@@ -1678,6 +1644,10 @@
<exports symbol='xmlStringLenGetNodeList' type='function'/>
<exports symbol='xmlTextConcat' type='function'/>
<exports symbol='xmlTextMerge' type='function'/>
+ <exports symbol='xmlThrDefBufferAllocScheme' type='function'/>
+ <exports symbol='xmlThrDefDefaultBufferSize' type='function'/>
+ <exports symbol='xmlThrDefDeregisterNodeDefault' type='function'/>
+ <exports symbol='xmlThrDefRegisterNodeDefault' type='function'/>
<exports symbol='xmlUnlinkNode' type='function'/>
<exports symbol='xmlUnsetNsProp' type='function'/>
<exports symbol='xmlUnsetProp' type='function'/>
@@ -1899,6 +1869,8 @@
<exports symbol='xmlOutputBufferCreateFd' type='function'/>
<exports symbol='xmlOutputBufferCreateFile' type='function'/>
<exports symbol='xmlOutputBufferCreateFilename' type='function'/>
+ <exports symbol='xmlOutputBufferCreateFilenameDefault' type='function'/>
+ <exports symbol='xmlOutputBufferCreateFilenameFunc' type='function'/>
<exports symbol='xmlOutputBufferCreateIO' type='function'/>
<exports symbol='xmlOutputBufferFlush' type='function'/>
<exports symbol='xmlOutputBufferGetContent' type='function'/>
@@ -1914,6 +1886,8 @@
<exports symbol='xmlParserInputBufferCreateFd' type='function'/>
<exports symbol='xmlParserInputBufferCreateFile' type='function'/>
<exports symbol='xmlParserInputBufferCreateFilename' type='function'/>
+ <exports symbol='xmlParserInputBufferCreateFilenameDefault' type='function'/>
+ <exports symbol='xmlParserInputBufferCreateFilenameFunc' type='function'/>
<exports symbol='xmlParserInputBufferCreateIO' type='function'/>
<exports symbol='xmlParserInputBufferCreateMem' type='function'/>
<exports symbol='xmlParserInputBufferCreateStatic' type='function'/>
@@ -1927,6 +1901,8 @@
<exports symbol='xmlRegisterHTTPPostCallbacks' type='function'/>
<exports symbol='xmlRegisterInputCallbacks' type='function'/>
<exports symbol='xmlRegisterOutputCallbacks' type='function'/>
+ <exports symbol='xmlThrDefOutputBufferCreateFilenameDefault' type='function'/>
+ <exports symbol='xmlThrDefParserInputBufferCreateFilenameDefault' type='function'/>
</file>
<file name='xmlautomata'>
<summary>API to build regexp automata</summary>
@@ -2678,6 +2654,7 @@
<exports symbol='XML_TREE_NOT_UTF8' type='enum'/>
<exports symbol='XML_TREE_UNTERMINATED_ENTITY' type='enum'/>
<exports symbol='XML_WAR_CATALOG_PI' type='enum'/>
+ <exports symbol='XML_WAR_ENCODING_MISMATCH' type='enum'/>
<exports symbol='XML_WAR_ENTITY_REDEFINED' type='enum'/>
<exports symbol='XML_WAR_LANG_VALUE' type='enum'/>
<exports symbol='XML_WAR_NS_COLUMN' type='enum'/>
@@ -2737,6 +2714,7 @@
<exports symbol='xmlErrorPtr' type='typedef'/>
<exports symbol='xmlParserErrors' type='typedef'/>
<exports symbol='_xmlError' type='struct'/>
+ <exports symbol='_xmlParserInput' type='struct'/>
<exports symbol='initGenericErrorDefaultFunc' type='function'/>
<exports symbol='xmlCopyError' type='function'/>
<exports symbol='xmlCtxtGetLastError' type='function'/>
@@ -2754,6 +2732,8 @@
<exports symbol='xmlSetGenericErrorFunc' type='function'/>
<exports symbol='xmlSetStructuredErrorFunc' type='function'/>
<exports symbol='xmlStructuredErrorFunc' type='function'/>
+ <exports symbol='xmlThrDefSetGenericErrorFunc' type='function'/>
+ <exports symbol='xmlThrDefSetStructuredErrorFunc' type='function'/>
</file>
<file name='xmlexports'>
<summary>macros for marking symbols as exportable/importable.</summary>
@@ -2765,11 +2745,11 @@
<summary>interface for the memory allocator</summary>
<description>provides interfaces for the memory allocator, including debugging capabilities. </description>
<author>Daniel Veillard </author>
- <exports symbol='DEBUG_MEMORY' type='macro'/>
- <exports symbol='xmlMalloc' type='macro'/>
- <exports symbol='xmlMallocAtomic' type='macro'/>
- <exports symbol='xmlMemStrdup' type='macro'/>
- <exports symbol='xmlRealloc' type='macro'/>
+ <exports symbol='xmlFree' type='variable'/>
+ <exports symbol='xmlMalloc' type='variable'/>
+ <exports symbol='xmlMallocAtomic' type='variable'/>
+ <exports symbol='xmlMemStrdup' type='variable'/>
+ <exports symbol='xmlRealloc' type='variable'/>
<exports symbol='xmlCleanupMemory' type='function'/>
<exports symbol='xmlFreeFunc' type='function'/>
<exports symbol='xmlGcMemGet' type='function'/>
@@ -2933,6 +2913,7 @@
<exports symbol='xmlTextReaderSchemaValidate' type='function'/>
<exports symbol='xmlTextReaderSchemaValidateCtxt' type='function'/>
<exports symbol='xmlTextReaderSetErrorHandler' type='function'/>
+ <exports symbol='xmlTextReaderSetMaxAmplification' type='function'/>
<exports symbol='xmlTextReaderSetParserProp' type='function'/>
<exports symbol='xmlTextReaderSetSchema' type='function'/>
<exports symbol='xmlTextReaderSetStructuredErrorHandler' type='function'/>
@@ -3019,6 +3000,9 @@
<exports symbol='xmlSaveToFilename' type='function'/>
<exports symbol='xmlSaveToIO' type='function'/>
<exports symbol='xmlSaveTree' type='function'/>
+ <exports symbol='xmlThrDefIndentTreeOutput' type='function'/>
+ <exports symbol='xmlThrDefSaveNoEmptyTags' type='function'/>
+ <exports symbol='xmlThrDefTreeIndentString' type='function'/>
</file>
<file name='xmlschemas'>
<summary>incomplete XML Schemas structure implementation</summary>
@@ -3348,10 +3332,7 @@
<summary>compile-time version information</summary>
<description>compile-time version information for the XML library </description>
<author>Daniel Veillard </author>
- <exports symbol='ATTRIBUTE_UNUSED' type='macro'/>
<exports symbol='DEBUG_MEMORY_LOCATION' type='macro'/>
- <exports symbol='LIBXML_ATTR_ALLOC_SIZE' type='macro'/>
- <exports symbol='LIBXML_ATTR_FORMAT' type='macro'/>
<exports symbol='LIBXML_AUTOMATA_ENABLED' type='macro'/>
<exports symbol='LIBXML_C14N_ENABLED' type='macro'/>
<exports symbol='LIBXML_CATALOG_ENABLED' type='macro'/>
@@ -3791,9 +3772,6 @@
</file>
</files>
<symbols>
- <macro name='ATTRIBUTE_UNUSED' file='xmlversion'>
- <info>Macro used to signal to GCC unused function parameters</info>
- </macro>
<macro name='BAD_CAST' file='xmlstring'>
<info>Macro to cast a string to an xmlChar * when one know its safe.</info>
</macro>
@@ -3827,9 +3805,6 @@
<info>Macro to check that the value on top of the XPath stack is of a given type. Return(0) in case of failure</info>
<arg name='typeval' info='the XPath type'/>
</macro>
- <macro name='DEBUG_MEMORY' file='xmlmemory'>
- <info>DEBUG_MEMORY replaces the allocator with a collect and debug shell to the libc allocator. DEBUG_MEMORY should only be activated when debugging libxml i.e. if libxml has been configured with --with-debug-mem too. #define DEBUG_MEMORY_FREED #define DEBUG_MEMORY_LOCATION</info>
- </macro>
<macro name='DEBUG_MEMORY_LOCATION' file='xmlversion'>
<info>Whether the memory debugging is configured in</info>
</macro>
@@ -3933,12 +3908,6 @@
<macro name='LIBXML2_NEW_BUFFER' file='tree'>
<info>Macro used to express that the API use the new buffers for xmlParserInputBuffer and xmlOutputBuffer. The change was introduced in 2.9.0.</info>
</macro>
- <macro name='LIBXML_ATTR_ALLOC_SIZE' file='xmlversion'>
- <info>Macro used to indicate to GCC this is an allocator function</info>
- </macro>
- <macro name='LIBXML_ATTR_FORMAT' file='xmlversion'>
- <info>Macro used to indicate to GCC the parameter are printf like</info>
- </macro>
<macro name='LIBXML_AUTOMATA_ENABLED' file='xmlversion'>
<info>Whether the automata interfaces are compiled in</info>
</macro>
@@ -4814,6 +4783,12 @@ and not by parsing an instance'/>
<enum name='XML_ELEMENT_TYPE_EMPTY' file='tree' value='1' type='xmlElementTypeVal'/>
<enum name='XML_ELEMENT_TYPE_MIXED' file='tree' value='3' type='xmlElementTypeVal'/>
<enum name='XML_ELEMENT_TYPE_UNDEFINED' file='tree' value='0' type='xmlElementTypeVal'/>
+ <enum name='XML_ENC_ERR_INPUT' file='encoding' value='-2' type='xmlCharEncError'/>
+ <enum name='XML_ENC_ERR_INTERNAL' file='encoding' value='-4' type='xmlCharEncError'/>
+ <enum name='XML_ENC_ERR_MEMORY' file='encoding' value='-5' type='xmlCharEncError'/>
+ <enum name='XML_ENC_ERR_PARTIAL' file='encoding' value='-3' type='xmlCharEncError'/>
+ <enum name='XML_ENC_ERR_SPACE' file='encoding' value='-1' type='xmlCharEncError'/>
+ <enum name='XML_ENC_ERR_SUCCESS' file='encoding' value='0' type='xmlCharEncError'/>
<enum name='XML_ENTITY_DECL' file='tree' value='17' type='xmlElementType'/>
<enum name='XML_ENTITY_NODE' file='tree' value='6' type='xmlElementType'/>
<enum name='XML_ENTITY_REF_NODE' file='tree' value='5' type='xmlElementType'/>
@@ -5069,7 +5044,7 @@ and not by parsing an instance'/>
<enum name='XML_PARSER_MISC' file='parser' value='1' type='xmlParserInputState' info='Misc* before int subset'/>
<enum name='XML_PARSER_PI' file='parser' value='2' type='xmlParserInputState' info='Within a processing instruction'/>
<enum name='XML_PARSER_PROLOG' file='parser' value='4' type='xmlParserInputState' info='Misc* after internal subset'/>
- <enum name='XML_PARSER_PUBLIC_LITERAL' file='parser' value='16' type='xmlParserInputState' info=' within a PUBLIC value'/>
+ <enum name='XML_PARSER_PUBLIC_LITERAL' file='parser' value='16' type='xmlParserInputState' info='within a PUBLIC value'/>
<enum name='XML_PARSER_SEVERITY_ERROR' file='xmlreader' value='4' type='xmlParserSeverities'/>
<enum name='XML_PARSER_SEVERITY_VALIDITY_ERROR' file='xmlreader' value='2' type='xmlParserSeverities'/>
<enum name='XML_PARSER_SEVERITY_VALIDITY_WARNING' file='xmlreader' value='1' type='xmlParserSeverities'/>
@@ -5079,6 +5054,7 @@ and not by parsing an instance'/>
<enum name='XML_PARSER_SUBST_ENTITIES' file='xmlreader' value='4' type='xmlParserProperties'/>
<enum name='XML_PARSER_SYSTEM_LITERAL' file='parser' value='13' type='xmlParserInputState' info='within a SYSTEM value'/>
<enum name='XML_PARSER_VALIDATE' file='xmlreader' value='3' type='xmlParserProperties'/>
+ <enum name='XML_PARSER_XML_DECL' file='parser' value='17' type='xmlParserInputState' info=' before XML decl (but after BOM)'/>
<enum name='XML_PARSE_BIG_LINES' file='parser' value='4194304' type='xmlParserOption' info=' Store big lines numbers in text PSVI field'/>
<enum name='XML_PARSE_COMPACT' file='parser' value='65536' type='xmlParserOption' info='compact small text nodes; no modification of
the tree allowed afterwards (will possibly
@@ -5733,6 +5709,7 @@ crash if you try to modify the tree)'/>
<enum name='XML_TREE_NOT_UTF8' file='xmlerror' value='1303' type='xmlParserErrors' info='1303'/>
<enum name='XML_TREE_UNTERMINATED_ENTITY' file='xmlerror' value='1302' type='xmlParserErrors' info='1302'/>
<enum name='XML_WAR_CATALOG_PI' file='xmlerror' value='93' type='xmlParserErrors' info='93'/>
+ <enum name='XML_WAR_ENCODING_MISMATCH' file='xmlerror' value='113' type='xmlParserErrors' info='113'/>
<enum name='XML_WAR_ENTITY_REDEFINED' file='xmlerror' value='107' type='xmlParserErrors' info='107'/>
<enum name='XML_WAR_LANG_VALUE' file='xmlerror' value='98' type='xmlParserErrors' info='98'/>
<enum name='XML_WAR_NS_COLUMN' file='xmlerror' value='106' type='xmlParserErrors' info='106'/>
@@ -5929,6 +5906,7 @@ if necessary or NULL'/>
<field name='atype' type='xmlAttributeType' info=' the attribute type if validating'/>
<field name='psvi' type='void *' info=' for type/PSVI information'/>
</struct>
+ <struct name='xmlAttrHashBucket' file='parser' type='struct _xmlAttrHashBucket'/>
<typedef name='xmlAttrPtr' file='tree' type='xmlAttr *'/>
<struct name='xmlAttribute' file='tree' type='struct _xmlAttribute'>
<field name='_private' type='void *' info=' application data'/>
@@ -5999,6 +5977,7 @@ if necessary or NULL'/>
<typedef name='xmlChar' file='xmlstring' type='unsigned char'>
<info>This is a basic byte in an UTF-8 encoded string. It&apos;s unsigned allowing to pinpoint case where char * are assigned to xmlChar * (possibly making serialization back impossible).</info>
</typedef>
+ <typedef name='xmlCharEncError' file='encoding' type='enum'/>
<typedef name='xmlCharEncoding' file='encoding' type='enum'/>
<struct name='xmlCharEncodingHandler' file='encoding' type='struct _xmlCharEncodingHandler'>
<field name='name' type='char *' info=''/>
@@ -6045,12 +6024,11 @@ standalone attribute was specified'/>
<field name='extSubset' type='struct _xmlDtd *' info=' the document external subset'/>
<field name='oldNs' type='struct _xmlNs *' info=' Global namespace, the old way'/>
<field name='version' type='const xmlChar *' info=' the XML version string'/>
- <field name='encoding' type='const xmlChar *' info=' external initial encoding, if any'/>
+ <field name='encoding' type='const xmlChar *' info=' actual encoding, if any'/>
<field name='ids' type='void *' info=' Hash table for ID attributes if any'/>
<field name='refs' type='void *' info=' Hash table for IDREFs attributes if any'/>
<field name='URL' type='const xmlChar *' info=' The URI for that document'/>
- <field name='charset' type='int' info=' Internal flag for charset handling,
-actually an xmlCharEncoding'/>
+ <field name='charset' type='int' info=' unused'/>
<field name='dict' type='struct _xmlDict *' info=' dict used to allocate names or NULL'/>
<field name='psvi' type='void *' info=' for type/PSVI information'/>
<field name='parseFlags' type='int' info=' set of xmlParserOption used to parse the
@@ -6168,41 +6146,7 @@ set at the end of parsing'/>
<typedef name='xmlExpNodePtr' file='xmlregexp' type='xmlExpNode *'/>
<typedef name='xmlExpNodeType' file='xmlregexp' type='enum'/>
<typedef name='xmlFeature' file='parser' type='enum'/>
- <struct name='xmlGlobalState' file='globals' type='struct _xmlGlobalState'>
- <field name='xmlParserVersion' type='const char *' info=''/>
- <field name='xmlDefaultSAXLocator' type='xmlSAXLocator' info=''/>
- <field name='xmlDefaultSAXHandler' type='xmlSAXHandlerV1' info=''/>
- <field name='docbDefaultSAXHandler' type='xmlSAXHandlerV1' info=' unused'/>
- <field name='htmlDefaultSAXHandler' type='xmlSAXHandlerV1' info=''/>
- <field name='xmlFree' type='xmlFreeFunc' info=''/>
- <field name='xmlMalloc' type='xmlMallocFunc' info=''/>
- <field name='xmlMemStrdup' type='xmlStrdupFunc' info=''/>
- <field name='xmlRealloc' type='xmlReallocFunc' info=''/>
- <field name='xmlGenericError' type='xmlGenericErrorFunc' info=''/>
- <field name='xmlStructuredError' type='xmlStructuredErrorFunc' info=''/>
- <field name='xmlGenericErrorContext' type='void *' info=''/>
- <field name='oldXMLWDcompatibility' type='int' info=''/>
- <field name='xmlBufferAllocScheme' type='xmlBufferAllocationScheme' info=''/>
- <field name='xmlDefaultBufferSize' type='int' info=''/>
- <field name='xmlSubstituteEntitiesDefaultValue' type='int' info=''/>
- <field name='xmlDoValidityCheckingDefaultValue' type='int' info=''/>
- <field name='xmlGetWarningsDefaultValue' type='int' info=''/>
- <field name='xmlKeepBlanksDefaultValue' type='int' info=''/>
- <field name='xmlLineNumbersDefaultValue' type='int' info=''/>
- <field name='xmlLoadExtDtdDefaultValue' type='int' info=''/>
- <field name='xmlParserDebugEntities' type='int' info=''/>
- <field name='xmlPedanticParserDefaultValue' type='int' info=''/>
- <field name='xmlSaveNoEmptyTags' type='int' info=''/>
- <field name='xmlIndentTreeOutput' type='int' info=''/>
- <field name='xmlTreeIndentString' type='const char *' info=''/>
- <field name='xmlRegisterNodeDefaultValue' type='xmlRegisterNodeFunc' info=''/>
- <field name='xmlDeregisterNodeDefaultValue' type='xmlDeregisterNodeFunc' info=''/>
- <field name='xmlMallocAtomic' type='xmlMallocFunc' info=''/>
- <field name='xmlLastError' type='xmlError' info=''/>
- <field name='xmlParserInputBufferCreateFilenameValue' type='xmlParserInputBufferCreateFilenameFunc' info=''/>
- <field name='xmlOutputBufferCreateFilenameValue' type='xmlOutputBufferCreateFilenameFunc' info=''/>
- <field name='xmlStructuredErrorContext' type='void *' info=''/>
- </struct>
+ <struct name='xmlGlobalState' file='globals' type='struct _xmlGlobalState'/>
<typedef name='xmlGlobalStatePtr' file='globals' type='xmlGlobalState *'/>
<struct name='xmlHashTable' file='hash' type='struct _xmlHashTable'/>
<typedef name='xmlHashTablePtr' file='hash' type='xmlHashTable *'/>
@@ -6339,8 +6283,7 @@ set at the end of parsing'/>
<field name='spaceTab' type='int *' info=' array of space infos'/>
<field name='depth' type='int' info=' to prevent entity substitution loops'/>
<field name='entity' type='xmlParserInputPtr' info=' used to check entities boundaries'/>
- <field name='charset' type='int' info=' encoding of the in-memory content
-actually an xmlCharEncoding'/>
+ <field name='charset' type='int' info=' unused'/>
<field name='nodelen' type='int' info=' Those two fields are there to'/>
<field name='nodemem' type='int' info=' Speed up large node parsing'/>
<field name='pedantic' type='int' info=' signal pedantic warnings'/>
@@ -6363,7 +6306,7 @@ actually an xmlCharEncoding'/>
<field name='nsNr' type='int' info=' the number of inherited namespaces'/>
<field name='nsMax' type='int' info=' the size of the arrays'/>
<field name='nsTab' type='const xmlChar * *' info=' the array of prefix/namespace name'/>
- <field name='attallocs' type='int *' info=' which attribute were allocated'/>
+ <field name='attallocs' type='unsigned *' info=' which attribute were allocated'/>
<field name='pushTab' type='xmlStartTag *' info=' array of data for push'/>
<field name='attsDefault' type='xmlHashTablePtr' info=' defaulted attributes if any'/>
<field name='attsSpecial' type='xmlHashTablePtr' info=' non-CDATA attributes if any'/>
@@ -6389,6 +6332,10 @@ actually an xmlCharEncoding'/>
<field name='endCheckState' type='int' info=' quote state for push parser'/>
<field name='nbErrors' type='unsigned short' info=' number of errors'/>
<field name='nbWarnings' type='unsigned short' info=' number of warnings'/>
+ <field name='maxAmpl' type='unsigned' info=' maximum amplification factor'/>
+ <field name='nsdb' type='xmlParserNsData *' info=' namespace database'/>
+ <field name='attrHashMax' type='unsigned' info=' allocated size'/>
+ <field name='attrHash' type='xmlAttrHashBucket *' info=' atttribute hash table'/>
</struct>
<typedef name='xmlParserCtxtPtr' file='tree' type='xmlParserCtxt *'/>
<typedef name='xmlParserErrors' file='xmlerror' type='enum'/>
@@ -6404,9 +6351,9 @@ actually an xmlCharEncoding'/>
<field name='col' type='int' info=' Current column'/>
<field name='consumed' type='unsigned long' info=' How many xmlChars already consumed'/>
<field name='free' type='xmlParserInputDeallocate' info=' function to deallocate the base'/>
- <field name='encoding' type='const xmlChar *' info=' the encoding string for entity'/>
+ <field name='encoding' type='const xmlChar *' info=' unused'/>
<field name='version' type='const xmlChar *' info=' the version string for entity'/>
- <field name='standalone' type='int' info=' Was that entity marked standalone'/>
+ <field name='flags' type='int' info=' Flags'/>
<field name='id' type='int' info=' an unique identifier for the entity'/>
<field name='parentConsumed' type='unsigned long' info=' consumed bytes from parents'/>
<field name='entity' type='xmlEntityPtr' info=' entity, if any'/>
@@ -6440,6 +6387,7 @@ actually an xmlCharEncoding'/>
<field name='buffer' type='xmlParserNodeInfo *' info=''/>
</struct>
<typedef name='xmlParserNodeInfoSeqPtr' file='parser' type='xmlParserNodeInfoSeq *'/>
+ <struct name='xmlParserNsData' file='parser' type='struct _xmlParserNsData'/>
<typedef name='xmlParserOption' file='parser' type='enum'/>
<typedef name='xmlParserProperties' file='xmlreader' type='enum'/>
<typedef name='xmlParserSeverities' file='xmlreader' type='enum'/>
@@ -6903,7 +6851,7 @@ Could we use @subtypes for this?'/>
<field name='comp' type='xmlXPathCompExprPtr' info=' the precompiled expression'/>
<field name='xptr' type='int' info=' it this an XPointer expression'/>
<field name='ancestor' type='xmlNodePtr' info=' used for walking preceding axis'/>
- <field name='valueFrame' type='int' info=' unused'/>
+ <field name='valueFrame' type='int' info=' always zero for compatibility'/>
</struct>
<typedef name='xmlXPathParserContextPtr' file='xpath' type='xmlXPathParserContext *'/>
<struct name='xmlXPathType' file='xpath' type='struct _xmlXPathType'>
@@ -6918,45 +6866,9 @@ Could we use @subtypes for this?'/>
<typedef name='xmlXPathVariablePtr' file='xpath' type='xmlXPathVariable *'/>
<variable name='emptyExp' file='xmlregexp' type='xmlExpNodePtr'/>
<variable name='forbiddenExp' file='xmlregexp' type='xmlExpNodePtr'/>
- <variable name='htmlDefaultSAXHandler' file='globals' type='xmlSAXHandlerV1'>
- <info>DEPRECATED: This handler is unused and will be removed from future versions. Default old SAX v1 handler for HTML, builds the DOM tree</info>
- </variable>
- <variable name='oldXMLWDcompatibility' file='globals' type='int'>
- <info>Global setting, DEPRECATED.</info>
- </variable>
- <variable name='xmlBufferAllocScheme' file='globals' type='xmlBufferAllocationScheme'>
- <info>DEPRECATED: Don&apos;t use. Global setting, default allocation policy for buffers, default is XML_BUFFER_ALLOC_EXACT</info>
- </variable>
- <variable name='xmlDefaultBufferSize' file='globals' type='int'>
- <info>DEPRECATED: Don&apos;t use. Global setting, default buffer size. Default value is BASE_BUFFER_SIZE</info>
- </variable>
- <variable name='xmlDefaultSAXHandler' file='globals' type='xmlSAXHandlerV1'>
- <info>DEPRECATED: This handler is unused and will be removed from future versions. Default SAX version1 handler for XML, builds the DOM tree</info>
- </variable>
- <variable name='xmlDefaultSAXLocator' file='globals' type='xmlSAXLocator'>
- <info>DEPRECATED: Don&apos;t use The default SAX Locator { getPublicId, getSystemId, getLineNumber, getColumnNumber}</info>
- </variable>
- <variable name='xmlDeregisterNodeDefaultValue' file='globals' type='xmlDeregisterNodeFunc'>
- <info>DEPRECATED: Don&apos;t use</info>
- </variable>
- <variable name='xmlDoValidityCheckingDefaultValue' file='globals' type='int'>
- <info>DEPRECATED: Use the modern options API with XML_PARSE_DTDVALID. Global setting, indicate that the parser should work in validating mode. Disabled by default.</info>
- </variable>
- <variable name='xmlFree' file='globals' type='xmlFreeFunc'>
+ <variable name='xmlFree' file='xmlmemory' type='xmlFreeFunc'>
<info>@mem: an already allocated block of memory The variable holding the libxml free() implementation</info>
</variable>
- <variable name='xmlGenericError' file='globals' type='xmlGenericErrorFunc'>
- <info>Global setting: function used for generic error callbacks</info>
- </variable>
- <variable name='xmlGenericErrorContext' file='globals' type='void *'>
- <info>Global setting passed to generic error callbacks</info>
- </variable>
- <variable name='xmlGetWarningsDefaultValue' file='globals' type='int'>
- <info>DEPRECATED: Don&apos;t use Global setting, indicate that the DTD validation should provide warnings. Activated by default.</info>
- </variable>
- <variable name='xmlIndentTreeOutput' file='globals' type='int'>
- <info>Global setting, asking the serializer to indent the output tree by default Enabled by default</info>
- </variable>
<variable name='xmlIsBaseCharGroup' file='chvalid' type='const xmlChRangeGroup'/>
<variable name='xmlIsCharGroup' file='chvalid' type='const xmlChRangeGroup'/>
<variable name='xmlIsCombiningGroup' file='chvalid' type='const xmlChRangeGroup'/>
@@ -6964,67 +6876,27 @@ Could we use @subtypes for this?'/>
<variable name='xmlIsExtenderGroup' file='chvalid' type='const xmlChRangeGroup'/>
<variable name='xmlIsIdeographicGroup' file='chvalid' type='const xmlChRangeGroup'/>
<variable name='xmlIsPubidChar_tab' file='chvalid' type='const unsigned charxmlIsPubidChar_tab[256]'/>
- <variable name='xmlKeepBlanksDefaultValue' file='globals' type='int'>
- <info>DEPRECATED: Use the modern options API with XML_PARSE_NOBLANKS. Global setting, indicate that the parser should keep all blanks nodes found in the content Activated by default, this is actually needed to have the parser conformant to the XML Recommendation, however the option is kept for some applications since this was libxml1 default behaviour.</info>
- </variable>
- <variable name='xmlLastError' file='globals' type='xmlError'/>
- <variable name='xmlLineNumbersDefaultValue' file='globals' type='int'>
- <info>DEPRECATED: The modern options API always enables line numbers. Global setting, indicate that the parser should store the line number in the content field of elements in the DOM tree. Disabled by default since this may not be safe for old classes of application.</info>
- </variable>
- <variable name='xmlLoadExtDtdDefaultValue' file='globals' type='int'>
- <info>DEPRECATED: Use the modern options API with XML_PARSE_DTDLOAD. Global setting, indicate that the parser should load DTD while not validating. Disabled by default.</info>
- </variable>
- <variable name='xmlMalloc' file='globals' type='xmlMallocFunc'>
+ <variable name='xmlMalloc' file='xmlmemory' type='xmlMallocFunc'>
<info>@size: the size requested in bytes The variable holding the libxml malloc() implementation Returns a pointer to the newly allocated block or NULL in case of error</info>
</variable>
- <variable name='xmlMallocAtomic' file='globals' type='xmlMallocFunc'>
+ <variable name='xmlMallocAtomic' file='xmlmemory' type='xmlMallocFunc'>
<info>@size: the size requested in bytes The variable holding the libxml malloc() implementation for atomic data (i.e. blocks not containing pointers), useful when using a garbage collecting allocator. Returns a pointer to the newly allocated block or NULL in case of error</info>
</variable>
- <variable name='xmlMemStrdup' file='globals' type='xmlStrdupFunc'>
+ <variable name='xmlMemStrdup' file='xmlmemory' type='xmlStrdupFunc'>
<info>@str: a zero terminated string The variable holding the libxml strdup() implementation Returns the copy of the string or NULL in case of error</info>
</variable>
- <variable name='xmlOutputBufferCreateFilenameValue' file='globals' type='xmlOutputBufferCreateFilenameFunc'>
- <info>DEPRECATED: Don&apos;t use</info>
- </variable>
- <variable name='xmlParserDebugEntities' file='globals' type='int'>
- <info>DEPRECATED: Don&apos;t use Global setting, asking the parser to print out debugging information. while handling entities. Disabled by default</info>
- </variable>
- <variable name='xmlParserInputBufferCreateFilenameValue' file='globals' type='xmlParserInputBufferCreateFilenameFunc'>
- <info>DEPRECATED: Don&apos;t use</info>
- </variable>
<variable name='xmlParserMaxDepth' file='parserInternals' type='unsigned int'>
<info>arbitrary depth limit for the XML documents that we allow to process. This is not a limitation of the parser but a safety boundary feature. It can be disabled with the XML_PARSE_HUGE parser option.</info>
</variable>
- <variable name='xmlParserVersion' file='globals' type='const char *'>
+ <variable name='xmlParserVersion' file='parser' type='const char * const'>
<info>Constant string describing the internal version of the library</info>
</variable>
- <variable name='xmlPedanticParserDefaultValue' file='globals' type='int'>
- <info>DEPRECATED: Use the modern options API with XML_PARSE_PEDANTIC. Global setting, indicate that the parser be pedantic Disabled by default.</info>
- </variable>
- <variable name='xmlRealloc' file='globals' type='xmlReallocFunc'>
+ <variable name='xmlRealloc' file='xmlmemory' type='xmlReallocFunc'>
<info>@mem: an already allocated block of memory @size: the new size requested in bytes The variable holding the libxml realloc() implementation Returns a pointer to the newly reallocated block or NULL in case of error</info>
</variable>
- <variable name='xmlRegisterNodeDefaultValue' file='globals' type='xmlRegisterNodeFunc'>
- <info>DEPRECATED: Don&apos;t use</info>
- </variable>
- <variable name='xmlSaveNoEmptyTags' file='globals' type='int'>
- <info>Global setting, asking the serializer to not output empty tags as &lt;empty/&gt; but &lt;empty&gt;&lt;/empty&gt;. those two forms are indistinguishable once parsed. Disabled by default</info>
- </variable>
<variable name='xmlStringComment' file='parserInternals' type='const xmlCharxmlStringComment[]'/>
<variable name='xmlStringText' file='parserInternals' type='const xmlCharxmlStringText[]'/>
<variable name='xmlStringTextNoenc' file='parserInternals' type='const xmlCharxmlStringTextNoenc[]'/>
- <variable name='xmlStructuredError' file='globals' type='xmlStructuredErrorFunc'>
- <info>Global setting: function used for structured error callbacks</info>
- </variable>
- <variable name='xmlStructuredErrorContext' file='globals' type='void *'>
- <info>Global setting passed to structured error callbacks</info>
- </variable>
- <variable name='xmlSubstituteEntitiesDefaultValue' file='globals' type='int'>
- <info>DEPRECATED: Use the modern options API with XML_PARSE_NOENT. Global setting, indicate that the parser should not generate entity references but replace them with the actual content of the entity Disabled by default, this should be activated when using XPath since the XPath data model requires entities replacement and the XPath engine does not handle entities references transparently.</info>
- </variable>
- <variable name='xmlTreeIndentString' file='globals' type='const char *'>
- <info>The string used to do one-level indent. By default is equal to &quot; &quot; (two spaces)</info>
- </variable>
<variable name='xmlXPathNAN' file='xpath' type='double'/>
<variable name='xmlXPathNINF' file='xpath' type='double'/>
<variable name='xmlXPathPINF' file='xpath' type='double'/>
@@ -7040,7 +6912,7 @@ Could we use @subtypes for this?'/>
<function name='UTF8Toisolat1' file='encoding' module='encoding'>
<cond>defined(LIBXML_OUTPUT_ENABLED)</cond>
<info>Take a block of UTF-8 chars in and try to convert it to an ISO Latin 1 block of chars out.</info>
- <return type='int' info='the number of bytes written if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets produced.'/>
+ <return type='int' info='the number of bytes written or an XML_ENC_ERR code. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets produced.'/>
<arg name='out' type='unsigned char *' info='a pointer to an array of bytes to store the result'/>
<arg name='outlen' type='int *' info='the length of @out'/>
<arg name='in' type='const unsigned char *' info='a pointer to an array of UTF-8 chars'/>
@@ -7392,7 +7264,7 @@ Could we use @subtypes for this?'/>
<info>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</info>
<return type='htmlDocPtr' info='the resulting document tree'/>
<arg name='ctxt' type='htmlParserCtxtPtr' info='an HTML parser context'/>
- <arg name='cur' type='const xmlChar *' info='a pointer to a zero terminated string'/>
+ <arg name='str' type='const xmlChar *' info='a pointer to a zero terminated string'/>
<arg name='URL' type='const char *' info='the base URL to use for the document'/>
<arg name='encoding' type='const char *' info='the document encoding, or NULL'/>
<arg name='options' type='int' info='a combination of htmlParserOption(s)'/>
@@ -7878,7 +7750,7 @@ Could we use @subtypes for this?'/>
</functype>
<function name='isolat1ToUTF8' file='encoding' module='encoding'>
<info>Take a block of ISO Latin 1 chars in and try to convert it to an UTF-8 block of chars out.</info>
- <return type='int' info='the number of bytes written if success, or -1 otherwise The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets produced.'/>
+ <return type='int' info='the number of bytes written or an XML_ENC_ERR code. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets produced.'/>
<arg name='out' type='unsigned char *' info='a pointer to an array of bytes to store the result'/>
<arg name='outlen' type='int *' info='the length of @out'/>
<arg name='in' type='const unsigned char *' info='a pointer to an array of ISO Latin 1 chars'/>
@@ -8565,8 +8437,8 @@ Could we use @subtypes for this?'/>
<arg name='size' type='size_t' info='initial size of buffer'/>
</function>
<function name='xmlBufferCreateStatic' file='tree' module='tree'>
- <info>Create an XML buffer initialized with bytes.</info>
- <return type='xmlBufferPtr' info=''/>
+ <info></info>
+ <return type='xmlBufferPtr' info='an XML buffer initialized with bytes.'/>
<arg name='mem' type='void *' info='the memory area'/>
<arg name='size' type='size_t' info='the size in byte'/>
</function>
@@ -8664,7 +8536,7 @@ Could we use @subtypes for this?'/>
<arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
</function>
<function name='xmlC14NDocDumpMemory' file='c14n' module='c14n'>
- <cond>defined(LIBXML_C14N_ENABLED) &amp;&amp; defined(LIBXML_OUTPUT_ENABLED)</cond>
+ <cond>defined(LIBXML_C14N_ENABLED)</cond>
<info>Dumps the canonized image of given XML document into memory. For details see &quot;Canonical XML&quot; (http://www.w3.org/TR/xml-c14n) or &quot;Exclusive XML Canonicalization&quot; (http://www.w3.org/TR/xml-exc-c14n)</info>
<return type='int' info='the number of bytes written on success or a negative value on fail'/>
<arg name='doc' type='xmlDocPtr' info='the XML document for canonization'/>
@@ -8675,7 +8547,7 @@ Could we use @subtypes for this?'/>
<arg name='doc_txt_ptr' type='xmlChar **' info='the memory pointer for allocated canonical XML text; the caller of this functions is responsible for calling xmlFree() to free allocated memory'/>
</function>
<function name='xmlC14NDocSave' file='c14n' module='c14n'>
- <cond>defined(LIBXML_C14N_ENABLED) &amp;&amp; defined(LIBXML_OUTPUT_ENABLED)</cond>
+ <cond>defined(LIBXML_C14N_ENABLED)</cond>
<info>Dumps the canonized image of given XML document into the file. For details see &quot;Canonical XML&quot; (http://www.w3.org/TR/xml-c14n) or &quot;Exclusive XML Canonicalization&quot; (http://www.w3.org/TR/xml-exc-c14n)</info>
<return type='int' info='the number of bytes written success or a negative value on fail'/>
<arg name='doc' type='xmlDocPtr' info='the XML document for canonization'/>
@@ -8687,7 +8559,7 @@ Could we use @subtypes for this?'/>
<arg name='compression' type='int' info='the compression level (zlib required): -1 - libxml default, 0 - uncompressed, &gt;0 - compression level'/>
</function>
<function name='xmlC14NDocSaveTo' file='c14n' module='c14n'>
- <cond>defined(LIBXML_C14N_ENABLED) &amp;&amp; defined(LIBXML_OUTPUT_ENABLED)</cond>
+ <cond>defined(LIBXML_C14N_ENABLED)</cond>
<info>Dumps the canonized image of given XML document into the provided buffer. For details see &quot;Canonical XML&quot; (http://www.w3.org/TR/xml-c14n) or &quot;Exclusive XML Canonicalization&quot; (http://www.w3.org/TR/xml-exc-c14n)</info>
<return type='int' info='non-negative value on success or a negative value on fail'/>
<arg name='doc' type='xmlDocPtr' info='the XML document for canonization'/>
@@ -8698,7 +8570,7 @@ Could we use @subtypes for this?'/>
<arg name='buf' type='xmlOutputBufferPtr' info='the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output'/>
</function>
<function name='xmlC14NExecute' file='c14n' module='c14n'>
- <cond>defined(LIBXML_C14N_ENABLED) &amp;&amp; defined(LIBXML_OUTPUT_ENABLED)</cond>
+ <cond>defined(LIBXML_C14N_ENABLED)</cond>
<info>Dumps the canonized image of given XML document into the provided buffer. For details see &quot;Canonical XML&quot; (http://www.w3.org/TR/xml-c14n) or &quot;Exclusive XML Canonicalization&quot; (http://www.w3.org/TR/xml-exc-c14n)</info>
<return type='int' info='non-negative value on success or a negative value on fail'/>
<arg name='doc' type='xmlDocPtr' info='the XML document for canonization'/>
@@ -8710,7 +8582,7 @@ Could we use @subtypes for this?'/>
<arg name='buf' type='xmlOutputBufferPtr' info='the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires UTF-8 output'/>
</function>
<functype name='xmlC14NIsVisibleCallback' file='c14n' module='c14n'>
- <cond>defined(LIBXML_C14N_ENABLED) &amp;&amp; defined(LIBXML_OUTPUT_ENABLED)</cond>
+ <cond>defined(LIBXML_C14N_ENABLED)</cond>
<info>Signature for a C14N callback on visible nodes</info>
<return type='int' info='1 if the node should be included'/>
<arg name='user_data' type='void *' info='user data'/>
@@ -8853,21 +8725,21 @@ Could we use @subtypes for this?'/>
</function>
<function name='xmlCharEncFirstLine' file='encoding' module='encoding'>
<info>DEPERECATED: Don&apos;t use.</info>
- <return type='int' info=''/>
+ <return type='int' info='the number of bytes written or an XML_ENC_ERR code.'/>
<arg name='handler' type='xmlCharEncodingHandler *' info='char encoding transformation data structure'/>
<arg name='out' type='xmlBufferPtr' info='an xmlBuffer for the output.'/>
<arg name='in' type='xmlBufferPtr' info='an xmlBuffer for the input'/>
</function>
<function name='xmlCharEncInFunc' file='encoding' module='encoding'>
<info>Generic front-end for the encoding handler input function</info>
- <return type='int' info='the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can&apos;t fit into the encoding we want), or'/>
+ <return type='int' info='the number of bytes written or an XML_ENC_ERR code.'/>
<arg name='handler' type='xmlCharEncodingHandler *' info='char encoding transformation data structure'/>
<arg name='out' type='xmlBufferPtr' info='an xmlBuffer for the output.'/>
<arg name='in' type='xmlBufferPtr' info='an xmlBuffer for the input'/>
</function>
<function name='xmlCharEncOutFunc' file='encoding' module='encoding'>
<info>Generic front-end for the encoding handler output function a first call with @in == NULL has to be made firs to initiate the output in case of non-stateless encoding needing to initiate their state or the output (like the BOM in UTF16). In case of UTF8 sequence conversion errors for the given encoder, the content will be automatically remapped to a CharRef sequence.</info>
- <return type='int' info='the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the result of transformation can&apos;t fit into the encoding we want), or'/>
+ <return type='int' info='the number of bytes written or an XML_ENC_ERR code.'/>
<arg name='handler' type='xmlCharEncodingHandler *' info='char encoding transformation data structure'/>
<arg name='out' type='xmlBufferPtr' info='an xmlBuffer for the output.'/>
<arg name='in' type='xmlBufferPtr' info='an xmlBuffer for the input'/>
@@ -8921,6 +8793,10 @@ Could we use @subtypes for this?'/>
<return type='int' info='1 if correct 0 otherwise'/>
<arg name='lang' type='const xmlChar *' info='pointer to the string value'/>
</function>
+ <function name='xmlCheckThreadLocalStorage' file='threads' module='globals'>
+ <info>Check whether thread-local storage could be allocated. In cross-platform code running in multithreaded environments, this function should be called once in each thread before calling other library functions to make sure that thread-local storage was allocated properly.</info>
+ <return type='int' info='0 on success or -1 if a memory allocation failed. A failed allocation signals a typically fatal and irrecoverable out-of-memory situation. Don&apos;t call any library functions in this case. This function never fails if the library is compiled with support for thread-local storage. This function never fails for the &quot;main&quot; thread which is the first thread calling xmlInitParser. Available since v2.12.0.'/>
+ </function>
<function name='xmlCheckUTF8' file='xmlstring' module='xmlstring'>
<info>Checks @utf for being valid UTF-8. @utf is assumed to be null-terminated. This function is not super-strict, as it will allow longer UTF-8 sequences than necessary. Note that Java is capable of producing these sequences if provoked. Also note, this routine checks for the 4-byte maximum size, but does not check for 0x10ffff maximum value.</info>
<return type='int' info='value: true if @utf is valid.'/>
@@ -8962,7 +8838,7 @@ Could we use @subtypes for this?'/>
<info>clears the entire output callback table. this includes the compiled-in I/O callbacks.</info>
<return type='void'/>
</function>
- <function name='xmlCleanupParser' file='parser' module='parser'>
+ <function name='xmlCleanupParser' file='parser' module='threads'>
<info>This function name is somewhat misleading. It does not clean up parser state, it cleans up memory allocated by the library itself. It is a cleanup function for the XML library. It tries to reclaim all related global memory allocated for the library processing. It doesn&apos;t deallocate any document related memory. One should call xmlCleanupParser() only when the process has finished using the library and all XML/HTML documents built with it. See also xmlInitParser() which has the opposite function of preparing the library for operations. WARNING: if your application is multithreaded or has plugin support calling this may crash the application if another thread or a plugin is still using libxml2. It&apos;s sometimes very hard to guess if libxml2 is in use in the application, some libraries or plugins may use it without notice. In case of doubt abstain from calling this function or do it just before calling exit() to avoid leak reports from valgrind !</info>
<return type='void'/>
</function>
@@ -9055,7 +8931,7 @@ Could we use @subtypes for this?'/>
<function name='xmlCopyError' file='xmlerror' module='error'>
<info>Save the original error to the new place.</info>
<return type='int' info='0 in case of success and -1 in case of error.'/>
- <arg name='from' type='xmlErrorPtr' info='a source error'/>
+ <arg name='from' type='const xmlError *' info='a source error'/>
<arg name='to' type='xmlErrorPtr' info='a target error'/>
</function>
<function name='xmlCopyNamespace' file='tree' module='tree'>
@@ -9100,7 +8976,7 @@ Could we use @subtypes for this?'/>
<function name='xmlCreateDocParserCtxt' file='parser' module='parser'>
<info>Creates a parser context for an XML in-memory document.</info>
<return type='xmlParserCtxtPtr' info='the new parser context or NULL'/>
- <arg name='cur' type='const xmlChar *' info='a pointer to an array of xmlChar'/>
+ <arg name='str' type='const xmlChar *' info='a pointer to an array of xmlChar'/>
</function>
<function name='xmlCreateEntitiesTable' file='entities' module='entities'>
<info>create and initialize an empty entities hash table. This really doesn&apos;t make sense and should be deprecated</info>
@@ -9169,14 +9045,14 @@ Could we use @subtypes for this?'/>
</function>
<function name='xmlCtxtGetLastError' file='xmlerror' module='error'>
<info>Get the last parsing error registered.</info>
- <return type='xmlErrorPtr' info='NULL if no error occurred or a pointer to the error'/>
+ <return type='const xmlError *' info='NULL if no error occurred or a pointer to the error'/>
<arg name='ctx' type='void *' info='an XML parser context'/>
</function>
<function name='xmlCtxtReadDoc' file='parser' module='parser'>
<info>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</info>
<return type='xmlDocPtr' info='the resulting document tree'/>
<arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
- <arg name='cur' type='const xmlChar *' info='a pointer to a zero terminated string'/>
+ <arg name='str' type='const xmlChar *' info='a pointer to a zero terminated string'/>
<arg name='URL' type='const char *' info='the base URL to use for the document'/>
<arg name='encoding' type='const char *' info='the document encoding, or NULL'/>
<arg name='options' type='int' info='a combination of xmlParserOption'/>
@@ -9238,6 +9114,12 @@ Could we use @subtypes for this?'/>
<arg name='filename' type='const char *' info='an optional file name or URI'/>
<arg name='encoding' type='const char *' info='the document encoding, or NULL'/>
</function>
+ <function name='xmlCtxtSetMaxAmplification' file='parser' module='parser'>
+ <info>To protect against exponential entity expansion (&quot;billion laughs&quot;), the size of serialized output is (roughly) limited to the input size multiplied by this factor. The default value is 5. When working with documents making heavy use of entity expansion, it can be necessary to increase the value. For security reasons, this should only be considered when processing trusted input.</info>
+ <return type='void'/>
+ <arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
+ <arg name='maxAmpl' type='unsigned' info='maximum amplification factor'/>
+ </function>
<function name='xmlCtxtUseOptions' file='parser' module='parser'>
<info>Applies the options to the parser context</info>
<return type='int' info='0 in case of success, the set of unknown or unimplemented options in case of error.'/>
@@ -9406,12 +9288,12 @@ Could we use @subtypes for this?'/>
<return type='int' info='0 in case of success, -1 in case of error'/>
<arg name='alias' type='const char *' info='the alias name as parsed, in UTF-8 format (ASCII actually)'/>
</function>
- <function name='xmlDeregisterNodeDefault' file='globals' module='globals'>
+ <function name='xmlDeregisterNodeDefault' file='tree' module='tree'>
<info>Registers a callback for node destruction</info>
<return type='xmlDeregisterNodeFunc' info='the previous value of the deregistration function'/>
<arg name='func' type='xmlDeregisterNodeFunc' info='function pointer to the new DeregisterNodeFunc'/>
</function>
- <functype name='xmlDeregisterNodeFunc' file='globals' module='globals'>
+ <functype name='xmlDeregisterNodeFunc' file='tree' module='tree'>
<info>Signature for the deregistration callback of a discarded node</info>
<return type='void'/>
<arg name='node' type='xmlNodePtr' info='the current node'/>
@@ -9436,7 +9318,7 @@ Could we use @subtypes for this?'/>
<arg name='sub' type='xmlDictPtr' info='an existing dictionary'/>
</function>
<function name='xmlDictExists' file='dict' module='dict'>
- <info>Check if the @name exists in the dictionary @dict.</info>
+ <info>Check if a string exists in the dictionary.</info>
<return type='const xmlChar *' info='the internal copy of the name or NULL if not found.'/>
<arg name='dict' type='xmlDictPtr' info='the dictionary'/>
<arg name='name' type='const xmlChar *' info='the name of the userdata'/>
@@ -9453,11 +9335,11 @@ Could we use @subtypes for this?'/>
<arg name='dict' type='xmlDictPtr' info='the dictionary'/>
</function>
<function name='xmlDictLookup' file='dict' module='dict'>
- <info>Add the @name to the dictionary @dict if not present.</info>
- <return type='const xmlChar *' info='the internal copy of the name or NULL in case of internal error'/>
- <arg name='dict' type='xmlDictPtr' info='the dictionary'/>
- <arg name='name' type='const xmlChar *' info='the name of the userdata'/>
- <arg name='len' type='int' info='the length of the name, if -1 it is recomputed'/>
+ <info>Lookup a string and add it to the dictionary if it wasn&apos;t found.</info>
+ <return type='const xmlChar *' info='the interned copy of the string or NULL if a memory allocation failed.'/>
+ <arg name='dict' type='xmlDictPtr' info='dictionary'/>
+ <arg name='name' type='const xmlChar *' info='string key'/>
+ <arg name='len' type='int' info='length of the key, if -1 it is recomputed'/>
</function>
<function name='xmlDictOwns' file='dict' module='dict'>
<info>check if a string is owned by the dictionary</info>
@@ -9466,8 +9348,8 @@ Could we use @subtypes for this?'/>
<arg name='str' type='const xmlChar *' info='the string'/>
</function>
<function name='xmlDictQLookup' file='dict' module='dict'>
- <info>Add the QName @prefix:@name to the hash @dict if not present.</info>
- <return type='const xmlChar *' info='the internal copy of the QName or NULL in case of internal error'/>
+ <info>Lookup the QName @prefix:@name and add it to the dictionary if it wasn&apos;t found.</info>
+ <return type='const xmlChar *' info='the interned copy of the string or NULL if a memory allocation failed.'/>
<arg name='dict' type='xmlDictPtr' info='the dictionary'/>
<arg name='prefix' type='const xmlChar *' info='the prefix'/>
<arg name='name' type='const xmlChar *' info='the name'/>
@@ -9883,6 +9765,11 @@ Could we use @subtypes for this?'/>
<return type='void'/>
<arg name='table' type='xmlEntitiesTablePtr' info='An entity table'/>
</function>
+ <function name='xmlFreeEntity' file='entities' module='entities'>
+ <info></info>
+ <return type='void'/>
+ <arg name='entity' type='xmlEntityPtr' info=''/>
+ </function>
<function name='xmlFreeEnumeration' file='valid' module='valid'>
<info>free an enumeration attribute node (recursive).</info>
<return type='void'/>
@@ -10122,9 +10009,9 @@ Could we use @subtypes for this?'/>
<arg name='len' type='int *' info='the length of the features name array (input/output)'/>
<arg name='result' type='const char **' info='an array of string to be filled with the features name.'/>
</function>
- <function name='xmlGetGlobalState' file='threads' module='threads'>
- <info>DEPRECATED: Internal function, do not use. xmlGetGlobalState() is called to retrieve the global state for a thread.</info>
- <return type='xmlGlobalStatePtr' info='the thread global state or NULL in case of error'/>
+ <function name='xmlGetGlobalState' file='globals' module='globals'>
+ <info>DEPRECATED</info>
+ <return type='xmlGlobalStatePtr' info='NULL.'/>
</function>
<function name='xmlGetID' file='valid' module='valid'>
<info>Search the attribute declaring the given ID</info>
@@ -10144,7 +10031,7 @@ Could we use @subtypes for this?'/>
</function>
<function name='xmlGetLastError' file='xmlerror' module='error'>
<info>Get the last global error registered. This is per thread if compiled with thread support.</info>
- <return type='const xmlError *' info='NULL if no error occurred or a pointer to the error'/>
+ <return type='const xmlError *' info='a pointer to the error'/>
</function>
<function name='xmlGetLineNo' file='tree' module='tree'>
<info>Get line number of @node. Try to override the limitation of lines being store in 16 bits ints if XML_PARSE_BIG_LINES parser option was used</info>
@@ -10236,28 +10123,28 @@ Could we use @subtypes for this?'/>
<arg name='name' type='const xmlChar *' info='the attribute name'/>
</function>
<function name='xmlHashAddEntry' file='hash' module='hash'>
- <info>Add the @userdata to the hash @table. This can later be retrieved by using the @name. Duplicate names generate errors.</info>
- <return type='int' info='0 the addition succeeded and -1 in case of error.'/>
- <arg name='table' type='xmlHashTablePtr' info='the hash table'/>
- <arg name='name' type='const xmlChar *' info='the name of the userdata'/>
- <arg name='userdata' type='void *' info='a pointer to the userdata'/>
+ <info>Add a hash table entry. If an entry with this key already exists, payload will not be updated and -1 is returned. This return value can&apos;t be distinguished from out-of-memory errors, so this function should be used with care.</info>
+ <return type='int' info='0 on success and -1 in case of error.'/>
+ <arg name='hash' type='xmlHashTablePtr' info='hash table'/>
+ <arg name='key' type='const xmlChar *' info='string key'/>
+ <arg name='payload' type='void *' info='pointer to the payload'/>
</function>
<function name='xmlHashAddEntry2' file='hash' module='hash'>
- <info>Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) tuple. Duplicate tuples generate errors.</info>
- <return type='int' info='0 the addition succeeded and -1 in case of error.'/>
- <arg name='table' type='xmlHashTablePtr' info='the hash table'/>
- <arg name='name' type='const xmlChar *' info='the name of the userdata'/>
- <arg name='name2' type='const xmlChar *' info='a second name of the userdata'/>
- <arg name='userdata' type='void *' info='a pointer to the userdata'/>
+ <info>Add a hash table entry with two strings as key. See xmlHashAddEntry.</info>
+ <return type='int' info='0 on success and -1 in case of error.'/>
+ <arg name='hash' type='xmlHashTablePtr' info='hash table'/>
+ <arg name='key' type='const xmlChar *' info='first string key'/>
+ <arg name='key2' type='const xmlChar *' info='second string key'/>
+ <arg name='payload' type='void *' info='pointer to the payload'/>
</function>
<function name='xmlHashAddEntry3' file='hash' module='hash'>
- <info>Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, @name3). Duplicate entries generate errors.</info>
- <return type='int' info='0 the addition succeeded and -1 in case of error.'/>
- <arg name='table' type='xmlHashTablePtr' info='the hash table'/>
- <arg name='name' type='const xmlChar *' info='the name of the userdata'/>
- <arg name='name2' type='const xmlChar *' info='a second name of the userdata'/>
- <arg name='name3' type='const xmlChar *' info='a third name of the userdata'/>
- <arg name='userdata' type='void *' info='a pointer to the userdata'/>
+ <info>Add a hash table entry with three strings as key. See xmlHashAddEntry.</info>
+ <return type='int' info='0 on success and -1 in case of error.'/>
+ <arg name='hash' type='xmlHashTablePtr' info='hash table'/>
+ <arg name='key' type='const xmlChar *' info='first string key'/>
+ <arg name='key2' type='const xmlChar *' info='second string key'/>
+ <arg name='key3' type='const xmlChar *' info='third string key'/>
+ <arg name='payload' type='void *' info='pointer to the payload'/>
</function>
<functype name='xmlHashCopier' file='hash' module='hash'>
<info>Callback to copy data from a hash.</info>
@@ -10266,19 +10153,19 @@ Could we use @subtypes for this?'/>
<arg name='name' type='const xmlChar *' info='the name associated'/>
</functype>
<function name='xmlHashCopy' file='hash' module='hash'>
- <info>Scan the hash @table and applied @f to each value.</info>
- <return type='xmlHashTablePtr' info='the new table or NULL in case of error.'/>
- <arg name='table' type='xmlHashTablePtr' info='the hash table'/>
- <arg name='f' type='xmlHashCopier' info='the copier function for items in the hash'/>
+ <info>Copy the hash @table using @copy to copy payloads.</info>
+ <return type='xmlHashTablePtr' info='the new table or NULL if a memory allocation failed.'/>
+ <arg name='hash' type='xmlHashTablePtr' info='hash table'/>
+ <arg name='copy' type='xmlHashCopier' info='copier function for items in the hash'/>
</function>
<function name='xmlHashCreate' file='hash' module='hash'>
- <info>Create a new xmlHashTablePtr.</info>
- <return type='xmlHashTablePtr' info='the newly created object, or NULL if an error occurred.'/>
- <arg name='size' type='int' info='the size of the hash table'/>
+ <info>Create a new hash table. Set size to zero if the number of entries can&apos;t be estimated.</info>
+ <return type='xmlHashTablePtr' info='the newly created object, or NULL if a memory allocation failed.'/>
+ <arg name='size' type='int' info='initial size of the hash table'/>
</function>
<function name='xmlHashCreateDict' file='hash' module='hash'>
- <info>Create a new xmlHashTablePtr which will use @dict as the internal dictionary</info>
- <return type='xmlHashTablePtr' info='the newly created object, or NULL if an error occurred.'/>
+ <info>Create a new hash table backed by a dictionary. This can reduce resource usage considerably if most keys passed to API functions originate from this dictionary.</info>
+ <return type='xmlHashTablePtr' info='the newly created object, or NULL if a memory allocation failed.'/>
<arg name='size' type='int' info='the size of the hash table'/>
<arg name='dict' type='xmlDictPtr' info='a dictionary to use for the hash'/>
</function>
@@ -10291,120 +10178,120 @@ Could we use @subtypes for this?'/>
<function name='xmlHashDefaultDeallocator' file='hash' module='hash'>
<info>Free a hash table entry with xmlFree.</info>
<return type='void'/>
- <arg name='entry' type='void *' info='the hash table entry'/>
- <arg name='name' type='const xmlChar *' info='the entry&apos;s name'/>
+ <arg name='entry' type='void *' info='hash table entry'/>
+ <arg name='key' type='const xmlChar *' info='the entry&apos;s string key'/>
</function>
<function name='xmlHashFree' file='hash' module='hash'>
- <info>Free the hash @table and its contents. The userdata is deallocated with @f if provided.</info>
+ <info>Free the hash and its contents. The payload is deallocated with @dealloc if provided.</info>
<return type='void'/>
- <arg name='table' type='xmlHashTablePtr' info='the hash table'/>
- <arg name='f' type='xmlHashDeallocator' info='the deallocator function for items in the hash'/>
+ <arg name='hash' type='xmlHashTablePtr' info='hash table'/>
+ <arg name='dealloc' type='xmlHashDeallocator' info='deallocator function or NULL'/>
</function>
<function name='xmlHashLookup' file='hash' module='hash'>
- <info>Find the userdata specified by the @name.</info>
- <return type='void *' info='the pointer to the userdata'/>
- <arg name='table' type='xmlHashTablePtr' info='the hash table'/>
- <arg name='name' type='const xmlChar *' info='the name of the userdata'/>
+ <info>Find the entry specified by @key.</info>
+ <return type='void *' info='a pointer to the payload or NULL if no entry was found.'/>
+ <arg name='hash' type='xmlHashTablePtr' info='hash table'/>
+ <arg name='key' type='const xmlChar *' info='string key'/>
</function>
<function name='xmlHashLookup2' file='hash' module='hash'>
- <info>Find the userdata specified by the (@name, @name2) tuple.</info>
- <return type='void *' info='the pointer to the userdata'/>
- <arg name='table' type='xmlHashTablePtr' info='the hash table'/>
- <arg name='name' type='const xmlChar *' info='the name of the userdata'/>
- <arg name='name2' type='const xmlChar *' info='a second name of the userdata'/>
+ <info>Find the payload specified by the (@key, @key2) tuple.</info>
+ <return type='void *' info='a pointer to the payload or NULL if no entry was found.'/>
+ <arg name='hash' type='xmlHashTablePtr' info='hash table'/>
+ <arg name='key' type='const xmlChar *' info='first string key'/>
+ <arg name='key2' type='const xmlChar *' info='second string key'/>
</function>
<function name='xmlHashLookup3' file='hash' module='hash'>
- <info>Find the userdata specified by the (@name, @name2, @name3) tuple.</info>
- <return type='void *' info='the a pointer to the userdata'/>
- <arg name='table' type='xmlHashTablePtr' info='the hash table'/>
- <arg name='name' type='const xmlChar *' info='the name of the userdata'/>
- <arg name='name2' type='const xmlChar *' info='a second name of the userdata'/>
- <arg name='name3' type='const xmlChar *' info='a third name of the userdata'/>
+ <info>Find the payload specified by the (@key, @key2, @key3) tuple.</info>
+ <return type='void *' info='a pointer to the payload or NULL if no entry was found.'/>
+ <arg name='hash' type='xmlHashTablePtr' info='hash table'/>
+ <arg name='key' type='const xmlChar *' info='first string key'/>
+ <arg name='key2' type='const xmlChar *' info='second string key'/>
+ <arg name='key3' type='const xmlChar *' info='third string key'/>
</function>
<function name='xmlHashQLookup' file='hash' module='hash'>
- <info>Find the userdata specified by the QName @prefix:@name/@name.</info>
- <return type='void *' info='the pointer to the userdata'/>
- <arg name='table' type='xmlHashTablePtr' info='the hash table'/>
- <arg name='prefix' type='const xmlChar *' info='the prefix of the userdata'/>
- <arg name='name' type='const xmlChar *' info='the name of the userdata'/>
+ <info>Find the payload specified by the QName @prefix:@name or @name.</info>
+ <return type='void *' info='a pointer to the payload or NULL if no entry was found.'/>
+ <arg name='hash' type='xmlHashTablePtr' info='hash table'/>
+ <arg name='prefix' type='const xmlChar *' info='prefix of the string key'/>
+ <arg name='name' type='const xmlChar *' info='local name of the string key'/>
</function>
<function name='xmlHashQLookup2' file='hash' module='hash'>
- <info>Find the userdata specified by the QNames tuple</info>
- <return type='void *' info='the pointer to the userdata'/>
- <arg name='table' type='xmlHashTablePtr' info='the hash table'/>
- <arg name='prefix' type='const xmlChar *' info='the prefix of the userdata'/>
- <arg name='name' type='const xmlChar *' info='the name of the userdata'/>
- <arg name='prefix2' type='const xmlChar *' info='the second prefix of the userdata'/>
- <arg name='name2' type='const xmlChar *' info='a second name of the userdata'/>
+ <info>Find the payload specified by the QNames tuple.</info>
+ <return type='void *' info='a pointer to the payload or NULL if no entry was found.'/>
+ <arg name='hash' type='xmlHashTablePtr' info='hash table'/>
+ <arg name='prefix' type='const xmlChar *' info='first prefix'/>
+ <arg name='name' type='const xmlChar *' info='first local name'/>
+ <arg name='prefix2' type='const xmlChar *' info='second prefix'/>
+ <arg name='name2' type='const xmlChar *' info='second local name'/>
</function>
<function name='xmlHashQLookup3' file='hash' module='hash'>
- <info>Find the userdata specified by the (@name, @name2, @name3) tuple.</info>
- <return type='void *' info='the a pointer to the userdata'/>
- <arg name='table' type='xmlHashTablePtr' info='the hash table'/>
- <arg name='prefix' type='const xmlChar *' info='the prefix of the userdata'/>
- <arg name='name' type='const xmlChar *' info='the name of the userdata'/>
- <arg name='prefix2' type='const xmlChar *' info='the second prefix of the userdata'/>
- <arg name='name2' type='const xmlChar *' info='a second name of the userdata'/>
- <arg name='prefix3' type='const xmlChar *' info='the third prefix of the userdata'/>
- <arg name='name3' type='const xmlChar *' info='a third name of the userdata'/>
+ <info>Find the payload specified by the QNames tuple.</info>
+ <return type='void *' info='a pointer to the payload or NULL if no entry was found.'/>
+ <arg name='hash' type='xmlHashTablePtr' info='hash table'/>
+ <arg name='prefix' type='const xmlChar *' info='first prefix'/>
+ <arg name='name' type='const xmlChar *' info='first local name'/>
+ <arg name='prefix2' type='const xmlChar *' info='second prefix'/>
+ <arg name='name2' type='const xmlChar *' info='second local name'/>
+ <arg name='prefix3' type='const xmlChar *' info='third prefix'/>
+ <arg name='name3' type='const xmlChar *' info='third local name'/>
</function>
<function name='xmlHashRemoveEntry' file='hash' module='hash'>
- <info>Find the userdata specified by the @name and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.</info>
- <return type='int' info='0 if the removal succeeded and -1 in case of error or not found.'/>
- <arg name='table' type='xmlHashTablePtr' info='the hash table'/>
- <arg name='name' type='const xmlChar *' info='the name of the userdata'/>
- <arg name='f' type='xmlHashDeallocator' info='the deallocator function for removed item (if any)'/>
+ <info>Find the entry specified by the @key and remove it from the hash table. Payload will be freed with @dealloc.</info>
+ <return type='int' info='0 on success and -1 if no entry was found.'/>
+ <arg name='hash' type='xmlHashTablePtr' info='hash table'/>
+ <arg name='key' type='const xmlChar *' info='string key'/>
+ <arg name='dealloc' type='xmlHashDeallocator' info='deallocator function for removed item or NULL'/>
</function>
<function name='xmlHashRemoveEntry2' file='hash' module='hash'>
- <info>Find the userdata specified by the (@name, @name2) tuple and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.</info>
- <return type='int' info='0 if the removal succeeded and -1 in case of error or not found.'/>
- <arg name='table' type='xmlHashTablePtr' info='the hash table'/>
- <arg name='name' type='const xmlChar *' info='the name of the userdata'/>
- <arg name='name2' type='const xmlChar *' info='a second name of the userdata'/>
- <arg name='f' type='xmlHashDeallocator' info='the deallocator function for removed item (if any)'/>
+ <info>Remove an entry with two strings as key. See xmlHashRemoveEntry.</info>
+ <return type='int' info='0 on success and -1 in case of error.'/>
+ <arg name='hash' type='xmlHashTablePtr' info='hash table'/>
+ <arg name='key' type='const xmlChar *' info='first string key'/>
+ <arg name='key2' type='const xmlChar *' info='second string key'/>
+ <arg name='dealloc' type='xmlHashDeallocator' info='deallocator function for removed item or NULL'/>
</function>
<function name='xmlHashRemoveEntry3' file='hash' module='hash'>
- <info>Find the userdata specified by the (@name, @name2, @name3) tuple and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f.</info>
- <return type='int' info='0 if the removal succeeded and -1 in case of error or not found.'/>
- <arg name='table' type='xmlHashTablePtr' info='the hash table'/>
- <arg name='name' type='const xmlChar *' info='the name of the userdata'/>
- <arg name='name2' type='const xmlChar *' info='a second name of the userdata'/>
- <arg name='name3' type='const xmlChar *' info='a third name of the userdata'/>
- <arg name='f' type='xmlHashDeallocator' info='the deallocator function for removed item (if any)'/>
+ <info>Remove an entry with three strings as key. See xmlHashRemoveEntry.</info>
+ <return type='int' info='0 on success and -1 in case of error.'/>
+ <arg name='hash' type='xmlHashTablePtr' info='hash table'/>
+ <arg name='key' type='const xmlChar *' info='first string key'/>
+ <arg name='key2' type='const xmlChar *' info='second string key'/>
+ <arg name='key3' type='const xmlChar *' info='third string key'/>
+ <arg name='dealloc' type='xmlHashDeallocator' info='deallocator function for removed item or NULL'/>
</function>
<function name='xmlHashScan' file='hash' module='hash'>
- <info>Scan the hash @table and applied @f to each value.</info>
+ <info>Scan the hash @table and apply @scan to each value.</info>
<return type='void'/>
- <arg name='table' type='xmlHashTablePtr' info='the hash table'/>
- <arg name='f' type='xmlHashScanner' info='the scanner function for items in the hash'/>
- <arg name='data' type='void *' info='extra data passed to f'/>
+ <arg name='hash' type='xmlHashTablePtr' info='hash table'/>
+ <arg name='scan' type='xmlHashScanner' info='scanner function for items in the hash'/>
+ <arg name='data' type='void *' info='extra data passed to @scan'/>
</function>
<function name='xmlHashScan3' file='hash' module='hash'>
- <info>Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of the names is null, the comparison is considered to match.</info>
+ <info>Scan the hash @table and apply @scan to each value matching (@key, @key2, @key3) tuple. If one of the keys is null, the comparison is considered to match.</info>
<return type='void'/>
- <arg name='table' type='xmlHashTablePtr' info='the hash table'/>
- <arg name='name' type='const xmlChar *' info='the name of the userdata or NULL'/>
- <arg name='name2' type='const xmlChar *' info='a second name of the userdata or NULL'/>
- <arg name='name3' type='const xmlChar *' info='a third name of the userdata or NULL'/>
- <arg name='f' type='xmlHashScanner' info='the scanner function for items in the hash'/>
- <arg name='data' type='void *' info='extra data passed to f'/>
+ <arg name='hash' type='xmlHashTablePtr' info='hash table'/>
+ <arg name='key' type='const xmlChar *' info='first string key or NULL'/>
+ <arg name='key2' type='const xmlChar *' info='second string key or NULL'/>
+ <arg name='key3' type='const xmlChar *' info='third string key or NULL'/>
+ <arg name='scan' type='xmlHashScanner' info='scanner function for items in the hash'/>
+ <arg name='data' type='void *' info='extra data passed to @scan'/>
</function>
<function name='xmlHashScanFull' file='hash' module='hash'>
- <info>Scan the hash @table and applied @f to each value.</info>
+ <info>Scan the hash @table and apply @scan to each value.</info>
<return type='void'/>
- <arg name='table' type='xmlHashTablePtr' info='the hash table'/>
- <arg name='f' type='xmlHashScannerFull' info='the scanner function for items in the hash'/>
- <arg name='data' type='void *' info='extra data passed to f'/>
+ <arg name='hash' type='xmlHashTablePtr' info='hash table'/>
+ <arg name='scan' type='xmlHashScannerFull' info='scanner function for items in the hash'/>
+ <arg name='data' type='void *' info='extra data passed to @scan'/>
</function>
<function name='xmlHashScanFull3' file='hash' module='hash'>
- <info>Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of the names is null, the comparison is considered to match.</info>
+ <info>Scan the hash @table and apply @scan to each value matching (@key, @key2, @key3) tuple. If one of the keys is null, the comparison is considered to match.</info>
<return type='void'/>
- <arg name='table' type='xmlHashTablePtr' info='the hash table'/>
- <arg name='name' type='const xmlChar *' info='the name of the userdata or NULL'/>
- <arg name='name2' type='const xmlChar *' info='a second name of the userdata or NULL'/>
- <arg name='name3' type='const xmlChar *' info='a third name of the userdata or NULL'/>
- <arg name='f' type='xmlHashScannerFull' info='the scanner function for items in the hash'/>
- <arg name='data' type='void *' info='extra data passed to f'/>
+ <arg name='hash' type='xmlHashTablePtr' info='hash table'/>
+ <arg name='key' type='const xmlChar *' info='first string key or NULL'/>
+ <arg name='key2' type='const xmlChar *' info='second string key or NULL'/>
+ <arg name='key3' type='const xmlChar *' info='third string key or NULL'/>
+ <arg name='scan' type='xmlHashScannerFull' info='scanner function for items in the hash'/>
+ <arg name='data' type='void *' info='extra data passed to @scan'/>
</function>
<functype name='xmlHashScanner' file='hash' module='hash'>
<info>Callback when scanning data in a hash with the simple scanner.</info>
@@ -10423,36 +10310,36 @@ Could we use @subtypes for this?'/>
<arg name='name3' type='const xmlChar *' info='the third name associated'/>
</functype>
<function name='xmlHashSize' file='hash' module='hash'>
- <info>Query the number of elements installed in the hash @table.</info>
- <return type='int' info='the number of elements in the hash table or -1 in case of error'/>
- <arg name='table' type='xmlHashTablePtr' info='the hash table'/>
+ <info>Query the number of elements in the hash table.</info>
+ <return type='int' info='the number of elements in the hash table or -1 in case of error.'/>
+ <arg name='hash' type='xmlHashTablePtr' info='hash table'/>
</function>
<function name='xmlHashUpdateEntry' file='hash' module='hash'>
- <info>Add the @userdata to the hash @table. This can later be retrieved by using the @name. Existing entry for this @name will be removed and freed with @f if found.</info>
- <return type='int' info='0 the addition succeeded and -1 in case of error.'/>
- <arg name='table' type='xmlHashTablePtr' info='the hash table'/>
- <arg name='name' type='const xmlChar *' info='the name of the userdata'/>
- <arg name='userdata' type='void *' info='a pointer to the userdata'/>
- <arg name='f' type='xmlHashDeallocator' info='the deallocator function for replaced item (if any)'/>
+ <info>Add a hash table entry. If an entry with this key already exists, the old payload will be freed and updated with the new value.</info>
+ <return type='int' info='0 in case of success, -1 if a memory allocation failed.'/>
+ <arg name='hash' type='xmlHashTablePtr' info='hash table'/>
+ <arg name='key' type='const xmlChar *' info='string key'/>
+ <arg name='payload' type='void *' info='pointer to the payload'/>
+ <arg name='dealloc' type='xmlHashDeallocator' info='deallocator function for replaced item or NULL'/>
</function>
<function name='xmlHashUpdateEntry2' file='hash' module='hash'>
- <info>Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) tuple. Existing entry for this tuple will be removed and freed with @f if found.</info>
- <return type='int' info='0 the addition succeeded and -1 in case of error.'/>
- <arg name='table' type='xmlHashTablePtr' info='the hash table'/>
- <arg name='name' type='const xmlChar *' info='the name of the userdata'/>
- <arg name='name2' type='const xmlChar *' info='a second name of the userdata'/>
- <arg name='userdata' type='void *' info='a pointer to the userdata'/>
- <arg name='f' type='xmlHashDeallocator' info='the deallocator function for replaced item (if any)'/>
+ <info>Add a hash table entry with two strings as key. See xmlHashUpdateEntry.</info>
+ <return type='int' info='0 on success and -1 in case of error.'/>
+ <arg name='hash' type='xmlHashTablePtr' info='hash table'/>
+ <arg name='key' type='const xmlChar *' info='first string key'/>
+ <arg name='key2' type='const xmlChar *' info='second string key'/>
+ <arg name='payload' type='void *' info='pointer to the payload'/>
+ <arg name='dealloc' type='xmlHashDeallocator' info='deallocator function for replaced item or NULL'/>
</function>
<function name='xmlHashUpdateEntry3' file='hash' module='hash'>
- <info>Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, @name3). Existing entry for this tuple will be removed and freed with @f if found.</info>
- <return type='int' info='0 the addition succeeded and -1 in case of error.'/>
- <arg name='table' type='xmlHashTablePtr' info='the hash table'/>
- <arg name='name' type='const xmlChar *' info='the name of the userdata'/>
- <arg name='name2' type='const xmlChar *' info='a second name of the userdata'/>
- <arg name='name3' type='const xmlChar *' info='a third name of the userdata'/>
- <arg name='userdata' type='void *' info='a pointer to the userdata'/>
- <arg name='f' type='xmlHashDeallocator' info='the deallocator function for replaced item (if any)'/>
+ <info>Add a hash table entry with three strings as key. See xmlHashUpdateEntry.</info>
+ <return type='int' info='0 on success and -1 in case of error.'/>
+ <arg name='hash' type='xmlHashTablePtr' info='hash table'/>
+ <arg name='key' type='const xmlChar *' info='first string key'/>
+ <arg name='key2' type='const xmlChar *' info='second string key'/>
+ <arg name='key3' type='const xmlChar *' info='third string key'/>
+ <arg name='payload' type='void *' info='pointer to the payload'/>
+ <arg name='dealloc' type='xmlHashDeallocator' info='deallocator function for replaced item or NULL'/>
</function>
<function name='xmlIOFTPClose' file='xmlIO' module='xmlIO'>
<cond>defined(LIBXML_FTP_ENABLED)</cond>
@@ -10538,8 +10425,8 @@ Could we use @subtypes for this?'/>
<return type='void'/>
<arg name='seq' type='xmlParserNodeInfoSeqPtr' info='a node info sequence pointer'/>
</function>
- <function name='xmlInitParser' file='parser' module='parser'>
- <info>Initialization function for the XML parser. This is not reentrant. Call once before processing in case of use in multithreaded programs.</info>
+ <function name='xmlInitParser' file='parser' module='threads'>
+ <info>Initialization function for the XML parser. Call once from the main thread before using the library in multithreaded programs.</info>
<return type='void'/>
</function>
<function name='xmlInitParserCtxt' file='parser' module='parserInternals'>
@@ -10558,10 +10445,10 @@ Could we use @subtypes for this?'/>
</function>
<function name='xmlInitializeDict' file='dict' module='dict'>
<info>DEPRECATED: Alias for xmlInitParser.</info>
- <return type='int' info=''/>
+ <return type='int' info='0.'/>
</function>
<function name='xmlInitializeGlobalState' file='globals' module='globals'>
- <info>xmlInitializeGlobalState() initialize a global state with all the default values of the library.</info>
+ <info>DEPRECATED: No-op.</info>
<return type='void'/>
<arg name='gs' type='xmlGlobalStatePtr' info='a pointer to a newly allocated global state'/>
</function>
@@ -10644,8 +10531,8 @@ Could we use @subtypes for this?'/>
<return type='int' info='0 if not, non-zero otherwise'/>
<arg name='c' type='int' info='an unicode character (int)'/>
</function>
- <function name='xmlIsMainThread' file='threads' module='threads'>
- <info>DEPRECATED: Internal function, do not use. xmlIsMainThread() check whether the current thread is the main thread.</info>
+ <function name='xmlIsMainThread' file='threads' module='globals'>
+ <info>DEPRECATED: Internal function, do not use. Check whether the current thread is the main thread.</info>
<return type='int' info='1 if the current thread is the main thread, 0 otherwise'/>
</function>
<function name='xmlIsMixedElement' file='valid' module='valid'>
@@ -11840,12 +11727,12 @@ Could we use @subtypes for this?'/>
<arg name='encoder' type='xmlCharEncodingHandlerPtr' info='the encoding converter or NULL'/>
<arg name='compression' type='int' info='the compression ration (0 none, 9 max).'/>
</function>
- <function name='xmlOutputBufferCreateFilenameDefault' file='globals' module='xmlIO'>
+ <function name='xmlOutputBufferCreateFilenameDefault' file='xmlIO' module='xmlIO'>
<info>Registers a callback for URI output file handling</info>
<return type='xmlOutputBufferCreateFilenameFunc' info='the old value of the registration function'/>
<arg name='func' type='xmlOutputBufferCreateFilenameFunc' info='function pointer to the new OutputBufferCreateFilenameFunc'/>
</function>
- <functype name='xmlOutputBufferCreateFilenameFunc' file='globals' module='globals'>
+ <functype name='xmlOutputBufferCreateFilenameFunc' file='xmlIO' module='xmlIO'>
<info>Signature for the function doing the lookup for a suitable output method corresponding to an URI.</info>
<return type='xmlOutputBufferPtr' info='the new xmlOutputBufferPtr in case of success or NULL if no method was found.'/>
<arg name='URI' type='const char *' info='the URI to write to'/>
@@ -11986,7 +11873,7 @@ Could we use @subtypes for this?'/>
<arg name='filename' type='const char *' info='the filename'/>
</function>
<function name='xmlParseCharData' file='parserInternals' module='parser'>
- <info>DEPRECATED: Internal function, don&apos;t use. Parse character data. Always makes progress if the first char isn&apos;t &apos;&lt;&apos; or &apos;&amp;&apos;. if we are within a CDATA section &apos;]]&gt;&apos; marks an end of section. The right angle bracket (&gt;) may be represented using the string &quot;&amp;gt;&quot;, and must, for compatibility, be escaped using &quot;&amp;gt;&quot; or a character reference when it appears in the string &quot;]]&gt;&quot; in content, when that string is not marking the end of a CDATA section. [14] CharData ::= [^&lt;&amp;]* - ([^&lt;&amp;]* &apos;]]&gt;&apos; [^&lt;&amp;]*)</info>
+ <info>DEPRECATED: Internal function, don&apos;t use.</info>
<return type='void'/>
<arg name='ctxt' type='xmlParserCtxtPtr' info='an XML parser context'/>
<arg name='cdata' type='int' info='unused'/>
@@ -12367,12 +12254,12 @@ Could we use @subtypes for this?'/>
<arg name='URI' type='const char *' info='a C string containing the URI or filename'/>
<arg name='enc' type='xmlCharEncoding' info='the charset encoding if known'/>
</function>
- <function name='xmlParserInputBufferCreateFilenameDefault' file='globals' module='xmlIO'>
+ <function name='xmlParserInputBufferCreateFilenameDefault' file='xmlIO' module='xmlIO'>
<info>Registers a callback for URI input file handling</info>
<return type='xmlParserInputBufferCreateFilenameFunc' info='the old value of the registration function'/>
<arg name='func' type='xmlParserInputBufferCreateFilenameFunc' info='function pointer to the new ParserInputBufferCreateFilenameFunc'/>
</function>
- <functype name='xmlParserInputBufferCreateFilenameFunc' file='globals' module='globals'>
+ <functype name='xmlParserInputBufferCreateFilenameFunc' file='xmlIO' module='xmlIO'>
<info>Signature for the function doing the lookup for a suitable input method corresponding to an URI.</info>
<return type='xmlParserInputBufferPtr' info='the new xmlParserInputBufferPtr in case of success or NULL if no method was found.'/>
<arg name='URI' type='const char *' info='the URI to read from'/>
@@ -12884,12 +12771,12 @@ Could we use @subtypes for this?'/>
<arg name='readFunc' type='xmlInputReadCallback' info='the xmlInputReadCallback'/>
<arg name='closeFunc' type='xmlInputCloseCallback' info='the xmlInputCloseCallback'/>
</function>
- <function name='xmlRegisterNodeDefault' file='globals' module='globals'>
+ <function name='xmlRegisterNodeDefault' file='tree' module='tree'>
<info>Registers a callback for node creation</info>
<return type='xmlRegisterNodeFunc' info='the old value of the registration function'/>
<arg name='func' type='xmlRegisterNodeFunc' info='function pointer to the new RegisterNodeFunc'/>
</function>
- <functype name='xmlRegisterNodeFunc' file='globals' module='globals'>
+ <functype name='xmlRegisterNodeFunc' file='tree' module='tree'>
<info>Signature for the registration callback of a created node</info>
<return type='void'/>
<arg name='node' type='xmlNodePtr' info='the current node'/>
@@ -13552,7 +13439,7 @@ Could we use @subtypes for this?'/>
<info>Save a subtree starting at the node parameter to a saving context TODO: The function is not fully implemented yet as it does not return the byte count but 0 instead</info>
<return type='long' info='the number of byte written or -1 in case of error'/>
<arg name='ctxt' type='xmlSaveCtxtPtr' info='a document saving context'/>
- <arg name='cur' type='xmlNodePtr' info=''/>
+ <arg name='cur' type='xmlNodePtr' info='the top node of the subtree to save'/>
</function>
<function name='xmlSaveUri' file='uri' module='uri'>
<info>Save the URI as an escaped string</info>
@@ -14606,7 +14493,7 @@ Could we use @subtypes for this?'/>
<info>Signature of the function to use when there is an error and the module handles the new error reporting mechanism.</info>
<return type='void'/>
<arg name='userData' type='void *' info='user provided data for the error callback'/>
- <arg name='error' type='xmlErrorPtr' info='the error being raised.'/>
+ <arg name='error' type='const xmlError *' info='the error being raised.'/>
</functype>
<function name='xmlSubstituteEntitiesDefault' file='parser' module='parserInternals'>
<info>DEPRECATED: Use the modern options API with XML_PARSE_NOENT. Set and return the previous value for default entity support. Initially the parser always keep entity references instead of substituting entity values in the output. This function has to be used to change the default parser behavior SAX::substituteEntities() has to be used for changing that on a file by file basis.</info>
@@ -14614,20 +14501,20 @@ Could we use @subtypes for this?'/>
<arg name='val' type='int' info='int 0 or 1'/>
</function>
<function name='xmlSwitchEncoding' file='parserInternals' module='parserInternals'>
- <info>change the input functions when discovering the character encoding of a given entity.</info>
+ <info>Use encoding specified by enum to decode input data. This function can be used to enforce the encoding of chunks passed to xmlParseChunk.</info>
<return type='int' info='0 in case of success, -1 otherwise'/>
<arg name='ctxt' type='xmlParserCtxtPtr' info='the parser context'/>
<arg name='enc' type='xmlCharEncoding' info='the encoding value (number)'/>
</function>
<function name='xmlSwitchInputEncoding' file='parserInternals' module='parserInternals'>
- <info>change the input functions when discovering the character encoding of a given entity.</info>
+ <info>DEPRECATED: Internal function, don&apos;t use. Use encoding handler to decode input data.</info>
<return type='int' info='0 in case of success, -1 otherwise'/>
<arg name='ctxt' type='xmlParserCtxtPtr' info='the parser context'/>
<arg name='input' type='xmlParserInputPtr' info='the input stream'/>
<arg name='handler' type='xmlCharEncodingHandlerPtr' info='the encoding handler'/>
</function>
<function name='xmlSwitchToEncoding' file='parserInternals' module='parserInternals'>
- <info>change the input functions when discovering the character encoding of a given entity.</info>
+ <info>Use encoding handler to decode input data. This function can be used to enforce the encoding of chunks passed to xmlParseChunk.</info>
<return type='int' info='0 in case of success, -1 otherwise'/>
<arg name='ctxt' type='xmlParserCtxtPtr' info='the parser context'/>
<arg name='handler' type='xmlCharEncodingHandlerPtr' info='the encoding handler'/>
@@ -15062,6 +14949,13 @@ Could we use @subtypes for this?'/>
<arg name='f' type='xmlTextReaderErrorFunc' info='the callback function to call on error and warnings'/>
<arg name='arg' type='void *' info='a user argument to pass to the callback function'/>
</function>
+ <function name='xmlTextReaderSetMaxAmplification' file='xmlreader' module='xmlreader'>
+ <cond>defined(LIBXML_READER_ENABLED)</cond>
+ <info>Set the maximum amplification factor. See xmlCtxtSetMaxAmplification.</info>
+ <return type='void'/>
+ <arg name='reader' type='xmlTextReaderPtr' info='an XML reader'/>
+ <arg name='maxAmpl' type='unsigned' info='maximum amplification factor'/>
+ </function>
<function name='xmlTextReaderSetParserProp' file='xmlreader' module='xmlreader'>
<cond>defined(LIBXML_READER_ENABLED)</cond>
<info>Change the parser processing behaviour by changing some of its internal properties. Note that some properties can only be changed before any read has been done.</info>
@@ -15711,99 +15605,102 @@ Could we use @subtypes for this?'/>
<arg name='format' type='const char *' info='format string (see printf)'/>
<arg name='argptr' type='va_list' info='pointer to the first member of the variable argument list.'/>
</function>
- <function name='xmlThrDefBufferAllocScheme' file='globals' module='globals'>
+ <function name='xmlThrDefBufferAllocScheme' file='tree' module='globals'>
<info></info>
<return type='xmlBufferAllocationScheme' info=''/>
<arg name='v' type='xmlBufferAllocationScheme' info=''/>
</function>
- <function name='xmlThrDefDefaultBufferSize' file='globals' module='globals'>
+ <function name='xmlThrDefDefaultBufferSize' file='tree' module='globals'>
<info></info>
<return type='int' info=''/>
<arg name='v' type='int' info=''/>
</function>
- <function name='xmlThrDefDeregisterNodeDefault' file='globals' module='globals'>
+ <function name='xmlThrDefDeregisterNodeDefault' file='tree' module='globals'>
<info></info>
<return type='xmlDeregisterNodeFunc' info=''/>
<arg name='func' type='xmlDeregisterNodeFunc' info=''/>
</function>
- <function name='xmlThrDefDoValidityCheckingDefaultValue' file='globals' module='globals'>
+ <function name='xmlThrDefDoValidityCheckingDefaultValue' file='parser' module='globals'>
<info></info>
<return type='int' info=''/>
<arg name='v' type='int' info=''/>
</function>
- <function name='xmlThrDefGetWarningsDefaultValue' file='globals' module='globals'>
+ <function name='xmlThrDefGetWarningsDefaultValue' file='parser' module='globals'>
<info></info>
<return type='int' info=''/>
<arg name='v' type='int' info=''/>
</function>
- <function name='xmlThrDefIndentTreeOutput' file='globals' module='globals'>
+ <function name='xmlThrDefIndentTreeOutput' file='xmlsave' module='globals'>
+ <cond>defined(LIBXML_OUTPUT_ENABLED)</cond>
<info></info>
<return type='int' info=''/>
<arg name='v' type='int' info=''/>
</function>
- <function name='xmlThrDefKeepBlanksDefaultValue' file='globals' module='globals'>
+ <function name='xmlThrDefKeepBlanksDefaultValue' file='parser' module='globals'>
<info></info>
<return type='int' info=''/>
<arg name='v' type='int' info=''/>
</function>
- <function name='xmlThrDefLineNumbersDefaultValue' file='globals' module='globals'>
+ <function name='xmlThrDefLineNumbersDefaultValue' file='parser' module='globals'>
<info></info>
<return type='int' info=''/>
<arg name='v' type='int' info=''/>
</function>
- <function name='xmlThrDefLoadExtDtdDefaultValue' file='globals' module='globals'>
+ <function name='xmlThrDefLoadExtDtdDefaultValue' file='parser' module='globals'>
<info></info>
<return type='int' info=''/>
<arg name='v' type='int' info=''/>
</function>
- <function name='xmlThrDefOutputBufferCreateFilenameDefault' file='globals' module='globals'>
+ <function name='xmlThrDefOutputBufferCreateFilenameDefault' file='xmlIO' module='globals'>
<info></info>
<return type='xmlOutputBufferCreateFilenameFunc' info=''/>
<arg name='func' type='xmlOutputBufferCreateFilenameFunc' info=''/>
</function>
- <function name='xmlThrDefParserDebugEntities' file='globals' module='globals'>
+ <function name='xmlThrDefParserDebugEntities' file='parser' module='globals'>
<info></info>
<return type='int' info=''/>
<arg name='v' type='int' info=''/>
</function>
- <function name='xmlThrDefParserInputBufferCreateFilenameDefault' file='globals' module='globals'>
+ <function name='xmlThrDefParserInputBufferCreateFilenameDefault' file='xmlIO' module='globals'>
<info></info>
<return type='xmlParserInputBufferCreateFilenameFunc' info=''/>
<arg name='func' type='xmlParserInputBufferCreateFilenameFunc' info=''/>
</function>
- <function name='xmlThrDefPedanticParserDefaultValue' file='globals' module='globals'>
+ <function name='xmlThrDefPedanticParserDefaultValue' file='parser' module='globals'>
<info></info>
<return type='int' info=''/>
<arg name='v' type='int' info=''/>
</function>
- <function name='xmlThrDefRegisterNodeDefault' file='globals' module='globals'>
+ <function name='xmlThrDefRegisterNodeDefault' file='tree' module='globals'>
<info></info>
<return type='xmlRegisterNodeFunc' info=''/>
<arg name='func' type='xmlRegisterNodeFunc' info=''/>
</function>
- <function name='xmlThrDefSaveNoEmptyTags' file='globals' module='globals'>
+ <function name='xmlThrDefSaveNoEmptyTags' file='xmlsave' module='globals'>
+ <cond>defined(LIBXML_OUTPUT_ENABLED)</cond>
<info></info>
<return type='int' info=''/>
<arg name='v' type='int' info=''/>
</function>
- <function name='xmlThrDefSetGenericErrorFunc' file='globals' module='globals'>
+ <function name='xmlThrDefSetGenericErrorFunc' file='xmlerror' module='globals'>
<info></info>
<return type='void'/>
<arg name='ctx' type='void *' info=''/>
<arg name='handler' type='xmlGenericErrorFunc' info=''/>
</function>
- <function name='xmlThrDefSetStructuredErrorFunc' file='globals' module='globals'>
+ <function name='xmlThrDefSetStructuredErrorFunc' file='xmlerror' module='globals'>
<info></info>
<return type='void'/>
<arg name='ctx' type='void *' info=''/>
<arg name='handler' type='xmlStructuredErrorFunc' info=''/>
</function>
- <function name='xmlThrDefSubstituteEntitiesDefaultValue' file='globals' module='globals'>
+ <function name='xmlThrDefSubstituteEntitiesDefaultValue' file='parser' module='globals'>
<info></info>
<return type='int' info=''/>
<arg name='v' type='int' info=''/>
</function>
- <function name='xmlThrDefTreeIndentString' file='globals' module='globals'>
+ <function name='xmlThrDefTreeIndentString' file='xmlsave' module='globals'>
+ <cond>defined(LIBXML_OUTPUT_ENABLED)</cond>
<info></info>
<return type='const char *' info=''/>
<arg name='v' type='const char *' info=''/>
@@ -16989,7 +16886,7 @@ Could we use @subtypes for this?'/>
<return type='int' info='1 if valid or 0 otherwise'/>
<arg name='ctxt' type='xmlValidCtxtPtr' info='the validation context'/>
<arg name='doc' type='xmlDocPtr' info='a document instance'/>
- <arg name='root' type='xmlNodePtr' info=''/>
+ <arg name='root' type='xmlNodePtr' info='an element instance'/>
</function>
<function name='xmlValidateElementDecl' file='valid' module='valid'>
<cond>defined(LIBXML_VALID_ENABLED)</cond>
@@ -17000,7 +16897,6 @@ Could we use @subtypes for this?'/>
<arg name='elem' type='xmlElementPtr' info='an element definition'/>
</function>
<function name='xmlValidateNCName' file='tree' module='tree'>
- <cond>defined(LIBXML_TREE_ENABLED) || defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) || defined(LIBXML_DEBUG_ENABLED) || defined (LIBXML_HTML_ENABLED) || defined(LIBXML_SAX1_ENABLED) || defined(LIBXML_HTML_ENABLED) || defined(LIBXML_WRITER_ENABLED) || defined(LIBXML_LEGACY_ENABLED)</cond>
<info>Check that a value conforms to the lexical space of NCName</info>
<return type='int' info='0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.'/>
<arg name='value' type='const xmlChar *' info='the value to check'/>
@@ -17622,13 +17518,13 @@ Could we use @subtypes for this?'/>
</function>
<function name='xmlXPathIsInf' file='xpath' module='xpath'>
<cond>defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)</cond>
- <info></info>
+ <info>Checks whether a double is an infinity.</info>
<return type='int' info='1 if the value is +Infinite, -1 if -Infinite, 0 otherwise'/>
<arg name='val' type='double' info='a double value'/>
</function>
<function name='xmlXPathIsNaN' file='xpath' module='xpath'>
<cond>defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)</cond>
- <info></info>
+ <info>Checks whether a double is a NaN.</info>
<return type='int' info='1 if the value is a NaN, 0 otherwise'/>
<arg name='val' type='double' info='a double value'/>
</function>
diff --git a/doc/xmlcatalog.1 b/doc/xmlcatalog.1
index 15ab9f73..0e1c1afe 100644
--- a/doc/xmlcatalog.1
+++ b/doc/xmlcatalog.1
@@ -2,12 +2,12 @@
.\" Title: xmlcatalog
.\" Author: John Fleck <jfleck@inkstain.net>
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\" Date: 04/26/2023
+.\" Date: 11/04/2023
.\" Manual: xmlcatalog Manual
.\" Source: libxml2
.\" Language: English
.\"
-.TH "XMLCATALOG" "1" "04/26/2023" "libxml2" "xmlcatalog Manual"
+.TH "XMLCATALOG" "1" "11/04/2023" "libxml2" "xmlcatalog Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/doc/xmllint.1 b/doc/xmllint.1
index a6b9ba6e..538bf4b8 100644
--- a/doc/xmllint.1
+++ b/doc/xmllint.1
@@ -2,12 +2,12 @@
.\" Title: xmllint
.\" Author: John Fleck <jfleck@inkstain.net>
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\" Date: 04/26/2023
+.\" Date: 11/04/2023
.\" Manual: xmllint Manual
.\" Source: libxml2
.\" Language: English
.\"
-.TH "XMLLINT" "1" "04/26/2023" "libxml2" "xmllint Manual"
+.TH "XMLLINT" "1" "11/04/2023" "libxml2" "xmllint Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -31,7 +31,7 @@
xmllint \- command line XML tool
.SH "SYNOPSIS"
.HP \w'\fBxmllint\fR\ 'u
-\fBxmllint\fR [\fB\-\-version\fR | \fB\-\-debug\fR | \fB\-\-quiet\fR | \fB\-\-shell\fR | \fB\-\-xpath\ "\fR\fB\fIXPath_expression\fR\fR\fB"\fR | \fB\-\-debugent\fR | \fB\-\-copy\fR | \fB\-\-recover\fR | \fB\-\-nodict\fR | \fB\-\-noent\fR | \fB\-\-noout\fR | \fB\-\-nonet\fR | \fB\-\-path\ "\fR\fB\fIPATH(S)\fR\fR\fB"\fR | \fB\-\-load\-trace\fR | \fB\-\-htmlout\fR | \fB\-\-nowrap\fR | \fB\-\-valid\fR | \fB\-\-postvalid\fR | \fB\-\-dtdvalid\ \fR\fB\fIURL\fR\fR | \fB\-\-dtdvalidfpi\ \fR\fB\fIFPI\fR\fR | \fB\-\-timing\fR | \fB\-\-output\ \fR\fB\fIFILE\fR\fR | \fB\-\-repeat\fR | \fB\-\-insert\fR | \fB\-\-compress\fR | \fB\-\-html\fR | \fB\-\-xmlout\fR | \fB\-\-push\fR | \fB\-\-memory\fR | \fB\-\-maxmem\ \fR\fB\fINBBYTES\fR\fR | \fB\-\-nowarning\fR | \fB\-\-noblanks\fR | \fB\-\-nocdata\fR | \fB\-\-format\fR | \fB\-\-encode\ \fR\fB\fIENCODING\fR\fR | \fB\-\-dropdtd\fR | \fB\-\-nsclean\fR | \fB\-\-testIO\fR | \fB\-\-catalogs\fR | \fB\-\-nocatalogs\fR | \fB\-\-auto\fR | \fB\-\-xinclude\fR | \fB\-\-noxincludenode\fR | \fB\-\-loaddtd\fR | \fB\-\-dtdattr\fR | \fB\-\-stream\fR | \fB\-\-walker\fR | \fB\-\-pattern\ \fR\fB\fIPATTERNVALUE\fR\fR | \fB\-\-chkregister\fR | \fB\-\-relaxng\ \fR\fB\fISCHEMA\fR\fR | \fB\-\-schema\ \fR\fB\fISCHEMA\fR\fR | \fB\-\-c14n\fR | \fB\-\-pedantic\fR] {\fIXML\-FILE(S)\fR... | \-}
+\fBxmllint\fR [\fB\-\-version\fR | \fB\-\-debug\fR | \fB\-\-quiet\fR | \fB\-\-shell\fR | \fB\-\-xpath\ "\fR\fB\fIXPath_expression\fR\fR\fB"\fR | \fB\-\-debugent\fR | \fB\-\-copy\fR | \fB\-\-recover\fR | \fB\-\-nodict\fR | \fB\-\-noent\fR | \fB\-\-noout\fR | \fB\-\-nonet\fR | \fB\-\-path\ "\fR\fB\fIPATH(S)\fR\fR\fB"\fR | \fB\-\-load\-trace\fR | \fB\-\-htmlout\fR | \fB\-\-nowrap\fR | \fB\-\-valid\fR | \fB\-\-postvalid\fR | \fB\-\-dtdvalid\ \fR\fB\fIURL\fR\fR | \fB\-\-dtdvalidfpi\ \fR\fB\fIFPI\fR\fR | \fB\-\-timing\fR | \fB\-\-output\ \fR\fB\fIFILE\fR\fR | \fB\-\-repeat\fR | \fB\-\-insert\fR | \fB\-\-compress\fR | \fB\-\-html\fR | \fB\-\-xmlout\fR | \fB\-\-push\fR | \fB\-\-memory\fR | \fB\-\-max\-ampl\ \fR\fB\fIINTEGER\fR\fR | \fB\-\-maxmem\ \fR\fB\fINBBYTES\fR\fR | \fB\-\-nowarning\fR | \fB\-\-noblanks\fR | \fB\-\-nocdata\fR | \fB\-\-format\fR | \fB\-\-encode\ \fR\fB\fIENCODING\fR\fR | \fB\-\-dropdtd\fR | \fB\-\-nsclean\fR | \fB\-\-testIO\fR | \fB\-\-catalogs\fR | \fB\-\-nocatalogs\fR | \fB\-\-auto\fR | \fB\-\-xinclude\fR | \fB\-\-noxincludenode\fR | \fB\-\-loaddtd\fR | \fB\-\-dtdattr\fR | \fB\-\-stream\fR | \fB\-\-walker\fR | \fB\-\-pattern\ \fR\fB\fIPATTERNVALUE\fR\fR | \fB\-\-chkregister\fR | \fB\-\-relaxng\ \fR\fB\fISCHEMA\fR\fR | \fB\-\-schema\ \fR\fB\fISCHEMA\fR\fR | \fB\-\-c14n\fR | \fB\-\-pedantic\fR] {\fIXML\-FILE(S)\fR... | \-}
.HP \w'\fBxmllint\fR\ 'u
\fBxmllint\fR \fB\-\-help\fR
.SH "DESCRIPTION"
@@ -199,6 +199,11 @@ Display all the documents loaded during the processing to
stderr\&.
.RE
.PP
+\fB\-\-max\-ampl \fR\fB\fIINTEGER\fR\fR
+.RS 4
+Set the maximum amplification factor which protects against exponential entity expansion ("billion laughs")\&. The default value is 5\&. Documents making heavy use of entity expansion may require a higher value\&.
+.RE
+.PP
\fB\-\-maxmem \fR\fB\fINNBYTES\fR\fR
.RS 4
Test the parser memory support\&.
diff --git a/doc/xmllint.html b/doc/xmllint.html
index 9e2e7ce6..e128c393 100644
--- a/doc/xmllint.html
+++ b/doc/xmllint.html
@@ -1,4 +1,4 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>xmllint</title><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry"><a name="idm1"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>xmllint &#8212; command line <acronym class="acronym">XML</acronym> tool</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">xmllint</code> [ <code class="option">--version</code> | <code class="option">--debug</code> | <code class="option">--quiet</code> | <code class="option">--shell</code> | <code class="option">--xpath "<em class="replaceable"><code>XPath_expression</code></em>"</code> | <code class="option">--debugent</code> | <code class="option">--copy</code> | <code class="option">--recover</code> | <code class="option">--nodict</code> | <code class="option">--noent</code> | <code class="option">--noout</code> | <code class="option">--nonet</code> | <code class="option">--path "<em class="replaceable"><code>PATH(S)</code></em>"</code> | <code class="option">--load-trace</code> | <code class="option">--htmlout</code> | <code class="option">--nowrap</code> | <code class="option">--valid</code> | <code class="option">--postvalid</code> | <code class="option">--dtdvalid <em class="replaceable"><code>URL</code></em></code> | <code class="option">--dtdvalidfpi <em class="replaceable"><code>FPI</code></em></code> | <code class="option">--timing</code> | <code class="option">--output <em class="replaceable"><code>FILE</code></em></code> | <code class="option">--repeat</code> | <code class="option">--insert</code> | <code class="option">--compress</code> | <code class="option">--html</code> | <code class="option">--xmlout</code> | <code class="option">--push</code> | <code class="option">--memory</code> | <code class="option">--maxmem <em class="replaceable"><code>NBBYTES</code></em></code> | <code class="option">--nowarning</code> | <code class="option">--noblanks</code> | <code class="option">--nocdata</code> | <code class="option">--format</code> | <code class="option">--encode <em class="replaceable"><code>ENCODING</code></em></code> | <code class="option">--dropdtd</code> | <code class="option">--nsclean</code> | <code class="option">--testIO</code> | <code class="option">--catalogs</code> | <code class="option">--nocatalogs</code> | <code class="option">--auto</code> | <code class="option">--xinclude</code> | <code class="option">--noxincludenode</code> | <code class="option">--loaddtd</code> | <code class="option">--dtdattr</code> | <code class="option">--stream</code> | <code class="option">--walker</code> | <code class="option">--pattern <em class="replaceable"><code>PATTERNVALUE</code></em></code> | <code class="option">--chkregister</code> | <code class="option">--relaxng <em class="replaceable"><code>SCHEMA</code></em></code> | <code class="option">--schema <em class="replaceable"><code>SCHEMA</code></em></code> | <code class="option">--c14n</code> | <code class="option">--pedantic</code> ] { <em class="replaceable"><code>XML-FILE(S)</code></em>... | - }</p></div><div class="cmdsynopsis"><p><code class="command">xmllint</code> <code class="option">--help</code> </p></div></div><div class="refsect1"><a name="description"></a><h2>DESCRIPTION</h2><p>
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>xmllint</title><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry"><a name="idm1"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>xmllint &#8212; command line <acronym class="acronym">XML</acronym> tool</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">xmllint</code> [ <code class="option">--version</code> | <code class="option">--debug</code> | <code class="option">--quiet</code> | <code class="option">--shell</code> | <code class="option">--xpath "<em class="replaceable"><code>XPath_expression</code></em>"</code> | <code class="option">--debugent</code> | <code class="option">--copy</code> | <code class="option">--recover</code> | <code class="option">--nodict</code> | <code class="option">--noent</code> | <code class="option">--noout</code> | <code class="option">--nonet</code> | <code class="option">--path "<em class="replaceable"><code>PATH(S)</code></em>"</code> | <code class="option">--load-trace</code> | <code class="option">--htmlout</code> | <code class="option">--nowrap</code> | <code class="option">--valid</code> | <code class="option">--postvalid</code> | <code class="option">--dtdvalid <em class="replaceable"><code>URL</code></em></code> | <code class="option">--dtdvalidfpi <em class="replaceable"><code>FPI</code></em></code> | <code class="option">--timing</code> | <code class="option">--output <em class="replaceable"><code>FILE</code></em></code> | <code class="option">--repeat</code> | <code class="option">--insert</code> | <code class="option">--compress</code> | <code class="option">--html</code> | <code class="option">--xmlout</code> | <code class="option">--push</code> | <code class="option">--memory</code> | <code class="option">--max-ampl <em class="replaceable"><code>INTEGER</code></em></code> | <code class="option">--maxmem <em class="replaceable"><code>NBBYTES</code></em></code> | <code class="option">--nowarning</code> | <code class="option">--noblanks</code> | <code class="option">--nocdata</code> | <code class="option">--format</code> | <code class="option">--encode <em class="replaceable"><code>ENCODING</code></em></code> | <code class="option">--dropdtd</code> | <code class="option">--nsclean</code> | <code class="option">--testIO</code> | <code class="option">--catalogs</code> | <code class="option">--nocatalogs</code> | <code class="option">--auto</code> | <code class="option">--xinclude</code> | <code class="option">--noxincludenode</code> | <code class="option">--loaddtd</code> | <code class="option">--dtdattr</code> | <code class="option">--stream</code> | <code class="option">--walker</code> | <code class="option">--pattern <em class="replaceable"><code>PATTERNVALUE</code></em></code> | <code class="option">--chkregister</code> | <code class="option">--relaxng <em class="replaceable"><code>SCHEMA</code></em></code> | <code class="option">--schema <em class="replaceable"><code>SCHEMA</code></em></code> | <code class="option">--c14n</code> | <code class="option">--pedantic</code> ] { <em class="replaceable"><code>XML-FILE(S)</code></em>... | - }</p></div><div class="cmdsynopsis"><p><code class="command">xmllint</code> <code class="option">--help</code> </p></div></div><div class="refsect1"><a name="description"></a><h2>DESCRIPTION</h2><p>
The <span class="command"><strong>xmllint</strong></span> program parses one or more <acronym class="acronym">XML</acronym> files,
specified on the command line as <em class="replaceable"><code>XML-FILE</code></em>
(or the standard input if the filename provided
@@ -46,6 +46,11 @@
</p></dd><dt><span class="term"><code class="option">--insert</code></span></dt><dd><p>Test for valid insertions.</p></dd><dt><span class="term"><code class="option">--loaddtd</code></span></dt><dd><p>Fetch an external <acronym class="acronym">DTD</acronym>.</p></dd><dt><span class="term"><code class="option">--load-trace</code></span></dt><dd><p>
Display all the documents loaded during the processing
to <code class="filename">stderr</code>.
+ </p></dd><dt><span class="term"><code class="option">--max-ampl <em class="replaceable"><code>INTEGER</code></em></code></span></dt><dd><p>
+ Set the maximum amplification factor which protects against
+ exponential entity expansion ("billion laughs"). The default value
+ is 5. Documents making heavy use of entity expansion may require a
+ higher value.
</p></dd><dt><span class="term"><code class="option">--maxmem <em class="replaceable"><code>NNBYTES</code></em></code></span></dt><dd><p>
Test the parser memory support. <em class="replaceable"><code>NNBYTES</code></em>
is the maximum number of bytes the library is allowed to allocate.