dict

dict - string dictionnary

dictionary of reusable strings, just used to avoid allocation and freeing operations.

Author(s): Daniel Veillard

Synopsis

typedef struct _xmlDict xmlDict;
typedef xmlDict * xmlDictPtr;
int	xmlDictReference		(xmlDictPtr dict);
void	xmlDictCleanup			(void);
int	xmlDictSize			(xmlDictPtr dict);
const xmlChar *	xmlDictExists		(xmlDictPtr dict, 
const xmlChar * name,
int len); int xmlDictOwns (xmlDictPtr dict,
const xmlChar * str); const xmlChar * xmlDictQLookup (xmlDictPtr dict,
const xmlChar * prefix,
const xmlChar * name); xmlDictPtr xmlDictCreateSub (xmlDictPtr sub); void xmlDictFree (xmlDictPtr dict); const xmlChar * xmlDictLookup (xmlDictPtr dict,
const xmlChar * name,
int len); xmlDictPtr xmlDictCreate (void);

Description

Details

Structure xmlDict

struct _xmlDict {
The content of this structure is not made public by the API.
} xmlDict;


Typedef xmlDictPtr

xmlDict * xmlDictPtr;



xmlDictCreate ()

xmlDictPtr	xmlDictCreate		(void)

Create a new dictionary

Returns:the newly created dictionnary, or NULL if an error occured.

xmlDictCreateSub ()

xmlDictPtr	xmlDictCreateSub	(xmlDictPtr sub)

Create a new dictionary, inheriting strings from the read-only dictionnary @sub. On lookup, strings are first searched in the new dictionnary, then in @sub, and if not found are created in the new dictionnary.

sub:an existing dictionnary
Returns:the newly created dictionnary, or NULL if an error occured.

xmlDictExists ()

const xmlChar *	xmlDictExists		(xmlDictPtr dict, 
const xmlChar * name,
int len)

Check if the @name exists in the dictionnary @dict.

dict:the dictionnary
name:the name of the userdata
len:the length of the name, if -1 it is recomputed
Returns:the internal copy of the name or NULL if not found.

xmlDictFree ()

void	xmlDictFree			(xmlDictPtr dict)

Free the hash @dict and its contents. The userdata is deallocated with @f if provided.

dict:the dictionnary

xmlDictLookup ()

const xmlChar *	xmlDictLookup		(xmlDictPtr dict, 
const xmlChar * name,
int len)

Add the @name to the dictionnary @dict if not present.

dict:the dictionnary
name:the name of the userdata
len:the length of the name, if -1 it is recomputed
Returns:the internal copy of the name or NULL in case of internal error

xmlDictOwns ()

int	xmlDictOwns			(xmlDictPtr dict, 
const xmlChar * str)

check if a string is owned by the disctionary

dict:the dictionnary
str:the string
Returns:1 if true, 0 if false and -1 in case of error -1 in case of error

xmlDictQLookup ()

const xmlChar *	xmlDictQLookup		(xmlDictPtr dict, 
const xmlChar * prefix,
const xmlChar * name)

Add the QName @prefix:@name to the hash @dict if not present.

dict:the dictionnary
prefix:the prefix
name:the name
Returns:the internal copy of the QName or NULL in case of internal error

xmlDictReference ()

int	xmlDictReference		(xmlDictPtr dict)

Increment the reference counter of a dictionary

dict:the dictionnary
Returns:0 in case of success and -1 in case of error

xmlDictSize ()

int	xmlDictSize			(xmlDictPtr dict)

Query the number of elements installed in the hash @dict.

dict:the dictionnary
Returns:the number of elements in the dictionnary or -1 in case of error