????
Current Path : /opt/cpanel/ea-libxml2/share/gtk-doc/html/libxml2/ |
Current File : //opt/cpanel/ea-libxml2/share/gtk-doc/html/libxml2/libxml2-dict.html |
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>dict: string dictionary</title> <meta name="generator" content="Libxml2 devhelp stylesheet"> <link rel="start" href="index.html" title="libxml2 Reference Manual"> <link rel="up" href="general.html" title="API"> <link rel="stylesheet" href="style.css" type="text/css"> <link rel="chapter" href="general.html" title="API"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> <td><a accesskey="p" href="libxml2-debugXML.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> <td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> <td><a accesskey="n" href="libxml2-encoding.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> <th width="100%" align="center">libxml2 Reference Manual</th> </tr></table> <h2><span class="refentrytitle">dict</span></h2> <p>dict - string dictionary</p> <p>dictionary of reusable strings, just used to avoid allocation and freeing operations. </p> <p>Author(s): Daniel Veillard </p> <div class="refsynopsisdiv"> <h2>Synopsis</h2> <pre class="synopsis">typedef struct _xmlDict <a href="#xmlDict">xmlDict</a>; typedef <a href="libxml2-dict.html#xmlDict">xmlDict</a> * <a href="#xmlDictPtr">xmlDictPtr</a>; void <a href="#xmlDictCleanup">xmlDictCleanup</a> (void); <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> <a href="#xmlDictCreate">xmlDictCreate</a> (void); <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> <a href="#xmlDictCreateSub">xmlDictCreateSub</a> (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> sub); const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlDictExists">xmlDictExists</a> (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> int len); void <a href="#xmlDictFree">xmlDictFree</a> (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict); size_t <a href="#xmlDictGetUsage">xmlDictGetUsage</a> (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict); const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlDictLookup">xmlDictLookup</a> (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> int len); int <a href="#xmlDictOwns">xmlDictOwns</a> (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str); const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlDictQLookup">xmlDictQLookup</a> (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name); int <a href="#xmlDictReference">xmlDictReference</a> (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict); size_t <a href="#xmlDictSetLimit">xmlDictSetLimit</a> (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br> size_t limit); int <a href="#xmlDictSize">xmlDictSize</a> (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict); int <a href="#xmlInitializeDict">xmlInitializeDict</a> (void); </pre> </div> <div class="refsect1" lang="en"><h2>Description</h2></div> <div class="refsect1" lang="en"> <h2>Details</h2> <div class="refsect2" lang="en"> <div class="refsect2" lang="en"> <h3> <a name="xmlDict">Structure </a>xmlDict</h3> <pre class="programlisting">struct _xmlDict { The content of this structure is not made public by the API. } xmlDict; </pre> <p></p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlDictPtr">Typedef </a>xmlDictPtr</h3> <pre class="programlisting"><a href="libxml2-dict.html#xmlDict">xmlDict</a> * xmlDictPtr; </pre> <p></p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlDictCleanup"></a>xmlDictCleanup ()</h3> <pre class="programlisting">void xmlDictCleanup (void)<br> </pre> <p>DEPRECATED: This function is a no-op. Call <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at program exit. In most cases, you don't have call cleanup functions at all.</p> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlDictCreate"></a>xmlDictCreate ()</h3> <pre class="programlisting"><a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> xmlDictCreate (void)<br> </pre> <p>Create a new dictionary</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody><tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the newly created dictionary, or NULL if an error occurred.</td> </tr></tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlDictCreateSub"></a>xmlDictCreateSub ()</h3> <pre class="programlisting"><a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> xmlDictCreateSub (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> sub)<br> </pre> <p>Create a new dictionary, inheriting strings from the read-only dictionary @sub. On lookup, strings are first searched in the new dictionary, then in @sub, and if not found are created in the new dictionary.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>sub</tt></i>:</span></td> <td>an existing dictionary</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the newly created dictionary, or NULL if an error occurred.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlDictExists"></a>xmlDictExists ()</h3> <pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlDictExists (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> int len)<br> </pre> <p>Check if a string exists in the dictionary.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>dict</tt></i>:</span></td> <td>the dictionary</td> </tr> <tr> <td><span class="term"><i><tt>name</tt></i>:</span></td> <td>the name of the userdata</td> </tr> <tr> <td><span class="term"><i><tt>len</tt></i>:</span></td> <td>the length of the name, if -1 it is recomputed</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the internal copy of the name or NULL if not found.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlDictFree"></a>xmlDictFree ()</h3> <pre class="programlisting">void xmlDictFree (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br> </pre> <p>Free the hash @dict and its contents. The userdata is deallocated with @f if provided.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody><tr> <td><span class="term"><i><tt>dict</tt></i>:</span></td> <td>the dictionary</td> </tr></tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlDictGetUsage"></a>xmlDictGetUsage ()</h3> <pre class="programlisting">size_t xmlDictGetUsage (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br> </pre> <p>Get how much memory is used by a dictionary for strings Added in 2.9.0</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>dict</tt></i>:</span></td> <td>the dictionary</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the amount of strings allocated</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlDictLookup"></a>xmlDictLookup ()</h3> <pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlDictLookup (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br> int len)<br> </pre> <p>Lookup a string and add it to the dictionary if it wasn't found.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>dict</tt></i>:</span></td> <td>dictionary</td> </tr> <tr> <td><span class="term"><i><tt>name</tt></i>:</span></td> <td>string key</td> </tr> <tr> <td><span class="term"><i><tt>len</tt></i>:</span></td> <td>length of the key, if -1 it is recomputed</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the interned copy of the string or NULL if a memory allocation failed.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlDictOwns"></a>xmlDictOwns ()</h3> <pre class="programlisting">int xmlDictOwns (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br> </pre> <p>check if a string is owned by the dictionary</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>dict</tt></i>:</span></td> <td>the dictionary</td> </tr> <tr> <td><span class="term"><i><tt>str</tt></i>:</span></td> <td>the string</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>1 if true, 0 if false and -1 in case of error -1 in case of error</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlDictQLookup"></a>xmlDictQLookup ()</h3> <pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlDictQLookup (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br> </pre> <p>Lookup the QName @prefix:@name and add it to the dictionary if it wasn't found.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>dict</tt></i>:</span></td> <td>the dictionary</td> </tr> <tr> <td><span class="term"><i><tt>prefix</tt></i>:</span></td> <td>the prefix</td> </tr> <tr> <td><span class="term"><i><tt>name</tt></i>:</span></td> <td>the name</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the interned copy of the string or NULL if a memory allocation failed.</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlDictReference"></a>xmlDictReference ()</h3> <pre class="programlisting">int xmlDictReference (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br> </pre> <p>Increment the <a href="libxml2-SAX.html#reference">reference</a> counter of a dictionary</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>dict</tt></i>:</span></td> <td>the dictionary</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>0 in case of success and -1 in case of error</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlDictSetLimit"></a>xmlDictSetLimit ()</h3> <pre class="programlisting">size_t xmlDictSetLimit (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br> size_t limit)<br> </pre> <p>Set a size limit for the dictionary Added in 2.9.0</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>dict</tt></i>:</span></td> <td>the dictionary</td> </tr> <tr> <td><span class="term"><i><tt>limit</tt></i>:</span></td> <td>the limit in bytes</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the previous limit of the dictionary or 0</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlDictSize"></a>xmlDictSize ()</h3> <pre class="programlisting">int xmlDictSize (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br> </pre> <p>Query the number of elements installed in the hash @dict.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody> <tr> <td><span class="term"><i><tt>dict</tt></i>:</span></td> <td>the dictionary</td> </tr> <tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>the number of elements in the dictionary or -1 in case of error</td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <h3> <a name="xmlInitializeDict"></a>xmlInitializeDict ()</h3> <pre class="programlisting">int xmlInitializeDict (void)<br> </pre> <p>DEPRECATED: Alias for <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a>.</p> <div class="variablelist"><table border="0"> <col align="left"> <tbody><tr> <td><span class="term"><i><tt>Returns</tt></i>:</span></td> <td>0.</td> </tr></tbody> </table></div> </div> <hr> </div> </div> </body> </html>