| Table of ContentsStructure xmlHashTablestruct _xmlHashTable
The content of this structure is not made public by the API.
 Typedef xmlHashTable * xmlHashTablePtr
 int	xmlHashAddEntry			(xmlHashTablePtr table, const xmlChar * name,
 void * userdata)
 int	xmlHashAddEntry2		(xmlHashTablePtr table, const xmlChar * name,
 const xmlChar * name2,
 void * userdata)
 int	xmlHashAddEntry3		(xmlHashTablePtr table, const xmlChar * name,
 const xmlChar * name2,
 const xmlChar * name3,
 void * userdata)
 Function type: xmlHashCopier
void *	xmlHashCopier			(void * payload, xmlChar * name)
 xmlHashTablePtr	xmlHashCopy		(xmlHashTablePtr table, xmlHashCopier f)
 xmlHashTablePtr	xmlHashCreate		(int size) Function type: xmlHashDeallocator
void	xmlHashDeallocator		(void * payload, xmlChar * name)
 void	xmlHashFree			(xmlHashTablePtr table, xmlHashDeallocator f)
 void *	xmlHashLookup			(xmlHashTablePtr table, const xmlChar * name)
 void *	xmlHashLookup2			(xmlHashTablePtr table, const xmlChar * name,
 const xmlChar * name2)
 void *	xmlHashLookup3			(xmlHashTablePtr table, const xmlChar * name,
 const xmlChar * name2,
 const xmlChar * name3)
 void *	xmlHashQLookup			(xmlHashTablePtr table, const xmlChar * prefix,
 const xmlChar * name)
 void *	xmlHashQLookup2			(xmlHashTablePtr table, const xmlChar * prefix,
 const xmlChar * name,
 const xmlChar * prefix2,
 const xmlChar * name2)
 void *	xmlHashQLookup3			(xmlHashTablePtr table, const xmlChar * prefix,
 const xmlChar * name,
 const xmlChar * prefix2,
 const xmlChar * name2,
 const xmlChar * prefix3,
 const xmlChar * name3)
 int	xmlHashRemoveEntry		(xmlHashTablePtr table, const xmlChar * name,
 xmlHashDeallocator f)
 int	xmlHashRemoveEntry2		(xmlHashTablePtr table, const xmlChar * name,
 const xmlChar * name2,
 xmlHashDeallocator f)
 int	xmlHashRemoveEntry3		(xmlHashTablePtr table, const xmlChar * name,
 const xmlChar * name2,
 const xmlChar * name3,
 xmlHashDeallocator f)
 void	xmlHashScan			(xmlHashTablePtr table, xmlHashScanner f,
 void * data)
 void	xmlHashScan3			(xmlHashTablePtr table, const xmlChar * name,
 const xmlChar * name2,
 const xmlChar * name3,
 xmlHashScanner f,
 void * data)
 void	xmlHashScanFull			(xmlHashTablePtr table, xmlHashScannerFull f,
 void * data)
 void	xmlHashScanFull3		(xmlHashTablePtr table, const xmlChar * name,
 const xmlChar * name2,
 const xmlChar * name3,
 xmlHashScannerFull f,
 void * data)
 Function type: xmlHashScanner
void	xmlHashScanner			(void * payload, void * data,
 xmlChar * name)
 Function type: xmlHashScannerFull
void	xmlHashScannerFull		(void * payload, void * data,
 const xmlChar * name,
 const xmlChar * name2,
 const xmlChar * name3)
 int	xmlHashSize			(xmlHashTablePtr table) int	xmlHashUpdateEntry		(xmlHashTablePtr table, const xmlChar * name,
 void * userdata,
 xmlHashDeallocator f)
 int	xmlHashUpdateEntry2		(xmlHashTablePtr table, const xmlChar * name,
 const xmlChar * name2,
 void * userdata,
 xmlHashDeallocator f)
 int	xmlHashUpdateEntry3		(xmlHashTablePtr table, const xmlChar * name,
 const xmlChar * name2,
 const xmlChar * name3,
 void * userdata,
 xmlHashDeallocator f)
 DescriptionStructure xmlHashTablestruct _xmlHashTable {
The content of this structure is not made public by the API.
}
 Function: xmlHashAddEntryint	xmlHashAddEntry			(xmlHashTablePtr table, const xmlChar * name,
 void * userdata)
 
 Add the @userdata to the hash @table. This can later be retrieved by using the @name. Duplicate names generate errors. | table: | the hash table |  | name: | the name of the userdata |  | userdata: | a pointer to the userdata |  | Returns: | 0 the addition succeeded and -1 in case of error. | 
Function: xmlHashAddEntry2int	xmlHashAddEntry2		(xmlHashTablePtr table, const xmlChar * name,
 const xmlChar * name2,
 void * userdata)
 
 Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) tuple. Duplicate tuples generate errors. | table: | the hash table |  | name: | the name of the userdata |  | name2: | a second name of the userdata |  | userdata: | a pointer to the userdata |  | Returns: | 0 the addition succeeded and -1 in case of error. | 
