blob: 46a62e5b9e565c514e6590bd06cc9b2ef1b96c54 [file] [log] [blame]
<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="AEN25152"
></A
><H2
>Name</H2
>hash&nbsp;--&nbsp;</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN25155"><H2
>Synopsis</H2
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="SYNOPSIS"
>&#13;
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,
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,
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,
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,
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,
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,
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,
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,
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 *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 *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="AEN25253"
></A
><H2
>Description</H2
><P
></P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN25256"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN25258"
></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="AEN25263"
></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="AEN25268"
></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="AEN25275"><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="AEN25288"
></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="AEN25295"><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="AEN25308"
></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 *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="AEN25315"><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="AEN25332"
></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,
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="AEN25341"><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="AEN25366"
></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="AEN25373"><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="AEN25386"
></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="AEN25396"><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="AEN25409"
></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="AEN25420"><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="AEN25441"
></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,
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="AEN25455"><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="AEN25480"
></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="AEN25493"><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="AEN25518"
></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,
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="AEN25533"><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="AEN25562"
></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="AEN25577"><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="AEN25606"
></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,
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="AEN25623"><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="AEN25656"
></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="AEN25668"><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="AEN25689"
></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="AEN25703"><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="AEN25728"
></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="AEN25744"><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="AEN25773"
></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="AEN25782"><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="AEN25795"
></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="AEN25806"><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="AEN25823"
></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="AEN25836"><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="AEN25857"
></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="AEN25868"><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="AEN25885"
></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="AEN25893"><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="AEN25906"
></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="AEN25916"><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="AEN25933"
></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="AEN25949"><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="AEN25978"
></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="AEN25988"><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="AEN26005"
></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="AEN26021"><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
>