blob: 227a5608f5efc563a5555dca9734cc85c75709ee [file] [log] [blame]
<HTML
><HEAD
><TITLE
>hash</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.64
"><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</A
></H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN24351"
></A
><H2
>Name</H2
>hash&nbsp;--&nbsp;</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN24354"
></A
><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="AEN24452"
></A
><H2
>Description</H2
><P
></P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN24455"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN24457"
></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="AEN24462"
></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="AEN24467"
></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
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24473"
></A
><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"
>&nbsp;</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"
>&nbsp;</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN24486"
></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
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24492"
></A
><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"
>&nbsp;</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"
>&nbsp;</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN24505"
></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
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24511"
></A
><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"
>&nbsp;</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"
>&nbsp;</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"
>&nbsp;</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN24528"
></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
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24536"
></A
><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"
>&nbsp;</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"
>&nbsp;</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"
>&nbsp;</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"
>&nbsp;</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"
>&nbsp;</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN24561"
></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="AEN24568"
></A
><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"
><I
CLASS="EMPHASIS"
>Returns</I
> :</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="AEN24581"
></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 table and its contents. The userdata is
deallocated with f if provided.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24589"
></A
><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="AEN24602"
></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 userdata to the hash table. This can later be retrieved
by using the name. Duplicate names generate errors.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24610"
></A
><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"
><I
CLASS="EMPHASIS"
>Returns</I
> :</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="AEN24631"
></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 userdata to the hash table. This can later be retrieved
by using the name. Existing entry for this name will be removed
and freed with <TT
CLASS="PARAMETER"
><I
>f</I
></TT
> if found.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24641"
></A
><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"
><I
CLASS="EMPHASIS"
>Returns</I
> :</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="AEN24666"
></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 userdata to the hash table. This can later be retrieved
by using the (name, name2) tuple. Duplicate tuples generate errors.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24675"
></A
><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"
><I
CLASS="EMPHASIS"
>Returns</I
> :</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="AEN24700"
></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 userdata to the hash table. This can later be retrieved
by using the (name, name2) tuple. Existing entry for this tuple will
be removed and freed with <TT
CLASS="PARAMETER"
><I
>f</I
></TT
> if found.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24711"
></A
><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"
><I
CLASS="EMPHASIS"
>Returns</I
> :</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="AEN24740"
></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 userdata to the hash table. This can later be retrieved
by using the tuple (name, name2, name3). Duplicate entries generate
errors.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24750"
></A
><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"
><I
CLASS="EMPHASIS"
>Returns</I
> :</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="AEN24779"
></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 userdata to the hash table. This can later be retrieved
by using the tuple (name, name2, name3). Existing entry for this tuple
will be removed and freed with <TT
CLASS="PARAMETER"
><I
>f</I
></TT
> if found.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24791"
></A
><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"
><I
CLASS="EMPHASIS"
>Returns</I
> :</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="AEN24824"
></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 (name, name2, name3) tuple and remove
it from the hash table. 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="AEN24834"
></A
><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"
><I
CLASS="EMPHASIS"
>Returns</I
> :</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="AEN24855"
></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 (name, name2, name3) tuple and remove
it from the hash table. 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="AEN24866"
></A
><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"
><I
CLASS="EMPHASIS"
>Returns</I
> :</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="AEN24891"
></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 (name, name2, name3) tuple and remove
it from the hash table. 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="AEN24903"
></A
><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"
><I
CLASS="EMPHASIS"
>Returns</I
> :</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="AEN24932"
></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 name.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24940"
></A
><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="AEN24953"
></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 (name, name2) tuple.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24962"
></A
><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="AEN24979"
></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 (name, name2, name3) tuple.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN24989"
></A
><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="AEN25010"
></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 table and applied f to each value.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN25019"
></A
><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"
><I
CLASS="EMPHASIS"
>Returns</I
> :</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="AEN25036"
></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 element installed in the hash table.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN25043"
></A
><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"
><I
CLASS="EMPHASIS"
>Returns</I
> :</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="AEN25056"
></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 table and applied f to each value.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN25064"
></A
><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="AEN25081"
></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 table and applied f to each value matching
(name, name2, name3) tuple. If one of the names is null,
the comparison is considered to match.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN25092"
></A
><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="AEN25121"
></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 table and applied f to each value.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN25129"
></A
><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="AEN25146"
></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 table and applied f to each value matching
(name, name2, name3) tuple. If one of the names is null,
the comparison is considered to match.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN25157"
></A
><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
>