Function: xmlHashAddEntry3int	xmlHashAddEntry3		(xmlHashTablePtr table, const xmlChar * name,
 const xmlChar * name2,
 const xmlChar * name3,
 void * userdata)
 
 Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, @name3). Duplicate entries generate errors. | table: | the hash table |  | name: | the name of the userdata |  | name2: | a second name of the userdata |  | name3: | a third name of the userdata |  | userdata: | a pointer to the userdata |  | Returns: | 0 the addition succeeded and -1 in case of error. | 
Function type: xmlHashCopierFunction type: xmlHashCopier
void *	xmlHashCopier			(void * payload, xmlChar * name)
 Callback to copy data from a hash. | payload: | the data in the hash |  | name: | the name associated |  | Returns: | a copy of the data or NULL in case of error. | 
 Function: xmlHashCopyxmlHashTablePtr	xmlHashCopy		(xmlHashTablePtr table, xmlHashCopier f)
 
 Scan the hash @table and applied @f to each value. | table: | the hash table |  | f: | the copier function for items in the hash |  | Returns: | the new table or NULL in case of error. | 
Function: xmlHashCreatexmlHashTablePtr	xmlHashCreate		(int size)
 Create a new xmlHashTablePtr. | size: | the size of the hash table |  | Returns: | the newly created object, or NULL if an error occured. | 
Function type: xmlHashDeallocatorFunction type: xmlHashDeallocator
void	xmlHashDeallocator		(void * payload, xmlChar * name)
 Callback to free data from a hash. | payload: | the data in the hash |  | name: | the name associated | 
 Function: xmlHashFreevoid	xmlHashFree			(xmlHashTablePtr table, xmlHashDeallocator f)
 
 Free the hash @table and its contents. The userdata is deallocated with @f if provided. | table: | the hash table |  | f: | the deallocator function for items in the hash | 
Function: xmlHashLookupvoid *	xmlHashLookup			(xmlHashTablePtr table, const xmlChar * name)
 
 Find the userdata specified by the @name. | table: | the hash table |  | name: | the name of the userdata |  | Returns: | the pointer to the userdata | 
Function: xmlHashLookup2void *	xmlHashLookup2			(xmlHashTablePtr table, const xmlChar * name,
 const xmlChar * name2)
 
 Find the userdata specified by the (@name, @name2) tuple. | table: | the hash table |  | name: | the name of the userdata |  | name2: | a second name of the userdata |  | Returns: | the pointer to the userdata | 
Function: xmlHashLookup3void *	xmlHashLookup3			(xmlHashTablePtr table, const xmlChar * name,
 const xmlChar * name2,
 const xmlChar * name3)
 
 Find the userdata specified by the (@name, @name2, @name3) tuple. | table: | the hash table |  | name: | the name of the userdata |  | name2: | a second name of the userdata |  | name3: | a third name of the userdata |  | Returns: | the a pointer to the userdata | 
Function: xmlHashQLookupvoid *	xmlHashQLookup			(xmlHashTablePtr table, const xmlChar * prefix,
 const xmlChar * name)
 
 Find the userdata specified by the QName @prefix:@name/@name. | table: | the hash table |  | prefix: | the prefix of the userdata |  | name: | the name of the userdata |  | Returns: | the pointer to the userdata | 
Function: xmlHashQLookup2void *	xmlHashQLookup2			(xmlHashTablePtr table, const xmlChar * prefix,
 const xmlChar * name,
 const xmlChar * prefix2,
 const xmlChar * name2)
 
 Find the userdata specified by the QNames tuple | table: | the hash table |  | prefix: | the prefix of the userdata |  | name: | the name of the userdata |  | prefix2: | the second prefix of the userdata |  | name2: | a second name of the userdata |  | Returns: | the pointer to the userdata | 
Function: xmlHashQLookup3void *	xmlHashQLookup3			(xmlHashTablePtr table, const xmlChar * prefix,
 const xmlChar * name,
 const xmlChar * prefix2,
 const xmlChar * name2,
 const xmlChar * prefix3,
 const xmlChar * name3)
 
 Find the userdata specified by the (@name, @name2, @name3) tuple. | table: | the hash table |  | prefix: | the prefix of the userdata |  | name: | the name of the userdata |  | prefix2: | the second prefix of the userdata |  | name2: | a second name of the userdata |  | prefix3: | the third prefix of the userdata |  | name3: | a third name of the userdata |  | Returns: | the a pointer to the userdata | 
Function: xmlHashRemoveEntryint	xmlHashRemoveEntry		(xmlHashTablePtr table, const xmlChar * name,
 xmlHashDeallocator f)
 
 Find the userdata specified by the @name and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f. | table: | the hash table |  | name: | the name of the userdata |  | f: | the deallocator function for removed item (if any) |  | Returns: | 0 if the removal succeeded and -1 in case of error or not found. | 
Function: xmlHashRemoveEntry2int	xmlHashRemoveEntry2		(xmlHashTablePtr table, const xmlChar * name,
 const xmlChar * name2,
 xmlHashDeallocator f)
 
 Find the userdata specified by the (@name, @name2) tuple and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f. | table: | the hash table |  | name: | the name of the userdata |  | name2: | a second name of the userdata |  | f: | the deallocator function for removed item (if any) |  | Returns: | 0 if the removal succeeded and -1 in case of error or not found. | 
