2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
3
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
4
<refentry id="libedataserver-e-xml-hash-utils">
6
<refentrytitle role="top_of_page" id="libedataserver-e-xml-hash-utils.top_of_page">EXMLHash</refentrytitle>
7
<manvolnum>3</manvolnum>
13
<refname>EXMLHash</refname>
14
<refpurpose>Functions for manipulating xml as a hash table.</refpurpose>
17
<refsynopsisdiv id="libedataserver-e-xml-hash-utils.synopsis" role="synopsis">
18
<title role="synopsis.title">Synopsis</title>
20
<synopsis>enum <link linkend="EXmlHashType">EXmlHashType</link>;
21
<link linkend="GHashTable"><returnvalue>GHashTable</returnvalue></link> * <link linkend="e-xml-to-hash">e_xml_to_hash</link> (<parameter><link linkend="xmlDoc"><type>xmlDoc</type></link> *doc</parameter>,
22
<parameter><link linkend="EXmlHashType"><type>EXmlHashType</type></link> type</parameter>);
23
<link linkend="xmlDoc"><returnvalue>xmlDoc</returnvalue></link> * <link linkend="e-xml-from-hash">e_xml_from_hash</link> (<parameter><link linkend="GHashTable"><type>GHashTable</type></link> *hash</parameter>,
24
<parameter><link linkend="EXmlHashType"><type>EXmlHashType</type></link> type</parameter>,
25
<parameter>const <link linkend="gchar"><type>gchar</type></link> *root_node</parameter>);
26
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-xml-destroy-hash">e_xml_destroy_hash</link> (<parameter><link linkend="GHashTable"><type>GHashTable</type></link> *hash</parameter>);
27
enum <link linkend="EXmlHashStatus">EXmlHashStatus</link>;
28
<link linkend="void"><returnvalue>void</returnvalue></link> (<link linkend="EXmlHashFunc">*EXmlHashFunc</link>) (<parameter>const <link linkend="gchar"><type>gchar</type></link> *key</parameter>,
29
<parameter>const <link linkend="gchar"><type>gchar</type></link> *value</parameter>,
30
<parameter><link linkend="gpointer"><type>gpointer</type></link> user_data</parameter>);
31
<link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> (<link linkend="EXmlHashRemoveFunc">*EXmlHashRemoveFunc</link>) (<parameter>const <link linkend="gchar"><type>gchar</type></link> *key</parameter>,
32
<parameter>const <link linkend="gchar"><type>gchar</type></link> *value</parameter>,
33
<parameter><link linkend="gpointer"><type>gpointer</type></link> user_data</parameter>);
34
typedef <link linkend="EXmlHash">EXmlHash</link>;
35
<link linkend="EXmlHash"><returnvalue>EXmlHash</returnvalue></link> * <link linkend="e-xmlhash-new">e_xmlhash_new</link> (<parameter>const <link linkend="gchar"><type>gchar</type></link> *filename</parameter>);
36
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-xmlhash-add">e_xmlhash_add</link> (<parameter><link linkend="EXmlHash"><type>EXmlHash</type></link> *hash</parameter>,
37
<parameter>const <link linkend="gchar"><type>gchar</type></link> *key</parameter>,
38
<parameter>const <link linkend="gchar"><type>gchar</type></link> *data</parameter>);
39
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-xmlhash-remove">e_xmlhash_remove</link> (<parameter><link linkend="EXmlHash"><type>EXmlHash</type></link> *hash</parameter>,
40
<parameter>const <link linkend="gchar"><type>gchar</type></link> *key</parameter>);
41
<link linkend="EXmlHashStatus"><returnvalue>EXmlHashStatus</returnvalue></link> <link linkend="e-xmlhash-compare">e_xmlhash_compare</link> (<parameter><link linkend="EXmlHash"><type>EXmlHash</type></link> *hash</parameter>,
42
<parameter>const <link linkend="gchar"><type>gchar</type></link> *key</parameter>,
43
<parameter>const <link linkend="gchar"><type>gchar</type></link> *compare_data</parameter>);
44
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-xmlhash-foreach-key">e_xmlhash_foreach_key</link> (<parameter><link linkend="EXmlHash"><type>EXmlHash</type></link> *hash</parameter>,
45
<parameter><link linkend="EXmlHashFunc"><type>EXmlHashFunc</type></link> func</parameter>,
46
<parameter><link linkend="gpointer"><type>gpointer</type></link> user_data</parameter>);
47
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-xmlhash-foreach-key-remove">e_xmlhash_foreach_key_remove</link> (<parameter><link linkend="EXmlHash"><type>EXmlHash</type></link> *hash</parameter>,
48
<parameter><link linkend="EXmlHashRemoveFunc"><type>EXmlHashRemoveFunc</type></link> func</parameter>,
49
<parameter><link linkend="gpointer"><type>gpointer</type></link> user_data</parameter>);
50
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-xmlhash-write">e_xmlhash_write</link> (<parameter><link linkend="EXmlHash"><type>EXmlHash</type></link> *hash</parameter>);
51
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-xmlhash-destroy">e_xmlhash_destroy</link> (<parameter><link linkend="EXmlHash"><type>EXmlHash</type></link> *hash</parameter>);
55
<refsect1 id="libedataserver-e-xml-hash-utils.description" role="desc">
56
<title role="desc.title">Description</title>
60
<refsect1 id="libedataserver-e-xml-hash-utils.details" role="details">
61
<title role="details.title">Details</title>
62
<refsect2 id="EXmlHashType" role="enum">
63
<title>enum EXmlHashType</title>
64
<indexterm zone="EXmlHashType"><primary>EXmlHashType</primary></indexterm>
65
<programlisting>typedef enum {
66
E_XML_HASH_TYPE_OBJECT_UID,
67
E_XML_HASH_TYPE_PROPERTY
70
<variablelist role="enum">
71
<varlistentry id="E-XML-HASH-TYPE-OBJECT-UID:CAPS" role="constant">
72
<term><literal>E_XML_HASH_TYPE_OBJECT_UID</literal></term>
73
<listitem><simpara>Use the object UID as the hash key.
76
<varlistentry id="E-XML-HASH-TYPE-PROPERTY:CAPS" role="constant">
77
<term><literal>E_XML_HASH_TYPE_PROPERTY</literal></term>
78
<listitem><simpara>Use the property name as the hash key.
81
</variablelist></refsect2>
82
<refsect2 id="e-xml-to-hash" role="function">
83
<title>e_xml_to_hash ()</title>
84
<indexterm zone="e-xml-to-hash"><primary>e_xml_to_hash</primary></indexterm>
85
<programlisting><link linkend="GHashTable"><returnvalue>GHashTable</returnvalue></link> * e_xml_to_hash (<parameter><link linkend="xmlDoc"><type>xmlDoc</type></link> *doc</parameter>,
86
<parameter><link linkend="EXmlHashType"><type>EXmlHashType</type></link> type</parameter>);</programlisting>
88
Creates a <link linkend="GHashTable"><type>GHashTable</type></link> representation of the <link linkend="xmlDoc"><type>xmlDoc</type></link> <parameter>doc</parameter>.
89
If <parameter>type</parameter> is * <parameter>E_XML_HASH_TYPE_PROPERTY</parameter>, all XML nodes will be
90
indexed in the <link linkend="GHashTable"><type>GHashTable</type></link> by name. If <parameter>type</parameter> is
91
<link linkend="E-XML-HASH-TYPE-OBJECT-UID:CAPS"><literal>E_XML_HASH_TYPE_OBJECT_UID</literal></link>, then XML objects will be indexed in
92
the hash by their UID (other nodes will still be indexed by name).</para>
93
<variablelist role="params">
94
<varlistentry><term><parameter>doc</parameter> :</term>
95
<listitem><simpara>The <link linkend="xmlDoc"><type>xmlDoc</type></link> to store in a hash table.
96
</simpara></listitem></varlistentry>
97
<varlistentry><term><parameter>type</parameter> :</term>
98
<listitem><simpara>The value type to use as a key in the hash table.
99
</simpara></listitem></varlistentry>
100
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> The newly-created <link linkend="GHashTable"><type>GHashTable</type></link> representation of <parameter>doc</parameter>.
101
</simpara></listitem></varlistentry>
102
</variablelist></refsect2>
103
<refsect2 id="e-xml-from-hash" role="function">
104
<title>e_xml_from_hash ()</title>
105
<indexterm zone="e-xml-from-hash"><primary>e_xml_from_hash</primary></indexterm>
106
<programlisting><link linkend="xmlDoc"><returnvalue>xmlDoc</returnvalue></link> * e_xml_from_hash (<parameter><link linkend="GHashTable"><type>GHashTable</type></link> *hash</parameter>,
107
<parameter><link linkend="EXmlHashType"><type>EXmlHashType</type></link> type</parameter>,
108
<parameter>const <link linkend="gchar"><type>gchar</type></link> *root_node</parameter>);</programlisting>
110
Uses the key/value pair representation of an XML structure in <parameter>hash</parameter>
111
to build an equivalent <link linkend="xmlDoc"><type>xmlDoc</type></link>. This is the reverse of
112
<link linkend="e-xml-to-hash"><function>e_xml_to_hash()</function></link>.</para>
113
<variablelist role="params">
114
<varlistentry><term><parameter>hash</parameter> :</term>
115
<listitem><simpara>The <link linkend="GHashTable"><type>GHashTable</type></link> to extract the XML from.
116
</simpara></listitem></varlistentry>
117
<varlistentry><term><parameter>type</parameter> :</term>
118
<listitem><simpara>The <link linkend="EXmlHashType"><type>EXmlHashType</type></link> used to store the XML.
119
</simpara></listitem></varlistentry>
120
<varlistentry><term><parameter>root_node</parameter> :</term>
122
</simpara></listitem></varlistentry>
123
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> The <link linkend="xmlDoc"><type>xmlDoc</type></link> created from the data in <parameter>hash</parameter>.
124
</simpara></listitem></varlistentry>
125
</variablelist></refsect2>
126
<refsect2 id="e-xml-destroy-hash" role="function">
127
<title>e_xml_destroy_hash ()</title>
128
<indexterm zone="e-xml-destroy-hash"><primary>e_xml_destroy_hash</primary></indexterm>
129
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_xml_destroy_hash (<parameter><link linkend="GHashTable"><type>GHashTable</type></link> *hash</parameter>);</programlisting>
131
Frees the memory used by <parameter>hash</parameter> and its contents.</para>
132
<variablelist role="params">
133
<varlistentry><term><parameter>hash</parameter> :</term>
134
<listitem><simpara>The <link linkend="GHashTable"><type>GHashTable</type></link> to destroy.
135
</simpara></listitem></varlistentry>
136
</variablelist></refsect2>
137
<refsect2 id="EXmlHashStatus" role="enum">
138
<title>enum EXmlHashStatus</title>
139
<indexterm zone="EXmlHashStatus"><primary>EXmlHashStatus</primary></indexterm>
140
<programlisting>typedef enum {
141
E_XMLHASH_STATUS_SAME,
142
E_XMLHASH_STATUS_DIFFERENT,
143
E_XMLHASH_STATUS_NOT_FOUND
146
<variablelist role="enum">
147
<varlistentry id="E-XMLHASH-STATUS-SAME:CAPS" role="constant">
148
<term><literal>E_XMLHASH_STATUS_SAME</literal></term>
149
<listitem><simpara>The compared values are the same.
150
</simpara></listitem>
152
<varlistentry id="E-XMLHASH-STATUS-DIFFERENT:CAPS" role="constant">
153
<term><literal>E_XMLHASH_STATUS_DIFFERENT</literal></term>
154
<listitem><simpara>The compared values are different.
155
</simpara></listitem>
157
<varlistentry id="E-XMLHASH-STATUS-NOT-FOUND:CAPS" role="constant">
158
<term><literal>E_XMLHASH_STATUS_NOT_FOUND</literal></term>
159
<listitem><simpara>The key to compare against was not found.
160
</simpara></listitem>
162
</variablelist></refsect2>
163
<refsect2 id="EXmlHashFunc" role="function">
164
<title>EXmlHashFunc ()</title>
165
<indexterm zone="EXmlHashFunc"><primary>EXmlHashFunc</primary></indexterm>
166
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> (*EXmlHashFunc) (<parameter>const <link linkend="gchar"><type>gchar</type></link> *key</parameter>,
167
<parameter>const <link linkend="gchar"><type>gchar</type></link> *value</parameter>,
168
<parameter><link linkend="gpointer"><type>gpointer</type></link> user_data</parameter>);</programlisting>
170
</para><variablelist role="params">
171
<varlistentry><term><parameter>key</parameter> :</term>
173
</simpara></listitem></varlistentry>
174
<varlistentry><term><parameter>value</parameter> :</term>
176
</simpara></listitem></varlistentry>
177
<varlistentry><term><parameter>user_data</parameter> :</term>
179
</simpara></listitem></varlistentry>
180
</variablelist></refsect2>
181
<refsect2 id="EXmlHashRemoveFunc" role="function">
182
<title>EXmlHashRemoveFunc ()</title>
183
<indexterm zone="EXmlHashRemoveFunc"><primary>EXmlHashRemoveFunc</primary></indexterm>
184
<programlisting><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link> (*EXmlHashRemoveFunc) (<parameter>const <link linkend="gchar"><type>gchar</type></link> *key</parameter>,
185
<parameter>const <link linkend="gchar"><type>gchar</type></link> *value</parameter>,
186
<parameter><link linkend="gpointer"><type>gpointer</type></link> user_data</parameter>);</programlisting>
188
</para><variablelist role="params">
189
<varlistentry><term><parameter>key</parameter> :</term>
191
</simpara></listitem></varlistentry>
192
<varlistentry><term><parameter>value</parameter> :</term>
194
</simpara></listitem></varlistentry>
195
<varlistentry><term><parameter>user_data</parameter> :</term>
197
</simpara></listitem></varlistentry>
198
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
199
</simpara></listitem></varlistentry>
200
</variablelist></refsect2>
201
<refsect2 id="EXmlHash" role="typedef">
202
<title>EXmlHash</title>
203
<indexterm zone="EXmlHash"><primary>EXmlHash</primary></indexterm>
204
<programlisting>typedef struct EXmlHash EXmlHash;
207
A hash table representation of an XML file.</para>
209
<refsect2 id="e-xmlhash-new" role="function">
210
<title>e_xmlhash_new ()</title>
211
<indexterm zone="e-xmlhash-new"><primary>e_xmlhash_new</primary></indexterm>
212
<programlisting><link linkend="EXmlHash"><returnvalue>EXmlHash</returnvalue></link> * e_xmlhash_new (<parameter>const <link linkend="gchar"><type>gchar</type></link> *filename</parameter>);</programlisting>
214
Creates a new <link linkend="EXmlHash"><type>EXmlHash</type></link> from the file <parameter>filename</parameter>. If <parameter>filename</parameter> does
215
not already exist, an empty <link linkend="EXmlHash"><type>EXmlHash</type></link> will be created.</para>
216
<variablelist role="params">
217
<varlistentry><term><parameter>filename</parameter> :</term>
218
<listitem><simpara>The name of an XML file.
219
</simpara></listitem></varlistentry>
220
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> The new <link linkend="EXmlHash"><type>EXmlHash</type></link> structure, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if unable to parse
221
<parameter>filename</parameter>.
222
</simpara></listitem></varlistentry>
223
</variablelist></refsect2>
224
<refsect2 id="e-xmlhash-add" role="function">
225
<title>e_xmlhash_add ()</title>
226
<indexterm zone="e-xmlhash-add"><primary>e_xmlhash_add</primary></indexterm>
227
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_xmlhash_add (<parameter><link linkend="EXmlHash"><type>EXmlHash</type></link> *hash</parameter>,
228
<parameter>const <link linkend="gchar"><type>gchar</type></link> *key</parameter>,
229
<parameter>const <link linkend="gchar"><type>gchar</type></link> *data</parameter>);</programlisting>
231
Adds a new key/value pair to the <link linkend="EXmlHash"><type>EXmlHash</type></link> <parameter>hash</parameter>.</para>
232
<variablelist role="params">
233
<varlistentry><term><parameter>hash</parameter> :</term>
234
<listitem><simpara>The <link linkend="EXmlHash"><type>EXmlHash</type></link> to add an entry to.
235
</simpara></listitem></varlistentry>
236
<varlistentry><term><parameter>key</parameter> :</term>
237
<listitem><simpara>The key to use for the entry.
238
</simpara></listitem></varlistentry>
239
<varlistentry><term><parameter>data</parameter> :</term>
240
<listitem><simpara>The value of the new entry.
241
</simpara></listitem></varlistentry>
242
</variablelist></refsect2>
243
<refsect2 id="e-xmlhash-remove" role="function">
244
<title>e_xmlhash_remove ()</title>
245
<indexterm zone="e-xmlhash-remove"><primary>e_xmlhash_remove</primary></indexterm>
246
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_xmlhash_remove (<parameter><link linkend="EXmlHash"><type>EXmlHash</type></link> *hash</parameter>,
247
<parameter>const <link linkend="gchar"><type>gchar</type></link> *key</parameter>);</programlisting>
249
Remove the entry in <parameter>hash</parameter> with key equal to <parameter>key</parameter>, if it exists.</para>
250
<variablelist role="params">
251
<varlistentry><term><parameter>hash</parameter> :</term>
252
<listitem><simpara>The <link linkend="EXmlHash"><type>EXmlHash</type></link> to remove an entry from.
253
</simpara></listitem></varlistentry>
254
<varlistentry><term><parameter>key</parameter> :</term>
255
<listitem><simpara>The key of the entry to remove.
256
</simpara></listitem></varlistentry>
257
</variablelist></refsect2>
258
<refsect2 id="e-xmlhash-compare" role="function">
259
<title>e_xmlhash_compare ()</title>
260
<indexterm zone="e-xmlhash-compare"><primary>e_xmlhash_compare</primary></indexterm>
261
<programlisting><link linkend="EXmlHashStatus"><returnvalue>EXmlHashStatus</returnvalue></link> e_xmlhash_compare (<parameter><link linkend="EXmlHash"><type>EXmlHash</type></link> *hash</parameter>,
262
<parameter>const <link linkend="gchar"><type>gchar</type></link> *key</parameter>,
263
<parameter>const <link linkend="gchar"><type>gchar</type></link> *compare_data</parameter>);</programlisting>
265
Compares the value with key equal to <parameter>key</parameter> in <parameter>hash</parameter> against
266
<parameter>compare_data</parameter>.</para>
267
<variablelist role="params">
268
<varlistentry><term><parameter>hash</parameter> :</term>
269
<listitem><simpara>The <link linkend="EXmlHash"><type>EXmlHash</type></link> to compare against.
270
</simpara></listitem></varlistentry>
271
<varlistentry><term><parameter>key</parameter> :</term>
272
<listitem><simpara>The key of the hash entry to compare with.
273
</simpara></listitem></varlistentry>
274
<varlistentry><term><parameter>compare_data</parameter> :</term>
275
<listitem><simpara>The data to compare against the hash entry.
276
</simpara></listitem></varlistentry>
277
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> E_XMLHASH_STATUS_SAME if the value and <parameter>compare_data</parameter> are
278
equal,E_XMLHASH_STATUS_DIFFERENT if they are different, or
279
E_XMLHASH_STATUS_NOT_FOUND if there is no entry in <parameter>hash</parameter> with
280
its key equal to <parameter>key</parameter>.
281
</simpara></listitem></varlistentry>
282
</variablelist></refsect2>
283
<refsect2 id="e-xmlhash-foreach-key" role="function">
284
<title>e_xmlhash_foreach_key ()</title>
285
<indexterm zone="e-xmlhash-foreach-key"><primary>e_xmlhash_foreach_key</primary></indexterm>
286
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_xmlhash_foreach_key (<parameter><link linkend="EXmlHash"><type>EXmlHash</type></link> *hash</parameter>,
287
<parameter><link linkend="EXmlHashFunc"><type>EXmlHashFunc</type></link> func</parameter>,
288
<parameter><link linkend="gpointer"><type>gpointer</type></link> user_data</parameter>);</programlisting>
290
Executes <parameter>func</parameter> against each key/value pair in <parameter>hash</parameter>.</para>
291
<variablelist role="params">
292
<varlistentry><term><parameter>hash</parameter> :</term>
293
<listitem><simpara>An <link linkend="EXmlHash"><type>EXmlHash</type></link>.
294
</simpara></listitem></varlistentry>
295
<varlistentry><term><parameter>func</parameter> :</term>
296
<listitem><simpara>The <link linkend="EXmlHashFunc"><type>EXmlHashFunc</type></link> to execute on the data in <parameter>hash</parameter>.
297
</simpara></listitem></varlistentry>
298
<varlistentry><term><parameter>user_data</parameter> :</term>
299
<listitem><simpara>The data to pass to <parameter>func</parameter>.
300
</simpara></listitem></varlistentry>
301
</variablelist></refsect2>
302
<refsect2 id="e-xmlhash-foreach-key-remove" role="function">
303
<title>e_xmlhash_foreach_key_remove ()</title>
304
<indexterm zone="e-xmlhash-foreach-key-remove"><primary>e_xmlhash_foreach_key_remove</primary></indexterm>
305
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_xmlhash_foreach_key_remove (<parameter><link linkend="EXmlHash"><type>EXmlHash</type></link> *hash</parameter>,
306
<parameter><link linkend="EXmlHashRemoveFunc"><type>EXmlHashRemoveFunc</type></link> func</parameter>,
307
<parameter><link linkend="gpointer"><type>gpointer</type></link> user_data</parameter>);</programlisting>
309
</para><variablelist role="params">
310
<varlistentry><term><parameter>hash</parameter> :</term>
312
</simpara></listitem></varlistentry>
313
<varlistentry><term><parameter>func</parameter> :</term>
315
</simpara></listitem></varlistentry>
316
<varlistentry><term><parameter>user_data</parameter> :</term>
318
</simpara></listitem></varlistentry>
319
</variablelist></refsect2>
320
<refsect2 id="e-xmlhash-write" role="function">
321
<title>e_xmlhash_write ()</title>
322
<indexterm zone="e-xmlhash-write"><primary>e_xmlhash_write</primary></indexterm>
323
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_xmlhash_write (<parameter><link linkend="EXmlHash"><type>EXmlHash</type></link> *hash</parameter>);</programlisting>
325
Writes the XML represented by <parameter>hash</parameter> to the file originally passed
326
to <link linkend="e-xmlhash-new"><function>e_xmlhash_new()</function></link>.</para>
327
<variablelist role="params">
328
<varlistentry><term><parameter>hash</parameter> :</term>
329
<listitem><simpara>The <link linkend="EXmlHash"><type>EXmlHash</type></link> to write.
330
</simpara></listitem></varlistentry>
331
</variablelist></refsect2>
332
<refsect2 id="e-xmlhash-destroy" role="function">
333
<title>e_xmlhash_destroy ()</title>
334
<indexterm zone="e-xmlhash-destroy"><primary>e_xmlhash_destroy</primary></indexterm>
335
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_xmlhash_destroy (<parameter><link linkend="EXmlHash"><type>EXmlHash</type></link> *hash</parameter>);</programlisting>
337
Frees the memory associated with <parameter>hash</parameter>.</para>
338
<variablelist role="params">
339
<varlistentry><term><parameter>hash</parameter> :</term>
340
<listitem><simpara>The <link linkend="EXmlHash"><type>EXmlHash</type></link> to destroy.
341
</simpara></listitem></varlistentry>
342
</variablelist></refsect2>