updated libxml2 to 2.5.10
[TestXSLT.git] / libxml2 / doc / html / libxml-hash.html
index 78b23b7..2be05a7 100644 (file)
-<HTML
-><HEAD
-><TITLE
->hash</TITLE
-><META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="Gnome XML Library Reference Manual"
-HREF="book1.html"><LINK
-REL="UP"
-TITLE="Libxml Library Reference"
-HREF="libxml-lib.html"><LINK
-REL="PREVIOUS"
-TITLE="encoding"
-HREF="libxml-encoding.html"><LINK
-REL="NEXT"
-TITLE="debugXML"
-HREF="libxml-debugxml.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-WIDTH="100%"
-BORDER="0"
-BGCOLOR="#000000"
-CELLPADDING="1"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="4"
-ALIGN="center"
-><FONT
-COLOR="#FFFFFF"
-SIZE="5"
->Gnome XML Library Reference Manual</FONT
-></TH
-></TR
-><TR
-><TD
-WIDTH="25%"
-BGCOLOR="#C00000"
-ALIGN="left"
-><A
-HREF="libxml-encoding.html"
-><FONT
-COLOR="#FFFFFF"
-SIZE="3"
-><B
->&#60;&#60;&#60; Previous Page</B
-></FONT
-></A
-></TD
-><TD
-WIDTH="25%"
-BGCOLOR="#0000C0"
-ALIGN="center"
-><FONT
-COLOR="#FFFFFF"
-SIZE="3"
-><B
-><A
-HREF="book1.html"
-><FONT
-COLOR="#FFFFFF"
-SIZE="3"
-><B
->Home</B
-></FONT
-></A
-></B
-></FONT
-></TD
-><TD
-WIDTH="25%"
-BGCOLOR="#00C000"
-ALIGN="center"
-><FONT
-COLOR="#FFFFFF"
-SIZE="3"
-><B
-><A
-HREF="libxml-lib.html"
-><FONT
-COLOR="#FFFFFF"
-SIZE="3"
-><B
->Up</B
-></FONT
-></A
-></B
-></FONT
-></TD
-><TD
-WIDTH="25%"
-BGCOLOR="#C00000"
-ALIGN="right"
-><A
-HREF="libxml-debugxml.html"
-><FONT
-COLOR="#FFFFFF"
-SIZE="3"
-><B
->Next Page &#62;&#62;&#62;</B
-></FONT
-></A
-></TD
-></TR
-></TABLE
-></DIV
-><H1
-><A
-NAME="LIBXML-HASH">hash</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN25507"
-></A
-><H2
->Name</H2
->hash&nbsp;--&nbsp;</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN25510"><H2
->Synopsis</H2
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->&#13;
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>hash</title><meta name="generator" content="DocBook XSL Stylesheets V1.58.1"><style xmlns="http://www.w3.org/TR/xhtml1/transitional" type="text/css">
+        .synopsis, .classsynopsis {
+            background: #eeeeee;
+            border: solid 1px #aaaaaa;
+            padding: 0.5em;
+        }
+        .programlisting {
+            background: #eeeeff;
+            border: solid 1px #aaaaff;
+            padding: 0.5em;
+        }
+        .variablelist {
+            padding: 4px;
+            margin-left: 3em;
+        }
+        .navigation {
+            background: #ffeeee;
+            border: solid 1px #ffaaaa;
+            margin-top: 0.5em;
+            margin-bottom: 0.5em;
+        }
+        .navigation a {
+            color: #770000;
+        }
+        .navigation a:visited {
+            color: #550000;
+        }
+        .navigation .title {
+            font-size: 200%;
+        }
+      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="libxml-lib.html" title="Libxml Library Reference"><link rel="previous" href="libxml-encoding.html" title="encoding"><link rel="next" href="libxml-debugXML.html" title="debugXML"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-encoding.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></img></a></td><td><a accesskey="u" href="libxml-lib.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></img></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></img></a></td><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-debugXML.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></img></a></td></tr></table><div class="refentry" lang="en"><a name="libxml-hash"></a><div class="titlepage"></div><div class="refnamediv"><h2>hash</h2><p>hash &#8212; </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">
 