Function: xmlHashRemoveEntry3int	xmlHashRemoveEntry3		(xmlHashTablePtr table, const xmlChar * name,
 const xmlChar * name2,
 const xmlChar * name3,
 xmlHashDeallocator f)
 
 Find the userdata specified by the (@name, @name2, @name3) tuple and remove it from the hash @table. Existing userdata for this tuple will be removed and freed with @f. | table: | the hash table |  | name: | the name of the userdata |  | name2: | a second name of the userdata |  | name3: | a third name of the userdata |  | f: | the deallocator function for removed item (if any) |  | Returns: | 0 if the removal succeeded and -1 in case of error or not found. | 
Function: xmlHashScanvoid	xmlHashScan			(xmlHashTablePtr table, xmlHashScanner f,
 void * data)
 
 Scan the hash @table and applied @f to each value. | table: | the hash table |  | f: | the scanner function for items in the hash |  | data: | extra data passed to f | 
Function: xmlHashScan3void	xmlHashScan3			(xmlHashTablePtr table, const xmlChar * name,
 const xmlChar * name2,
 const xmlChar * name3,
 xmlHashScanner f,
 void * data)
 
 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. | table: | the hash table |  | name: | the name of the userdata or NULL |  | name2: | a second name of the userdata or NULL |  | name3: | a third name of the userdata or NULL |  | f: | the scanner function for items in the hash |  | data: | extra data passed to f | 
Function: xmlHashScanFullvoid	xmlHashScanFull			(xmlHashTablePtr table, xmlHashScannerFull f,
 void * data)
 
 Scan the hash @table and applied @f to each value. | table: | the hash table |  | f: | the scanner function for items in the hash |  | data: | extra data passed to f | 
Function: xmlHashScanFull3void	xmlHashScanFull3		(xmlHashTablePtr table, const xmlChar * name,
 const xmlChar * name2,
 const xmlChar * name3,
 xmlHashScannerFull f,
 void * data)
 
 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. | table: | the hash table |  | name: | the name of the userdata or NULL |  | name2: | a second name of the userdata or NULL |  | name3: | a third name of the userdata or NULL |  | f: | the scanner function for items in the hash |  | data: | extra data passed to f | 
Function type: xmlHashScannerFunction type: xmlHashScanner
void	xmlHashScanner			(void * payload, void * data,
 xmlChar * name)
 Callback when scanning data in a hash with the simple scanner. | payload: | the data in the hash |  | data: | extra scannner data |  | name: | the name associated | 
 Function type: xmlHashScannerFullFunction type: xmlHashScannerFull
void	xmlHashScannerFull		(void * payload, void * data,
 const xmlChar * name,
 const xmlChar * name2,
 const xmlChar * name3)
 Callback when scanning data in a hash with the full scanner. | payload: | the data in the hash |  | data: | extra scannner data |  | name: | the name associated |  | name2: | the second name associated |  | name3: | the third name associated | 
 Function: xmlHashSizeint	xmlHashSize			(xmlHashTablePtr table)
 Query the number of elements installed in the hash @table. | table: | the hash table |  | Returns: | the number of elements in the hash table or -1 in case of error | 
Function: xmlHashUpdateEntryint	xmlHashUpdateEntry		(xmlHashTablePtr table, const xmlChar * name,
 void * userdata,
 xmlHashDeallocator f)
 
 Add the @userdata to the hash @table. This can later be retrieved by using the @name. Existing entry for this @name will be removed and freed with @f if found. | table: | the hash table |  | name: | the name of the userdata |  | userdata: | a pointer to the userdata |  | f: | the deallocator function for replaced item (if any) |  | Returns: | 0 the addition succeeded and -1 in case of error. | 
Function: xmlHashUpdateEntry2int	xmlHashUpdateEntry2		(xmlHashTablePtr table, const xmlChar * name,
 const xmlChar * name2,
 void * userdata,
 xmlHashDeallocator f)
 
 Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) tuple. Existing entry for this tuple will be removed and freed with @f if found. | table: | the hash table |  | name: | the name of the userdata |  | name2: | a second name of the userdata |  | userdata: | a pointer to the userdata |  | f: | the deallocator function for replaced item (if any) |  | Returns: | 0 the addition succeeded and -1 in case of error. | 
Function: xmlHashUpdateEntry3int	xmlHashUpdateEntry3		(xmlHashTablePtr table, const xmlChar * name,
 const xmlChar * name2,
 const xmlChar * name3,
 void * userdata,
 xmlHashDeallocator f)
 
 Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, @name3). Existing entry for this tuple will be removed and freed with @f if found. | table: | the hash table |  | name: | the name of the userdata |  | name2: | a second name of the userdata |  | name3: | a third name of the userdata |  | userdata: | a pointer to the userdata |  | f: | the deallocator function for replaced item (if any) |  | Returns: | 0 the addition succeeded and -1 in case of error. | 
Daniel Veillard |