#

## Module dict from libxml2

API Menu

- Main Menu
- Developer Menu
- Code Examples
- API Menu
- Parser API
- Tree API
- Reader API
- XML Guidelines
- ChangeLog

API Indexes

- Alphabetic
- Constructors
- Functions/Types
- Modules
- Symbols

Related links

- Mail archive
- XSLT libxslt
- DOM gdome2
- XML-DSig xmlsec
- FTP
- Windows binaries
- Solaris binaries
- MacOsX binaries
- lxml Python bindings
- Perl bindings
- C++ bindings
- PHP bindings
- Pascal bindings
- Ruby bindings
- Tcl bindings
- Bug Tracker

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

## Table of Contents

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

    Typedef xmlDict * xmlDictPtr

    void	xmlDictCleanup			(void)

    xmlDictPtr	xmlDictCreate		(void)

    xmlDictPtr	xmlDictCreateSub	(xmlDictPtr sub)

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

    void	xmlDictFree			(xmlDictPtr dict)

    size_t	xmlDictGetUsage			(xmlDictPtr dict)

    const xmlChar *	xmlDictLookup		(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)

    int	xmlDictReference		(xmlDictPtr dict)

    size_t	xmlDictSetLimit			(xmlDictPtr dict,
    					 size_t limit)

    int	xmlDictSize			(xmlDictPtr dict)

    int	xmlInitializeDict		(void)

## Description

### Structure xmlDict

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

### Function: xmlDictCleanup

    void	xmlDictCleanup			(void)

Free the dictionary mutex. Do not call unless sure the library is not in use anymore !

### Function: xmlDictCreate

    xmlDictPtr	xmlDictCreate		(void)

Create a new dictionary

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

### Function: 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.

### Function: 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.

### Function: xmlDictFree

    void	xmlDictFree			(xmlDictPtr dict)

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

`dict`: | the dictionnary

### Function: xmlDictGetUsage

    size_t	xmlDictGetUsage			(xmlDictPtr dict)

Get how much memory is used by a dictionary for strings Added in 2.9.0

`dict`: | the dictionnary
`Returns`: | the amount of strings allocated

### Function: 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

### Function: 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

### Function: 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

### Function: 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

### Function: xmlDictSetLimit

    size_t	xmlDictSetLimit			(xmlDictPtr dict,
    					 size_t limit)

Set a size limit for the dictionary Added in 2.9.0

`dict`: | the dictionnary
`limit`: | the limit in bytes
`Returns`: | the previous limit of the dictionary or 0

### Function: 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

### Function: xmlInitializeDict

    int	xmlInitializeDict		(void)

Do the dictionary mutex initialization. this function is not thread safe, initialization should preferably be done once at startup

`Returns`: | 0 if initialization was already done, and 1 if that call led to the initialization

Daniel Veillard