-struct      <A
-HREF="libxml-hash.html#XMLHASHTABLE"
->xmlHashTable</A
->;
-typedef     <A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
->;
-void        (<A
-HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
->*xmlHashDeallocator</A
->)           (void *payload,
-                                             <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name);
-void*       (<A
-HREF="libxml-hash.html#XMLHASHCOPIER"
->*xmlHashCopier</A
->)                (void *payload,
-                                             <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name);
-void        (<A
-HREF="libxml-hash.html#XMLHASHSCANNER"
->*xmlHashScanner</A
->)               (void *payload,
+
+
+struct      <a href="libxml-hash.html#xmlHashTable">xmlHashTable</a>;
+typedef     <a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>;
+void        (<a href="libxml-hash.html#xmlHashDeallocator">*xmlHashDeallocator</a>)           (void *payload,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+void*       (<a href="libxml-hash.html#xmlHashCopier">*xmlHashCopier</a>)                (void *payload,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+void        (<a href="libxml-hash.html#xmlHashScanner">*xmlHashScanner</a>)               (void *payload,
                                              void *data,
-                                             <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name);
-void        (<A
-HREF="libxml-hash.html#XMLHASHSCANNERFULL"
->*xmlHashScannerFull</A
->)           (void *payload,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+void        (<a href="libxml-hash.html#xmlHashScannerFull">*xmlHashScannerFull</a>)           (void *payload,
                                              void *data,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name2,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name3);
-<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> <A
-HREF="libxml-hash.html#XMLHASHCREATE"
->xmlHashCreate</A
->               (int size);
-void        <A
-HREF="libxml-hash.html#XMLHASHFREE"
->xmlHashFree</A
->                     (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             <A
-HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
->xmlHashDeallocator</A
-> f);
-int         <A
-HREF="libxml-hash.html#XMLHASHADDENTRY"
->xmlHashAddEntry</A
->                 (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3);
+<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> <a href="libxml-hash.html#xmlHashCreate">xmlHashCreate</a>               (int size);
+void        <a href="libxml-hash.html#xmlHashFree">xmlHashFree</a>                     (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+int         <a href="libxml-hash.html#xmlHashAddEntry">xmlHashAddEntry</a>                 (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
                                              void *userdata);
-int         <A
-HREF="libxml-hash.html#XMLHASHUPDATEENTRY"
->xmlHashUpdateEntry</A
->              (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
+int         <a href="libxml-hash.html#xmlHashUpdateEntry">xmlHashUpdateEntry</a>              (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
                                              void *userdata,
-                                             <A
-HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
->xmlHashDeallocator</A
-> f);
-int         <A
-HREF="libxml-hash.html#XMLHASHADDENTRY2"
->xmlHashAddEntry2</A
->                (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name2,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+int         <a href="libxml-hash.html#xmlHashAddEntry2">xmlHashAddEntry2</a>                (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
                                              void *userdata);
-int         <A
-HREF="libxml-hash.html#XMLHASHUPDATEENTRY2"
->xmlHashUpdateEntry2</A
->             (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name2,
+int         <a href="libxml-hash.html#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a>             (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
                                              void *userdata,
-                                             <A
-HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
->xmlHashDeallocator</A
-> f);
-int         <A
-HREF="libxml-hash.html#XMLHASHADDENTRY3"
->xmlHashAddEntry3</A
->                (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name2,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name3,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+int         <a href="libxml-hash.html#xmlHashAddEntry3">xmlHashAddEntry3</a>                (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3,
                                              void *userdata);
-int         <A
-HREF="libxml-hash.html#XMLHASHUPDATEENTRY3"
->xmlHashUpdateEntry3</A
->             (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name2,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name3,
+int         <a href="libxml-hash.html#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a>             (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3,
                                              void *userdata,
-                                             <A
-HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
->xmlHashDeallocator</A
-> f);
-int         <A
-HREF="libxml-hash.html#XMLHASHREMOVEENTRY"
->xmlHashRemoveEntry</A
->              (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             <A
-HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
->xmlHashDeallocator</A
-> f);
-int         <A
-HREF="libxml-hash.html#XMLHASHREMOVEENTRY2"
->xmlHashRemoveEntry2</A
->             (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name2,
-                                             <A
-HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
->xmlHashDeallocator</A
-> f);
-int         <A
-HREF="libxml-hash.html#XMLHASHREMOVEENTRY3"
->xmlHashRemoveEntry3</A
->             (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name2,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name3,
-                                             <A
-HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
->xmlHashDeallocator</A
-> f);
-void*       <A
-HREF="libxml-hash.html#XMLHASHLOOKUP"
->xmlHashLookup</A
->                   (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name);
-void*       <A
-HREF="libxml-hash.html#XMLHASHLOOKUP2"
->xmlHashLookup2</A
->                  (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name2);
-void*       <A
-HREF="libxml-hash.html#XMLHASHLOOKUP3"
->xmlHashLookup3</A
->                  (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name2,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name3);
-<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> <A
-HREF="libxml-hash.html#XMLHASHCOPY"
->xmlHashCopy</A
->                 (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             <A
-HREF="libxml-hash.html#XMLHASHCOPIER"
->xmlHashCopier</A
-> f);
-int         <A
-HREF="libxml-hash.html#XMLHASHSIZE"
->xmlHashSize</A
->                     (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table);
-void        <A
-HREF="libxml-hash.html#XMLHASHSCAN"
->xmlHashScan</A
->                     (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             <A
-HREF="libxml-hash.html#XMLHASHSCANNER"
->xmlHashScanner</A
-> f,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+int         <a href="libxml-hash.html#xmlHashRemoveEntry">xmlHashRemoveEntry</a>              (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+int         <a href="libxml-hash.html#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a>             (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+int         <a href="libxml-hash.html#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a>             (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+void*       <a href="libxml-hash.html#xmlHashLookup">xmlHashLookup</a>                   (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
+void*       <a href="libxml-hash.html#xmlHashLookup2">xmlHashLookup2</a>                  (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2);
+void*       <a href="libxml-hash.html#xmlHashLookup3">xmlHashLookup3</a>                  (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3);
+<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> <a href="libxml-hash.html#xmlHashCopy">xmlHashCopy</a>                 (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             <a href="libxml-hash.html#xmlHashCopier">xmlHashCopier</a> f);
+int         <a href="libxml-hash.html#xmlHashSize">xmlHashSize</a>                     (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table);
+void        <a href="libxml-hash.html#xmlHashScan">xmlHashScan</a>                     (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             <a href="libxml-hash.html#xmlHashScanner">xmlHashScanner</a> f,
                                              void *data);
-void        <A
-HREF="libxml-hash.html#XMLHASHSCAN3"
->xmlHashScan3</A
->                    (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name2,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name3,
-                                             <A
-HREF="libxml-hash.html#XMLHASHSCANNER"
->xmlHashScanner</A
-> f,
+void        <a href="libxml-hash.html#xmlHashScan3">xmlHashScan3</a>                    (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3,
+                                             <a href="libxml-hash.html#xmlHashScanner">xmlHashScanner</a> f,
                                              void *data);
-void        <A
-HREF="libxml-hash.html#XMLHASHSCANFULL"
->xmlHashScanFull</A
->                 (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             <A
-HREF="libxml-hash.html#XMLHASHSCANNERFULL"
->xmlHashScannerFull</A
-> f,
+void        <a href="libxml-hash.html#xmlHashScanFull">xmlHashScanFull</a>                 (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             <a href="libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f,
                                              void *data);
-void        <A
-HREF="libxml-hash.html#XMLHASHSCANFULL3"
->xmlHashScanFull3</A
->                (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name2,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name3,
-                                             <A
-HREF="libxml-hash.html#XMLHASHSCANNERFULL"
->xmlHashScannerFull</A
-> f,
-                                             void *data);</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN25608"
-></A
-><H2
->Description</H2
-><P
-></P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN25611"
-></A
-><H2
->Details</H2
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN25613"
-></A
-><H3
-><A
-NAME="XMLHASHTABLE"
-></A
->struct xmlHashTable</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->struct xmlHashTable;</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN25618"
-></A
-><H3
-><A
-NAME="XMLHASHTABLEPTR"
-></A
->xmlHashTablePtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlHashTable *xmlHashTablePtr;</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN25623"
-></A
-><H3
-><A
-NAME="XMLHASHDEALLOCATOR"
-></A
->xmlHashDeallocator ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void        (*xmlHashDeallocator)           (void *payload,
-                                             <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name);</PRE
-></TD
-></TR
-></TABLE
-><P
->Callback to free data from a hash.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN25630"><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->payload</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the data in the hash</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the name associated</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN25643"
-></A
-><H3
-><A
-NAME="XMLHASHCOPIER"
-></A
->xmlHashCopier ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void*       (*xmlHashCopier)                (void *payload,
-                                             <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name);</PRE
-></TD
-></TR
-></TABLE
-><P
->Callback to copy data from a hash.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN25650"><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->payload</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the data in the hash</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the name associated</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN25663"
-></A
-><H3
-><A
-NAME="XMLHASHSCANNER"
-></A
->xmlHashScanner ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void        (*xmlHashScanner)               (void *payload,
+void        <a href="libxml-hash.html#xmlHashScanFull3">xmlHashScanFull3</a>                (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3,
+                                             <a href="libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f,
+                                             void *data);
+</pre></div><div class="refsect1" lang="en"><h2>Description</h2><p>
+
+</p></div><div class="refsect1" lang="en"><h2>Details</h2><div class="refsect2" lang="en"><h3><a name="xmlHashTable"></a>struct xmlHashTable</h3><pre class="programlisting">struct xmlHashTable;</pre><p>
+
+</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashTablePtr"></a>xmlHashTablePtr</h3><pre class="programlisting">typedef xmlHashTable *xmlHashTablePtr;
+</pre><p>
+
+</p></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashDeallocator"></a>xmlHashDeallocator ()</h3><pre class="programlisting">void        (*xmlHashDeallocator)           (void *payload,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Callback to free data from a hash.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>payload</tt></i> :</span></td><td>  the data in the hash
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>  the name associated
+</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashCopier"></a>xmlHashCopier ()</h3><pre class="programlisting">void*       (*xmlHashCopier)                (void *payload,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Callback to copy data from a hash.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>payload</tt></i> :</span></td><td>  the data in the hash
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>  the name associated
+</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashScanner"></a>xmlHashScanner ()</h3><pre class="programlisting">void        (*xmlHashScanner)               (void *payload,
                                              void *data,
-                                             <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name);</PRE
-></TD
-></TR
-></TABLE
-><P
->Callback when scanning data in a hash with the simple scanner.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN25670"><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->payload</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the data in the hash</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->data</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  extra scannner data</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the name associated</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN25687"
-></A
-><H3
-><A
-NAME="XMLHASHSCANNERFULL"
-></A
->xmlHashScannerFull ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void        (*xmlHashScannerFull)           (void *payload,
+                                             <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Callback when scanning data in a hash with the simple scanner.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>payload</tt></i> :</span></td><td>  the data in the hash
+</td></tr><tr><td><span class="term"><i><tt>data</tt></i> :</span></td><td>  extra scannner data
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>  the name associated
+</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashScannerFull"></a>xmlHashScannerFull ()</h3><pre class="programlisting">void        (*xmlHashScannerFull)           (void *payload,
                                              void *data,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name2,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name3);</PRE
-></TD
-></TR
-></TABLE
-><P
->Callback when scanning data in a hash with the full scanner.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN25696"><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->payload</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the data in the hash</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->data</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  extra scannner data</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the name associated</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name2</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the second name associated</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name3</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the third name associated</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN25721"
-></A
-><H3
-><A
-NAME="XMLHASHCREATE"
-></A
->xmlHashCreate ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> xmlHashCreate               (int size);</PRE
-></TD
-></TR
-></TABLE
-><P
->Create a new xmlHashTablePtr.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN25728"><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->size</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the size of the hash table</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->the newly created object, or NULL if an error occured.</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN25741"
-></A
-><H3
-><A
-NAME="XMLHASHFREE"
-></A
->xmlHashFree ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void        xmlHashFree                     (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             <A
-HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
->xmlHashDeallocator</A
-> f);</PRE
-></TD
-></TR
-></TABLE
-><P
->Free the hash <TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
-> and its contents. The userdata is
-deallocated with <TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
-> if provided.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN25751"><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the hash table</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the deallocator function for items in the hash</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN25764"
-></A
-><H3
-><A
-NAME="XMLHASHADDENTRY"
-></A
->xmlHashAddEntry ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int         xmlHashAddEntry                 (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             void *userdata);</PRE
-></TD
-></TR
-></TABLE
-><P
->Add the <TT
-CLASS="PARAMETER"
-><I
->userdata</I
-></TT
-> to the hash <TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->. This can later be retrieved
-by using the <TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->. Duplicate names generate errors.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN25775"><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the hash table</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the name of the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->userdata</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> a pointer to the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->0 the addition succeeded and -1 in case of error.</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN25796"
-></A
-><H3
-><A
-NAME="XMLHASHUPDATEENTRY"
-></A
->xmlHashUpdateEntry ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int         xmlHashUpdateEntry              (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3);</pre><p>
+Callback when scanning data in a hash with the full scanner.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>payload</tt></i> :</span></td><td>  the data in the hash
+</td></tr><tr><td><span class="term"><i><tt>data</tt></i> :</span></td><td>  extra scannner data
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td>  the name associated
+</td></tr><tr><td><span class="term"><i><tt>name2</tt></i> :</span></td><td>  the second name associated
+</td></tr><tr><td><span class="term"><i><tt>name3</tt></i> :</span></td><td>  the third name associated
+</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashCreate"></a>xmlHashCreate ()</h3><pre class="programlisting"><a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> xmlHashCreate               (int size);</pre><p>
+Create a new xmlHashTablePtr.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>size</tt></i> :</span></td><td> the size of the hash table
+</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the newly created object, or NULL if an error occured.
+</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashFree"></a>xmlHashFree ()</h3><pre class="programlisting">void        xmlHashFree                     (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);</pre><p>
+Free the hash <i><tt>table</tt></i> and its contents. The userdata is
+deallocated with <i><tt>f</tt></i> if provided.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> the hash table
+</td></tr><tr><td><span class="term"><i><tt>f</tt></i> :</span></td><td>  the deallocator function for items in the hash
+</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashAddEntry"></a>xmlHashAddEntry ()</h3><pre class="programlisting">int         xmlHashAddEntry                 (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             void *userdata);</pre><p>
+Add the <i><tt>userdata</tt></i> to the hash <i><tt>table</tt></i>. This can later be retrieved
+by using the <i><tt>name</tt></i>. Duplicate names generate errors.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> the hash table
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the name of the userdata
+</td></tr><tr><td><span class="term"><i><tt>userdata</tt></i> :</span></td><td> a pointer to the userdata
+</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 the addition succeeded and -1 in case of error.
+</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashUpdateEntry"></a>xmlHashUpdateEntry ()</h3><pre class="programlisting">int         xmlHashUpdateEntry              (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
                                              void *userdata,
-                                             <A
-HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
->xmlHashDeallocator</A
-> f);</PRE
-></TD
-></TR
-></TABLE
-><P
->Add the <TT
-CLASS="PARAMETER"
-><I
->userdata</I
-></TT
-> to the hash <TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->. This can later be retrieved
-by using the <TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->. Existing entry for this <TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
-> will be removed
-and freed with <TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
-> if found.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN25810"><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the hash table</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the name of the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->userdata</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> a pointer to the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the deallocator function for replaced item (if any)</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->0 the addition succeeded and -1 in case of error.</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN25835"
-></A
-><H3
-><A
-NAME="XMLHASHADDENTRY2"
-></A
->xmlHashAddEntry2 ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int         xmlHashAddEntry2                (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name2,
-                                             void *userdata);</PRE
-></TD
-></TR
-></TABLE
-><P
->Add the <TT
-CLASS="PARAMETER"
-><I
->userdata</I
-></TT
-> to the hash <TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->. This can later be retrieved
-by using the (<TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->name2</I
-></TT
->) tuple. Duplicate tuples generate errors.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN25848"><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the hash table</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the name of the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name2</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> a second name of the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->userdata</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> a pointer to the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->0 the addition succeeded and -1 in case of error.</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN25873"
-></A
-><H3
-><A
-NAME="XMLHASHUPDATEENTRY2"
-></A
->xmlHashUpdateEntry2 ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int         xmlHashUpdateEntry2             (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name2,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);</pre><p>
+Add the <i><tt>userdata</tt></i> to the hash <i><tt>table</tt></i>. This can later be retrieved
+by using the <i><tt>name</tt></i>. Existing entry for this <i><tt>name</tt></i> will be removed
+and freed with <i><tt>f</tt></i> if found.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> the hash table
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the name of the userdata
+</td></tr><tr><td><span class="term"><i><tt>userdata</tt></i> :</span></td><td> a pointer to the userdata
+</td></tr><tr><td><span class="term"><i><tt>f</tt></i> :</span></td><td> the deallocator function for replaced item (if any)
+</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 the addition succeeded and -1 in case of error.
+</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashAddEntry2"></a>xmlHashAddEntry2 ()</h3><pre class="programlisting">int         xmlHashAddEntry2                (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             void *userdata);</pre><p>
+Add the <i><tt>userdata</tt></i> to the hash <i><tt>table</tt></i>. This can later be retrieved
+by using the (<i><tt>name</tt></i>, <i><tt>name2</tt></i>) tuple. Duplicate tuples generate errors.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> the hash table
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the name of the userdata
+</td></tr><tr><td><span class="term"><i><tt>name2</tt></i> :</span></td><td> a second name of the userdata
+</td></tr><tr><td><span class="term"><i><tt>userdata</tt></i> :</span></td><td> a pointer to the userdata
+</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 the addition succeeded and -1 in case of error.
+</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashUpdateEntry2"></a>xmlHashUpdateEntry2 ()</h3><pre class="programlisting">int         xmlHashUpdateEntry2             (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
                                              void *userdata,
-                                             <A
-HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
->xmlHashDeallocator</A
-> f);</PRE
-></TD
-></TR
-></TABLE
-><P
->Add the <TT
-CLASS="PARAMETER"
-><I
->userdata</I
-></TT
-> to the hash <TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->. This can later be retrieved
-by using the (<TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->name2</I
-></TT
->) tuple. Existing entry for this tuple will
-be removed and freed with <TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
-> if found.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN25888"><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the hash table</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the name of the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name2</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> a second name of the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->userdata</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> a pointer to the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the deallocator function for replaced item (if any)</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->0 the addition succeeded and -1 in case of error.</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN25917"
-></A
-><H3
-><A
-NAME="XMLHASHADDENTRY3"
-></A
->xmlHashAddEntry3 ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int         xmlHashAddEntry3                (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name2,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name3,
-                                             void *userdata);</PRE
-></TD
-></TR
-></TABLE
-><P
->Add the <TT
-CLASS="PARAMETER"
-><I
->userdata</I
-></TT
-> to the hash <TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->. This can later be retrieved
-by using the tuple (<TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->name2</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->name3</I
-></TT
->). Duplicate entries generate
-errors.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN25932"><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the hash table</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the name of the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name2</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> a second name of the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name3</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> a third name of the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->userdata</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> a pointer to the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->0 the addition succeeded and -1 in case of error.</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN25961"
-></A
-><H3
-><A
-NAME="XMLHASHUPDATEENTRY3"
-></A
->xmlHashUpdateEntry3 ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int         xmlHashUpdateEntry3             (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name2,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name3,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);</pre><p>
+Add the <i><tt>userdata</tt></i> to the hash <i><tt>table</tt></i>. This can later be retrieved
+by using the (<i><tt>name</tt></i>, <i><tt>name2</tt></i>) tuple. Existing entry for this tuple will
+be removed and freed with <i><tt>f</tt></i> if found.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> the hash table
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the name of the userdata
+</td></tr><tr><td><span class="term"><i><tt>name2</tt></i> :</span></td><td> a second name of the userdata
+</td></tr><tr><td><span class="term"><i><tt>userdata</tt></i> :</span></td><td> a pointer to the userdata
+</td></tr><tr><td><span class="term"><i><tt>f</tt></i> :</span></td><td> the deallocator function for replaced item (if any)
+</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 the addition succeeded and -1 in case of error.
+</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashAddEntry3"></a>xmlHashAddEntry3 ()</h3><pre class="programlisting">int         xmlHashAddEntry3                (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3,
+                                             void *userdata);</pre><p>
+Add the <i><tt>userdata</tt></i> to the hash <i><tt>table</tt></i>. This can later be retrieved
+by using the tuple (<i><tt>name</tt></i>, <i><tt>name2</tt></i>, <i><tt>name3</tt></i>). Duplicate entries generate
+errors.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> the hash table
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the name of the userdata
+</td></tr><tr><td><span class="term"><i><tt>name2</tt></i> :</span></td><td> a second name of the userdata
+</td></tr><tr><td><span class="term"><i><tt>name3</tt></i> :</span></td><td> a third name of the userdata
+</td></tr><tr><td><span class="term"><i><tt>userdata</tt></i> :</span></td><td> a pointer to the userdata
+</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 the addition succeeded and -1 in case of error.
+</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashUpdateEntry3"></a>xmlHashUpdateEntry3 ()</h3><pre class="programlisting">int         xmlHashUpdateEntry3             (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3,
                                              void *userdata,
-                                             <A
-HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
->xmlHashDeallocator</A
-> f);</PRE
-></TD
-></TR
-></TABLE
-><P
->Add the <TT
-CLASS="PARAMETER"
-><I
->userdata</I
-></TT
-> to the hash <TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->. This can later be retrieved
-by using the tuple (<TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->name2</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->name3</I
-></TT
->). Existing entry for this tuple
-will be removed and freed with <TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
-> if found.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN25978"><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the hash table</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the name of the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name2</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> a second name of the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name3</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> a third name of the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->userdata</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> a pointer to the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the deallocator function for replaced item (if any)</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->0 the addition succeeded and -1 in case of error.</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN26011"
-></A
-><H3
-><A
-NAME="XMLHASHREMOVEENTRY"
-></A
->xmlHashRemoveEntry ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int         xmlHashRemoveEntry              (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             <A
-HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
->xmlHashDeallocator</A
-> f);</PRE
-></TD
-></TR
-></TABLE
-><P
->Find the userdata specified by the <TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
-> and remove
-it from the hash <TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->. Existing userdata for this tuple will be removed
-and freed with <TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
->.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN26023"><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the hash table</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the name of the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the deallocator function for removed item (if any)</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->0 if the removal succeeded and -1 in case of error or not found.</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN26044"
-></A
-><H3
-><A
-NAME="XMLHASHREMOVEENTRY2"
-></A
->xmlHashRemoveEntry2 ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int         xmlHashRemoveEntry2             (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name2,
-                                             <A
-HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
->xmlHashDeallocator</A
-> f);</PRE
-></TD
-></TR
-></TABLE
-><P
->Find the userdata specified by the (<TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->name2</I
-></TT
->) tuple and remove
-it from the hash <TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->. Existing userdata for this tuple will be removed
-and freed with <TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
->.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN26058"><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the hash table</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the name of the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name2</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> a second name of the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the deallocator function for removed item (if any)</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->0 if the removal succeeded and -1 in case of error or not found.</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN26083"
-></A
-><H3
-><A
-NAME="XMLHASHREMOVEENTRY3"
-></A
->xmlHashRemoveEntry3 ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int         xmlHashRemoveEntry3             (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name2,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name3,
-                                             <A
-HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
->xmlHashDeallocator</A
-> f);</PRE
-></TD
-></TR
-></TABLE
-><P
->Find the userdata specified by the (<TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->name2</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->name3</I
-></TT
->) tuple and remove
-it from the hash <TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->. Existing userdata for this tuple will be removed
-and freed with <TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
->.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN26099"><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the hash table</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the name of the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name2</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> a second name of the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name3</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> a third name of the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the deallocator function for removed item (if any)</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->0 if the removal succeeded and -1 in case of error or not found.</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN26128"
-></A
-><H3
-><A
-NAME="XMLHASHLOOKUP"
-></A
->xmlHashLookup ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void*       xmlHashLookup                   (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name);</PRE
-></TD
-></TR
-></TABLE
-><P
->Find the userdata specified by the <TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN26137"><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the hash table</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the name of the userdata</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN26150"
-></A
-><H3
-><A
-NAME="XMLHASHLOOKUP2"
-></A
->xmlHashLookup2 ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void*       xmlHashLookup2                  (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name2);</PRE
-></TD
-></TR
-></TABLE
-><P
->Find the userdata specified by the (<TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->name2</I
-></TT
->) tuple.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN26161"><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the hash table</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the name of the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name2</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> a second name of the userdata</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN26178"
-></A
-><H3
-><A
-NAME="XMLHASHLOOKUP3"
-></A
->xmlHashLookup3 ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void*       xmlHashLookup3                  (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name2,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name3);</PRE
-></TD
-></TR
-></TABLE
-><P
->Find the userdata specified by the (<TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->name2</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->name3</I
-></TT
->) tuple.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN26191"><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the hash table</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the name of the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name2</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> a second name of the userdata</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name3</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> a third name of the userdata</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN26212"
-></A
-><H3
-><A
-NAME="XMLHASHCOPY"
-></A
->xmlHashCopy ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> xmlHashCopy                 (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             <A
-HREF="libxml-hash.html#XMLHASHCOPIER"
->xmlHashCopier</A
-> f);</PRE
-></TD
-></TR
-></TABLE
-><P
->Scan the hash <TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
-> and applied <TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
-> to each value.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN26223"><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the hash table</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the copier function for items in the hash</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->the new table or NULL in case of error.</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN26240"
-></A
-><H3
-><A
-NAME="XMLHASHSIZE"
-></A
->xmlHashSize ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int         xmlHashSize                     (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table);</PRE
-></TD
-></TR
-></TABLE
-><P
->Query the number of elements installed in the hash <TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN26248"><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the hash table</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Returns</I
-></SPAN
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->the number of elements in the hash table or
--1 in case of error</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN26261"
-></A
-><H3
-><A
-NAME="XMLHASHSCAN"
-></A
->xmlHashScan ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void        xmlHashScan                     (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             <A
-HREF="libxml-hash.html#XMLHASHSCANNER"
->xmlHashScanner</A
-> f,
-                                             void *data);</PRE
-></TD
-></TR
-></TABLE
-><P
->Scan the hash <TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
-> and applied <TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
-> to each value.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN26271"><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the hash table</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the scanner function for items in the hash</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->data</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  extra data passed to f</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN26288"
-></A
-><H3
-><A
-NAME="XMLHASHSCAN3"
-></A
->xmlHashScan3 ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void        xmlHashScan3                    (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name2,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name3,
-                                             <A
-HREF="libxml-hash.html#XMLHASHSCANNER"
->xmlHashScanner</A
-> f,
-                                             void *data);</PRE
-></TD
-></TR
-></TABLE
-><P
->Scan the hash <TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
-> and applied <TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
-> to each value matching
-(<TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->name2</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->name3</I
-></TT
->) tuple. If one of the names is null,
-the comparison is considered to match.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN26304"><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the hash table</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the name of the userdata or NULL</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name2</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> a second name of the userdata or NULL</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name3</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> a third name of the userdata or NULL</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the scanner function for items in the hash</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->data</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  extra data passed to f</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN26333"
-></A
-><H3
-><A
-NAME="XMLHASHSCANFULL"
-></A
->xmlHashScanFull ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void        xmlHashScanFull                 (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             <A
-HREF="libxml-hash.html#XMLHASHSCANNERFULL"
->xmlHashScannerFull</A
-> f,
-                                             void *data);</PRE
-></TD
-></TR
-></TABLE
-><P
->Scan the hash <TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
-> and applied <TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
-> to each value.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN26343"><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the hash table</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the scanner function for items in the hash</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->data</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  extra data passed to f</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN26360"
-></A
-><H3
-><A
-NAME="XMLHASHSCANFULL3"
-></A
->xmlHashScanFull3 ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void        xmlHashScanFull3                (<A
-HREF="libxml-hash.html#XMLHASHTABLEPTR"
->xmlHashTablePtr</A
-> table,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name2,
-                                             const <A
-HREF="libxml-tree.html#XMLCHAR"
->xmlChar</A
-> *name3,
-                                             <A
-HREF="libxml-hash.html#XMLHASHSCANNERFULL"
->xmlHashScannerFull</A
-> f,
-                                             void *data);</PRE
-></TD
-></TR
-></TABLE
-><P
->Scan the hash <TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
-> and applied <TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
-> to each value matching
-(<TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->name2</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->name3</I
-></TT
->) tuple. If one of the names is null,
-the comparison is considered to match.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN26376"><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->table</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the hash table</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> the name of the userdata or NULL</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name2</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> a second name of the userdata or NULL</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name3</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> a third name of the userdata or NULL</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the scanner function for items in the hash</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->data</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  extra data passed to f</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><BR
-CLEAR="all"><BR><TABLE
-WIDTH="100%"
-BORDER="0"
-BGCOLOR="#000000"
-CELLPADDING="1"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="25%"
-BGCOLOR="#C00000"
-ALIGN="left"
-><A
-HREF="libxml-encoding.html"
-><FONT
-COLOR="#FFFFFF"
-SIZE="3"
-><B
->&#60;&#60;&#60; Previous Page</B
-></FONT
-></A
-></TD
-><TD
-WIDTH="25%"
-BGCOLOR="#0000C0"
-ALIGN="center"
-><FONT
-COLOR="#FFFFFF"
-SIZE="3"
-><B
-><A
-HREF="book1.html"
-><FONT
-COLOR="#FFFFFF"
-SIZE="3"
-><B
->Home</B
-></FONT
-></A
-></B
-></FONT
-></TD
-><TD
-WIDTH="25%"
-BGCOLOR="#00C000"
-ALIGN="center"
-><FONT
-COLOR="#FFFFFF"
-SIZE="3"
-><B
-><A
-HREF="libxml-lib.html"
-><FONT
-COLOR="#FFFFFF"
-SIZE="3"
-><B
->Up</B
-></FONT
-></A
-></B
-></FONT
-></TD
-><TD
-WIDTH="25%"
-BGCOLOR="#C00000"
-ALIGN="right"
-><A
-HREF="libxml-debugxml.html"
-><FONT
-COLOR="#FFFFFF"
-SIZE="3"
-><B
->Next Page &#62;&#62;&#62;</B
-></FONT
-></A
-></TD
-></TR
-><TR
-><TD
-COLSPAN="2"
-ALIGN="left"
-><FONT
-COLOR="#FFFFFF"
-SIZE="3"
-><B
->encoding</B
-></FONT
-></TD
-><TD
-COLSPAN="2"
-ALIGN="right"
-><FONT
-COLOR="#FFFFFF"
-SIZE="3"
-><B
->debugXML</B
-></FONT
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);</pre><p>
+Add the <i><tt>userdata</tt></i> to the hash <i><tt>table</tt></i>. This can later be retrieved
+by using the tuple (<i><tt>name</tt></i>, <i><tt>name2</tt></i>, <i><tt>name3</tt></i>). Existing entry for this tuple
+will be removed and freed with <i><tt>f</tt></i> if found.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> the hash table
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the name of the userdata
+</td></tr><tr><td><span class="term"><i><tt>name2</tt></i> :</span></td><td> a second name of the userdata
+</td></tr><tr><td><span class="term"><i><tt>name3</tt></i> :</span></td><td> a third name of the userdata
+</td></tr><tr><td><span class="term"><i><tt>userdata</tt></i> :</span></td><td> a pointer to the userdata
+</td></tr><tr><td><span class="term"><i><tt>f</tt></i> :</span></td><td> the deallocator function for replaced item (if any)
+</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 the addition succeeded and -1 in case of error.
+</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashRemoveEntry"></a>xmlHashRemoveEntry ()</h3><pre class="programlisting">int         xmlHashRemoveEntry              (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);</pre><p>
+Find the userdata specified by the <i><tt>name</tt></i> and remove
+it from the hash <i><tt>table</tt></i>. Existing userdata for this tuple will be removed
+and freed with <i><tt>f</tt></i>.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> the hash table
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the name of the userdata
+</td></tr><tr><td><span class="term"><i><tt>f</tt></i> :</span></td><td> the deallocator function for removed item (if any)
+</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 if the removal succeeded and -1 in case of error or not found.
+</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashRemoveEntry2"></a>xmlHashRemoveEntry2 ()</h3><pre class="programlisting">int         xmlHashRemoveEntry2             (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);</pre><p>
+Find the userdata specified by the (<i><tt>name</tt></i>, <i><tt>name2</tt></i>) tuple and remove
+it from the hash <i><tt>table</tt></i>. Existing userdata for this tuple will be removed
+and freed with <i><tt>f</tt></i>.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> the hash table
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the name of the userdata
+</td></tr><tr><td><span class="term"><i><tt>name2</tt></i> :</span></td><td> a second name of the userdata
+</td></tr><tr><td><span class="term"><i><tt>f</tt></i> :</span></td><td> the deallocator function for removed item (if any)
+</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 if the removal succeeded and -1 in case of error or not found.
+</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashRemoveEntry3"></a>xmlHashRemoveEntry3 ()</h3><pre class="programlisting">int         xmlHashRemoveEntry3             (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3,
+                                             <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);</pre><p>
+Find the userdata specified by the (<i><tt>name</tt></i>, <i><tt>name2</tt></i>, <i><tt>name3</tt></i>) tuple and remove
+it from the hash <i><tt>table</tt></i>. Existing userdata for this tuple will be removed
+and freed with <i><tt>f</tt></i>.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> the hash table
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the name of the userdata
+</td></tr><tr><td><span class="term"><i><tt>name2</tt></i> :</span></td><td> a second name of the userdata
+</td></tr><tr><td><span class="term"><i><tt>name3</tt></i> :</span></td><td> a third name of the userdata
+</td></tr><tr><td><span class="term"><i><tt>f</tt></i> :</span></td><td> the deallocator function for removed item (if any)
+</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>0 if the removal succeeded and -1 in case of error or not found.
+</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashLookup"></a>xmlHashLookup ()</h3><pre class="programlisting">void*       xmlHashLookup                   (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
+Find the userdata specified by the <i><tt>name</tt></i>.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> the hash table
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the name of the userdata
+</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashLookup2"></a>xmlHashLookup2 ()</h3><pre class="programlisting">void*       xmlHashLookup2                  (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2);</pre><p>
+Find the userdata specified by the (<i><tt>name</tt></i>, <i><tt>name2</tt></i>) tuple.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> the hash table
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the name of the userdata
+</td></tr><tr><td><span class="term"><i><tt>name2</tt></i> :</span></td><td> a second name of the userdata
+</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashLookup3"></a>xmlHashLookup3 ()</h3><pre class="programlisting">void*       xmlHashLookup3                  (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3);</pre><p>
+Find the userdata specified by the (<i><tt>name</tt></i>, <i><tt>name2</tt></i>, <i><tt>name3</tt></i>) tuple.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> the hash table
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the name of the userdata
+</td></tr><tr><td><span class="term"><i><tt>name2</tt></i> :</span></td><td> a second name of the userdata
+</td></tr><tr><td><span class="term"><i><tt>name3</tt></i> :</span></td><td> a third name of the userdata
+</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashCopy"></a>xmlHashCopy ()</h3><pre class="programlisting"><a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> xmlHashCopy                 (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             <a href="libxml-hash.html#xmlHashCopier">xmlHashCopier</a> f);</pre><p>
+Scan the hash <i><tt>table</tt></i> and applied <i><tt>f</tt></i> to each value.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> the hash table
+</td></tr><tr><td><span class="term"><i><tt>f</tt></i> :</span></td><td>  the copier function for items in the hash
+</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the new table or NULL in case of error.
+</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashSize"></a>xmlHashSize ()</h3><pre class="programlisting">int         xmlHashSize                     (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table);</pre><p>
+Query the number of elements installed in the hash <i><tt>table</tt></i>.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> the hash table
+</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td>the number of elements in the hash table or
+-1 in case of error
+</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashScan"></a>xmlHashScan ()</h3><pre class="programlisting">void        xmlHashScan                     (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             <a href="libxml-hash.html#xmlHashScanner">xmlHashScanner</a> f,
+                                             void *data);</pre><p>
+Scan the hash <i><tt>table</tt></i> and applied <i><tt>f</tt></i> to each value.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> the hash table
+</td></tr><tr><td><span class="term"><i><tt>f</tt></i> :</span></td><td>  the scanner function for items in the hash
+</td></tr><tr><td><span class="term"><i><tt>data</tt></i> :</span></td><td>  extra data passed to f
+</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashScan3"></a>xmlHashScan3 ()</h3><pre class="programlisting">void        xmlHashScan3                    (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3,
+                                             <a href="libxml-hash.html#xmlHashScanner">xmlHashScanner</a> f,
+                                             void *data);</pre><p>
+Scan the hash <i><tt>table</tt></i> and applied <i><tt>f</tt></i> to each value matching
+(<i><tt>name</tt></i>, <i><tt>name2</tt></i>, <i><tt>name3</tt></i>) tuple. If one of the names is null,
+the comparison is considered to match.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> the hash table
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the name of the userdata or NULL
+</td></tr><tr><td><span class="term"><i><tt>name2</tt></i> :</span></td><td> a second name of the userdata or NULL
+</td></tr><tr><td><span class="term"><i><tt>name3</tt></i> :</span></td><td> a third name of the userdata or NULL
+</td></tr><tr><td><span class="term"><i><tt>f</tt></i> :</span></td><td>  the scanner function for items in the hash
+</td></tr><tr><td><span class="term"><i><tt>data</tt></i> :</span></td><td>  extra data passed to f
+</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashScanFull"></a>xmlHashScanFull ()</h3><pre class="programlisting">void        xmlHashScanFull                 (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             <a href="libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f,
+                                             void *data);</pre><p>
+Scan the hash <i><tt>table</tt></i> and applied <i><tt>f</tt></i> to each value.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> the hash table
+</td></tr><tr><td><span class="term"><i><tt>f</tt></i> :</span></td><td>  the scanner function for items in the hash
+</td></tr><tr><td><span class="term"><i><tt>data</tt></i> :</span></td><td>  extra data passed to f
+</td></tr></tbody></table></div></div><hr xmlns="http://www.w3.org/TR/xhtml1/transitional"></hr><div class="refsect2" lang="en"><h3><a name="xmlHashScanFull3"></a>xmlHashScanFull3 ()</h3><pre class="programlisting">void        xmlHashScanFull3                (<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name2,
+                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name3,
+                                             <a href="libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f,
+                                             void *data);</pre><p>
+Scan the hash <i><tt>table</tt></i> and applied <i><tt>f</tt></i> to each value matching
+(<i><tt>name</tt></i>, <i><tt>name2</tt></i>, <i><tt>name3</tt></i>) tuple. If one of the names is null,
+the comparison is considered to match.</p><p>
+
+</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i><tt>table</tt></i> :</span></td><td> the hash table
+</td></tr><tr><td><span class="term"><i><tt>name</tt></i> :</span></td><td> the name of the userdata or NULL
+</td></tr><tr><td><span class="term"><i><tt>name2</tt></i> :</span></td><td> a second name of the userdata or NULL
+</td></tr><tr><td><span class="term"><i><tt>name3</tt></i> :</span></td><td> a third name of the userdata or NULL
+</td></tr><tr><td><span class="term"><i><tt>f</tt></i> :</span></td><td>  the scanner function for items in the hash
+</td></tr><tr><td><span class="term"><i><tt>data</tt></i> :</span></td><td>  extra data passed to f
+</td></tr></tbody></table></div></div></div></div><table xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-encoding.html"><b>&lt;&lt; encoding</b></a></td><td align="right"><a accesskey="n" href="libxml-debugXML.html"><b>debugXML &gt;&gt;</b></a></td></tr></table></body></html>