Added some missing files, Daniel
diff --git a/doc/html/libxml-globals.html b/doc/html/libxml-globals.html
new file mode 100644
index 0000000..842379b
--- /dev/null
+++ b/doc/html/libxml-globals.html
@@ -0,0 +1,1316 @@
+<HTML
+><HEAD
+><TITLE
+>globals</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.64
+"><LINK
+REL="HOME"
+TITLE="Gnome XML Library Reference Manual"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Libxml Library Reference"
+HREF="libxml-lib.html"><LINK
+REL="PREVIOUS"
+TITLE="threads"
+HREF="libxml-threads.html"><LINK
+REL="NEXT"
+TITLE="DOCBparser"
+HREF="libxml-docbparser.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+BGCOLOR="#000000"
+CELLPADDING="1"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="4"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="5"
+>Gnome XML Library Reference Manual</FONT
+></TH
+></TR
+><TR
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="left"
+><A
+HREF="libxml-threads.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><<< Previous Page</B
+></FONT
+></A
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#0000C0"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="book1.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Home</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#00C000"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="libxml-lib.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Up</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="right"
+><A
+HREF="libxml-docbparser.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Next Page >>></B
+></FONT
+></A
+></TD
+></TR
+></TABLE
+></DIV
+><H1
+><A
+NAME="LIBXML-GLOBALS"
+>globals</A
+></H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN20130"
+></A
+><H2
+>Name</H2
+>globals -- </DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN20133"
+></A
+><H2
+>Synopsis</H2
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="SYNOPSIS"
+>
+
+struct <A
+HREF="libxml-globals.html#XMLGLOBALSTATE"
+>xmlGlobalState</A
+>;
+typedef <A
+HREF="libxml-globals.html#XMLGLOBALSTATEPTR"
+>xmlGlobalStatePtr</A
+>;
+void <A
+HREF="libxml-globals.html#XMLINITIALIZEGLOBALSTATE"
+>xmlInitializeGlobalState</A
+> (<A
+HREF="libxml-globals.html#XMLGLOBALSTATEPTR"
+>xmlGlobalStatePtr</A
+> gs);
+#define <A
+HREF="libxml-globals.html#XMLMALLOC"
+>xmlMalloc</A
+> (size)
+#define <A
+HREF="libxml-globals.html#XMLREALLOC"
+>xmlRealloc</A
+> (ptr, size)
+#define <A
+HREF="libxml-globals.html#XMLFREE"
+>xmlFree</A
+>
+#define <A
+HREF="libxml-globals.html#XMLMEMSTRDUP"
+>xmlMemStrdup</A
+> (str)
+#define <A
+HREF="libxml-globals.html#DOCBDEFAULTSAXHANDLER"
+>docbDefaultSAXHandler</A
+>
+#define <A
+HREF="libxml-globals.html#HTMLDEFAULTSAXHANDLER"
+>htmlDefaultSAXHandler</A
+>
+#define <A
+HREF="libxml-globals.html#OLDXMLWDCOMPATIBILITY"
+>oldXMLWDcompatibility</A
+>
+#define <A
+HREF="libxml-globals.html#XMLBUFFERALLOCSCHEME"
+>xmlBufferAllocScheme</A
+>
+#define <A
+HREF="libxml-globals.html#XMLDEFAULTBUFFERSIZE"
+>xmlDefaultBufferSize</A
+>
+#define <A
+HREF="libxml-globals.html#XMLDEFAULTSAXHANDLER"
+>xmlDefaultSAXHandler</A
+>
+#define <A
+HREF="libxml-globals.html#XMLDEFAULTSAXLOCATOR"
+>xmlDefaultSAXLocator</A
+>
+#define <A
+HREF="libxml-globals.html#XMLDOVALIDITYCHECKINGDEFAULTVALUE"
+>xmlDoValidityCheckingDefaultValue</A
+>
+#define <A
+HREF="libxml-globals.html#XMLGENERICERROR"
+>xmlGenericError</A
+>
+#define <A
+HREF="libxml-globals.html#XMLGENERICERRORCONTEXT"
+>xmlGenericErrorContext</A
+>
+#define <A
+HREF="libxml-globals.html#XMLGETWARNINGSDEFAULTVALUE"
+>xmlGetWarningsDefaultValue</A
+>
+#define <A
+HREF="libxml-globals.html#XMLINDENTTREEOUTPUT"
+>xmlIndentTreeOutput</A
+>
+#define <A
+HREF="libxml-globals.html#XMLKEEPBLANKSDEFAULTVALUE"
+>xmlKeepBlanksDefaultValue</A
+>
+#define <A
+HREF="libxml-globals.html#XMLLINENUMBERSDEFAULTVALUE"
+>xmlLineNumbersDefaultValue</A
+>
+#define <A
+HREF="libxml-globals.html#XMLLOADEXTDTDDEFAULTVALUE"
+>xmlLoadExtDtdDefaultValue</A
+>
+#define <A
+HREF="libxml-globals.html#XMLPARSERDEBUGENTITIES"
+>xmlParserDebugEntities</A
+>
+#define <A
+HREF="libxml-globals.html#XMLPARSERVERSION"
+>xmlParserVersion</A
+>
+#define <A
+HREF="libxml-globals.html#XMLPEDANTICPARSERDEFAULTVALUE"
+>xmlPedanticParserDefaultValue</A
+>
+#define <A
+HREF="libxml-globals.html#XMLSAVENOEMPTYTAGS"
+>xmlSaveNoEmptyTags</A
+>
+#define <A
+HREF="libxml-parser.html#XMLSUBSTITUTEENTITIESDEFAULTVALUE"
+>xmlSubstituteEntitiesDefaultValue</A
+></PRE
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN20164"
+></A
+><H2
+>Description</H2
+><P
+></P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN20167"
+></A
+><H2
+>Details</H2
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20169"
+></A
+><H3
+><A
+NAME="XMLGLOBALSTATE"
+></A
+>struct xmlGlobalState</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlGlobalState
+{
+ const char *xmlParserVersion;
+
+ xmlSAXLocator xmlDefaultSAXLocator;
+ xmlSAXHandler xmlDefaultSAXHandler;
+ xmlSAXHandler docbDefaultSAXHandler;
+ xmlSAXHandler htmlDefaultSAXHandler;
+
+ xmlFreeFunc xmlFree;
+ xmlMallocFunc xmlMalloc;
+ xmlStrdupFunc xmlMemStrdup;
+ xmlReallocFunc xmlRealloc;
+
+ xmlGenericErrorFunc xmlGenericError;
+ void *xmlGenericErrorContext;
+
+ int oldXMLWDcompatibility;
+
+ xmlBufferAllocationScheme xmlBufferAllocScheme;
+ int xmlDefaultBufferSize;
+
+ int xmlSubstituteEntitiesDefaultValue;
+ int xmlDoValidityCheckingDefaultValue;
+ int xmlGetWarningsDefaultValue;
+ int xmlKeepBlanksDefaultValue;
+ int xmlLineNumbersDefaultValue;
+ int xmlLoadExtDtdDefaultValue;
+ int xmlParserDebugEntities;
+ int xmlPedanticParserDefaultValue;
+
+ int xmlSaveNoEmptyTags;
+ int xmlIndentTreeOutput;
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20174"
+></A
+><H3
+><A
+NAME="XMLGLOBALSTATEPTR"
+></A
+>xmlGlobalStatePtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlGlobalState *xmlGlobalStatePtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20179"
+></A
+><H3
+><A
+NAME="XMLINITIALIZEGLOBALSTATE"
+></A
+>xmlInitializeGlobalState ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void xmlInitializeGlobalState (<A
+HREF="libxml-globals.html#XMLGLOBALSTATEPTR"
+>xmlGlobalStatePtr</A
+> gs);</PRE
+></TD
+></TR
+></TABLE
+><P
+><A
+HREF="libxml-globals.html#XMLINITIALIZEGLOBALSTATE"
+>xmlInitializeGlobalState</A
+>() initialize a global state with all the
+default values of the library.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN20187"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>gs</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a pointer to a newly allocated global state</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20196"
+></A
+><H3
+><A
+NAME="XMLMALLOC"
+></A
+>xmlMalloc()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlMalloc(size)</PRE
+></TD
+></TR
+></TABLE
+><P
+>Wrapper for the <GTKDOCLINK
+HREF="MALLOC"
+>malloc</GTKDOCLINK
+>() function used in the XML library</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN20203"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>size</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> </TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20212"
+></A
+><H3
+><A
+NAME="XMLREALLOC"
+></A
+>xmlRealloc()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlRealloc(ptr, size)</PRE
+></TD
+></TR
+></TABLE
+><P
+>Wrapper for the <GTKDOCLINK
+HREF="REALLOC"
+>realloc</GTKDOCLINK
+>() function used in the XML library</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN20219"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ptr</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> </TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>size</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> </TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20232"
+></A
+><H3
+><A
+NAME="XMLFREE"
+></A
+>xmlFree</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlFree</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20237"
+></A
+><H3
+><A
+NAME="XMLMEMSTRDUP"
+></A
+>xmlMemStrdup()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlMemStrdup(str)</PRE
+></TD
+></TR
+></TABLE
+><P
+>Wrapper for the <GTKDOCLINK
+HREF="STRDUP"
+>strdup</GTKDOCLINK
+>() function, <A
+HREF="libxml-parser.html#XMLSTRDUP"
+>xmlStrdup</A
+>() is usually preferred</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN20245"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>str</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> </TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20254"
+></A
+><H3
+><A
+NAME="DOCBDEFAULTSAXHANDLER"
+></A
+>docbDefaultSAXHandler</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define docbDefaultSAXHandler</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20259"
+></A
+><H3
+><A
+NAME="HTMLDEFAULTSAXHANDLER"
+></A
+>htmlDefaultSAXHandler</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define htmlDefaultSAXHandler</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20264"
+></A
+><H3
+><A
+NAME="OLDXMLWDCOMPATIBILITY"
+></A
+>oldXMLWDcompatibility</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define oldXMLWDcompatibility</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20269"
+></A
+><H3
+><A
+NAME="XMLBUFFERALLOCSCHEME"
+></A
+>xmlBufferAllocScheme</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlBufferAllocScheme</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20274"
+></A
+><H3
+><A
+NAME="XMLDEFAULTBUFFERSIZE"
+></A
+>xmlDefaultBufferSize</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlDefaultBufferSize</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20279"
+></A
+><H3
+><A
+NAME="XMLDEFAULTSAXHANDLER"
+></A
+>xmlDefaultSAXHandler</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlDefaultSAXHandler</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20284"
+></A
+><H3
+><A
+NAME="XMLDEFAULTSAXLOCATOR"
+></A
+>xmlDefaultSAXLocator</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlDefaultSAXLocator</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20289"
+></A
+><H3
+><A
+NAME="XMLDOVALIDITYCHECKINGDEFAULTVALUE"
+></A
+>xmlDoValidityCheckingDefaultValue</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlDoValidityCheckingDefaultValue</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20294"
+></A
+><H3
+><A
+NAME="XMLGENERICERROR"
+></A
+>xmlGenericError</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlGenericError</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20299"
+></A
+><H3
+><A
+NAME="XMLGENERICERRORCONTEXT"
+></A
+>xmlGenericErrorContext</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlGenericErrorContext</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20304"
+></A
+><H3
+><A
+NAME="XMLGETWARNINGSDEFAULTVALUE"
+></A
+>xmlGetWarningsDefaultValue</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlGetWarningsDefaultValue</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20309"
+></A
+><H3
+><A
+NAME="XMLINDENTTREEOUTPUT"
+></A
+>xmlIndentTreeOutput</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlIndentTreeOutput</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20314"
+></A
+><H3
+><A
+NAME="XMLKEEPBLANKSDEFAULTVALUE"
+></A
+>xmlKeepBlanksDefaultValue</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlKeepBlanksDefaultValue</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20319"
+></A
+><H3
+><A
+NAME="XMLLINENUMBERSDEFAULTVALUE"
+></A
+>xmlLineNumbersDefaultValue</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlLineNumbersDefaultValue</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20324"
+></A
+><H3
+><A
+NAME="XMLLOADEXTDTDDEFAULTVALUE"
+></A
+>xmlLoadExtDtdDefaultValue</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlLoadExtDtdDefaultValue</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20329"
+></A
+><H3
+><A
+NAME="XMLPARSERDEBUGENTITIES"
+></A
+>xmlParserDebugEntities</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlParserDebugEntities</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20334"
+></A
+><H3
+><A
+NAME="XMLPARSERVERSION"
+></A
+>xmlParserVersion</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlParserVersion</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20339"
+></A
+><H3
+><A
+NAME="XMLPEDANTICPARSERDEFAULTVALUE"
+></A
+>xmlPedanticParserDefaultValue</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlPedanticParserDefaultValue</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20344"
+></A
+><H3
+><A
+NAME="XMLSAVENOEMPTYTAGS"
+></A
+>xmlSaveNoEmptyTags</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlSaveNoEmptyTags</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20349"
+></A
+><H3
+><A
+NAME="XMLSUBSTITUTEENTITIESDEFAULTVALUE"
+></A
+>xmlSubstituteEntitiesDefaultValue</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define xmlSubstituteEntitiesDefaultValue</PRE
+></TD
+></TR
+></TABLE
+><P
+>global variable controlling the entity substitution default behaviour</P
+><P
+></P
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><BR
+CLEAR="all"><BR><TABLE
+WIDTH="100%"
+BORDER="0"
+BGCOLOR="#000000"
+CELLPADDING="1"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="left"
+><A
+HREF="libxml-threads.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><<< Previous Page</B
+></FONT
+></A
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#0000C0"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="book1.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Home</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#00C000"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="libxml-lib.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Up</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="right"
+><A
+HREF="libxml-docbparser.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Next Page >>></B
+></FONT
+></A
+></TD
+></TR
+><TR
+><TD
+COLSPAN="2"
+ALIGN="left"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>threads</B
+></FONT
+></TD
+><TD
+COLSPAN="2"
+ALIGN="right"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>DOCBparser</B
+></FONT
+></TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/doc/html/libxml-hash.html b/doc/html/libxml-hash.html
new file mode 100644
index 0000000..9b2f8f9
--- /dev/null
+++ b/doc/html/libxml-hash.html
@@ -0,0 +1,3770 @@
+<HTML
+><HEAD
+><TITLE
+>hash</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.64
+"><LINK
+REL="HOME"
+TITLE="Gnome XML Library Reference Manual"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Libxml Library Reference"
+HREF="libxml-lib.html"><LINK
+REL="PREVIOUS"
+TITLE="encoding"
+HREF="libxml-encoding.html"><LINK
+REL="NEXT"
+TITLE="debugXML"
+HREF="libxml-debugxml.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+BGCOLOR="#000000"
+CELLPADDING="1"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="4"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="5"
+>Gnome XML Library Reference Manual</FONT
+></TH
+></TR
+><TR
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="left"
+><A
+HREF="libxml-encoding.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><<< Previous Page</B
+></FONT
+></A
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#0000C0"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="book1.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Home</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#00C000"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="libxml-lib.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Up</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="right"
+><A
+HREF="libxml-debugxml.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Next Page >>></B
+></FONT
+></A
+></TD
+></TR
+></TABLE
+></DIV
+><H1
+><A
+NAME="LIBXML-HASH"
+>hash</A
+></H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN24303"
+></A
+><H2
+>Name</H2
+>hash -- </DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN24306"
+></A
+><H2
+>Synopsis</H2
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="SYNOPSIS"
+>
+
+struct <A
+HREF="libxml-hash.html#XMLHASHTABLE"
+>xmlHashTable</A
+>;
+typedef <A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+>;
+void (<A
+HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
+>*xmlHashDeallocator</A
+>) (void *payload,
+ <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name);
+void* (<A
+HREF="libxml-hash.html#XMLHASHCOPIER"
+>*xmlHashCopier</A
+>) (void *payload,
+ <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name);
+void* (<A
+HREF="libxml-hash.html#XMLHASHSCANNER"
+>*xmlHashScanner</A
+>) (void *payload,
+ void *data,
+ <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name);
+void (<A
+HREF="libxml-hash.html#XMLHASHSCANNERFULL"
+>*xmlHashScannerFull</A
+>) (void *payload,
+ void *data,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name2,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name3);
+<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> <A
+HREF="libxml-hash.html#XMLHASHCREATE"
+>xmlHashCreate</A
+> (int size);
+void <A
+HREF="libxml-hash.html#XMLHASHFREE"
+>xmlHashFree</A
+> (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ <A
+HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
+>xmlHashDeallocator</A
+> f);
+int <A
+HREF="libxml-hash.html#XMLHASHADDENTRY"
+>xmlHashAddEntry</A
+> (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ void *userdata);
+int <A
+HREF="libxml-hash.html#XMLHASHUPDATEENTRY"
+>xmlHashUpdateEntry</A
+> (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ void *userdata,
+ <A
+HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
+>xmlHashDeallocator</A
+> f);
+int <A
+HREF="libxml-hash.html#XMLHASHADDENTRY2"
+>xmlHashAddEntry2</A
+> (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name2,
+ void *userdata);
+int <A
+HREF="libxml-hash.html#XMLHASHUPDATEENTRY2"
+>xmlHashUpdateEntry2</A
+> (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name2,
+ void *userdata,
+ <A
+HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
+>xmlHashDeallocator</A
+> f);
+int <A
+HREF="libxml-hash.html#XMLHASHADDENTRY3"
+>xmlHashAddEntry3</A
+> (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name2,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name3,
+ void *userdata);
+int <A
+HREF="libxml-hash.html#XMLHASHUPDATEENTRY3"
+>xmlHashUpdateEntry3</A
+> (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name2,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name3,
+ void *userdata,
+ <A
+HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
+>xmlHashDeallocator</A
+> f);
+int <A
+HREF="libxml-hash.html#XMLHASHREMOVEENTRY"
+>xmlHashRemoveEntry</A
+> (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ <A
+HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
+>xmlHashDeallocator</A
+> f);
+int <A
+HREF="libxml-hash.html#XMLHASHREMOVEENTRY2"
+>xmlHashRemoveEntry2</A
+> (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name2,
+ <A
+HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
+>xmlHashDeallocator</A
+> f);
+int <A
+HREF="libxml-hash.html#XMLHASHREMOVEENTRY3"
+>xmlHashRemoveEntry3</A
+> (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name2,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name3,
+ <A
+HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
+>xmlHashDeallocator</A
+> f);
+void* <A
+HREF="libxml-hash.html#XMLHASHLOOKUP"
+>xmlHashLookup</A
+> (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name);
+void* <A
+HREF="libxml-hash.html#XMLHASHLOOKUP2"
+>xmlHashLookup2</A
+> (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name2);
+void* <A
+HREF="libxml-hash.html#XMLHASHLOOKUP3"
+>xmlHashLookup3</A
+> (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name2,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name3);
+<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> <A
+HREF="libxml-hash.html#XMLHASHCOPY"
+>xmlHashCopy</A
+> (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ <A
+HREF="libxml-hash.html#XMLHASHCOPIER"
+>xmlHashCopier</A
+> f);
+int <A
+HREF="libxml-hash.html#XMLHASHSIZE"
+>xmlHashSize</A
+> (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table);
+void <A
+HREF="libxml-hash.html#XMLHASHSCAN"
+>xmlHashScan</A
+> (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ <A
+HREF="libxml-hash.html#XMLHASHSCANNER"
+>xmlHashScanner</A
+> f,
+ void *data);
+void <A
+HREF="libxml-hash.html#XMLHASHSCAN3"
+>xmlHashScan3</A
+> (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name2,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name3,
+ <A
+HREF="libxml-hash.html#XMLHASHSCANNER"
+>xmlHashScanner</A
+> f,
+ void *data);
+void <A
+HREF="libxml-hash.html#XMLHASHSCANFULL"
+>xmlHashScanFull</A
+> (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ <A
+HREF="libxml-hash.html#XMLHASHSCANNERFULL"
+>xmlHashScannerFull</A
+> f,
+ void *data);
+void <A
+HREF="libxml-hash.html#XMLHASHSCANFULL3"
+>xmlHashScanFull3</A
+> (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name2,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name3,
+ <A
+HREF="libxml-hash.html#XMLHASHSCANNERFULL"
+>xmlHashScannerFull</A
+> f,
+ void *data);</PRE
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN24404"
+></A
+><H2
+>Description</H2
+><P
+></P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN24407"
+></A
+><H2
+>Details</H2
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN24409"
+></A
+><H3
+><A
+NAME="XMLHASHTABLE"
+></A
+>struct xmlHashTable</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlHashTable;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN24414"
+></A
+><H3
+><A
+NAME="XMLHASHTABLEPTR"
+></A
+>xmlHashTablePtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlHashTable *xmlHashTablePtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN24419"
+></A
+><H3
+><A
+NAME="XMLHASHDEALLOCATOR"
+></A
+>xmlHashDeallocator ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void (*xmlHashDeallocator) (void *payload,
+ <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN24425"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>payload</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> </TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> </TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN24438"
+></A
+><H3
+><A
+NAME="XMLHASHCOPIER"
+></A
+>xmlHashCopier ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void* (*xmlHashCopier) (void *payload,
+ <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN24444"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>payload</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> </TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> </TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN24457"
+></A
+><H3
+><A
+NAME="XMLHASHSCANNER"
+></A
+>xmlHashScanner ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void* (*xmlHashScanner) (void *payload,
+ void *data,
+ <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN24463"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>payload</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> </TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>data</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> </TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> </TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN24480"
+></A
+><H3
+><A
+NAME="XMLHASHSCANNERFULL"
+></A
+>xmlHashScannerFull ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void (*xmlHashScannerFull) (void *payload,
+ void *data,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name2,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name3);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN24488"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>payload</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> </TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>data</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> </TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> </TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name2</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> </TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name3</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> </TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN24513"
+></A
+><H3
+><A
+NAME="XMLHASHCREATE"
+></A
+>xmlHashCreate ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> xmlHashCreate (int size);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Create a new xmlHashTablePtr.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN24520"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>size</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the size of the hash table</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the newly created object, or NULL if an error occured.</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN24533"
+></A
+><H3
+><A
+NAME="XMLHASHFREE"
+></A
+>xmlHashFree ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void xmlHashFree (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ <A
+HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
+>xmlHashDeallocator</A
+> f);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Free the hash table and its contents. The userdata is
+deallocated with f if provided.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN24541"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>table</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the hash table</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>f</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the deallocator function for items in the hash</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN24554"
+></A
+><H3
+><A
+NAME="XMLHASHADDENTRY"
+></A
+>xmlHashAddEntry ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int xmlHashAddEntry (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ void *userdata);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Add the userdata to the hash table. This can later be retrieved
+by using the name. Duplicate names generate errors.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN24562"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>table</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the hash table</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the name of the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>userdata</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a pointer to the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>0 the addition succeeded and -1 in case of error.</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN24583"
+></A
+><H3
+><A
+NAME="XMLHASHUPDATEENTRY"
+></A
+>xmlHashUpdateEntry ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int xmlHashUpdateEntry (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ void *userdata,
+ <A
+HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
+>xmlHashDeallocator</A
+> f);</PRE
+></TD
+></TR
+></TABLE
+><P
+>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 <TT
+CLASS="PARAMETER"
+><I
+>f</I
+></TT
+> if found.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN24593"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>table</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the hash table</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the name of the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>userdata</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a pointer to the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>f</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the deallocator function for replaced item (if any)</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>0 the addition succeeded and -1 in case of error.</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN24618"
+></A
+><H3
+><A
+NAME="XMLHASHADDENTRY2"
+></A
+>xmlHashAddEntry2 ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int xmlHashAddEntry2 (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name2,
+ void *userdata);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Add the userdata to the hash table. This can later be retrieved
+by using the (name, name2) tuple. Duplicate tuples generate errors.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN24627"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>table</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the hash table</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the name of the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name2</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a second name of the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>userdata</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a pointer to the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>0 the addition succeeded and -1 in case of error.</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN24652"
+></A
+><H3
+><A
+NAME="XMLHASHUPDATEENTRY2"
+></A
+>xmlHashUpdateEntry2 ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int xmlHashUpdateEntry2 (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name2,
+ void *userdata,
+ <A
+HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
+>xmlHashDeallocator</A
+> f);</PRE
+></TD
+></TR
+></TABLE
+><P
+>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 <TT
+CLASS="PARAMETER"
+><I
+>f</I
+></TT
+> if found.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN24663"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>table</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the hash table</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the name of the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name2</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a second name of the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>userdata</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a pointer to the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>f</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the deallocator function for replaced item (if any)</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>0 the addition succeeded and -1 in case of error.</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN24692"
+></A
+><H3
+><A
+NAME="XMLHASHADDENTRY3"
+></A
+>xmlHashAddEntry3 ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int xmlHashAddEntry3 (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name2,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name3,
+ void *userdata);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Add the userdata to the hash table. This can later be retrieved
+by using the tuple (name, name2, name3). Duplicate entries generate
+errors.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN24702"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>table</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the hash table</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the name of the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name2</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a second name of the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name3</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a third name of the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>userdata</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a pointer to the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>0 the addition succeeded and -1 in case of error.</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN24731"
+></A
+><H3
+><A
+NAME="XMLHASHUPDATEENTRY3"
+></A
+>xmlHashUpdateEntry3 ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int xmlHashUpdateEntry3 (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name2,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name3,
+ void *userdata,
+ <A
+HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
+>xmlHashDeallocator</A
+> f);</PRE
+></TD
+></TR
+></TABLE
+><P
+>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 <TT
+CLASS="PARAMETER"
+><I
+>f</I
+></TT
+> if found.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN24743"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>table</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the hash table</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the name of the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name2</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a second name of the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name3</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a third name of the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>userdata</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a pointer to the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>f</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the deallocator function for replaced item (if any)</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>0 the addition succeeded and -1 in case of error.</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN24776"
+></A
+><H3
+><A
+NAME="XMLHASHREMOVEENTRY"
+></A
+>xmlHashRemoveEntry ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int xmlHashRemoveEntry (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ <A
+HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
+>xmlHashDeallocator</A
+> f);</PRE
+></TD
+></TR
+></TABLE
+><P
+>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 <TT
+CLASS="PARAMETER"
+><I
+>f</I
+></TT
+>.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN24786"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>table</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the hash table</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the name of the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>f</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the deallocator function for removed item (if any)</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>0 if the removal succeeded and -1 in case of error or not found.</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN24807"
+></A
+><H3
+><A
+NAME="XMLHASHREMOVEENTRY2"
+></A
+>xmlHashRemoveEntry2 ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int xmlHashRemoveEntry2 (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name2,
+ <A
+HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
+>xmlHashDeallocator</A
+> f);</PRE
+></TD
+></TR
+></TABLE
+><P
+>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 <TT
+CLASS="PARAMETER"
+><I
+>f</I
+></TT
+>.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN24818"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>table</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the hash table</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the name of the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name2</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a second name of the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>f</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the deallocator function for removed item (if any)</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>0 if the removal succeeded and -1 in case of error or not found.</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN24843"
+></A
+><H3
+><A
+NAME="XMLHASHREMOVEENTRY3"
+></A
+>xmlHashRemoveEntry3 ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int xmlHashRemoveEntry3 (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name2,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name3,
+ <A
+HREF="libxml-hash.html#XMLHASHDEALLOCATOR"
+>xmlHashDeallocator</A
+> f);</PRE
+></TD
+></TR
+></TABLE
+><P
+>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 <TT
+CLASS="PARAMETER"
+><I
+>f</I
+></TT
+>.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN24855"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>table</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the hash table</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the name of the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name2</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a second name of the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name3</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a third name of the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>f</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the deallocator function for removed item (if any)</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>0 if the removal succeeded and -1 in case of error or not found.</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN24884"
+></A
+><H3
+><A
+NAME="XMLHASHLOOKUP"
+></A
+>xmlHashLookup ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void* xmlHashLookup (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Find the userdata specified by the name.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN24892"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>table</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the hash table</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the name of the userdata</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN24905"
+></A
+><H3
+><A
+NAME="XMLHASHLOOKUP2"
+></A
+>xmlHashLookup2 ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void* xmlHashLookup2 (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name2);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Find the userdata specified by the (name, name2) tuple.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN24914"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>table</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the hash table</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the name of the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name2</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a second name of the userdata</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN24931"
+></A
+><H3
+><A
+NAME="XMLHASHLOOKUP3"
+></A
+>xmlHashLookup3 ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void* xmlHashLookup3 (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name2,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name3);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Find the userdata specified by the (name, name2, name3) tuple.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN24941"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>table</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the hash table</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the name of the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name2</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a second name of the userdata</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name3</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a third name of the userdata</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN24962"
+></A
+><H3
+><A
+NAME="XMLHASHCOPY"
+></A
+>xmlHashCopy ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> xmlHashCopy (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ <A
+HREF="libxml-hash.html#XMLHASHCOPIER"
+>xmlHashCopier</A
+> f);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Scan the hash table and applied f to each value.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN24971"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>table</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the hash table</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>f</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the copier function for items in the hash</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the new table or NULL in case of error.</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN24988"
+></A
+><H3
+><A
+NAME="XMLHASHSIZE"
+></A
+>xmlHashSize ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int xmlHashSize (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Query the number of element installed in the hash table.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN24995"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>table</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the hash table</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the number of elements in the hash table or
+-1 in case of error</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN25008"
+></A
+><H3
+><A
+NAME="XMLHASHSCAN"
+></A
+>xmlHashScan ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void xmlHashScan (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ <A
+HREF="libxml-hash.html#XMLHASHSCANNER"
+>xmlHashScanner</A
+> f,
+ void *data);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Scan the hash table and applied f to each value.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN25016"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>table</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the hash table</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>f</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the scanner function for items in the hash</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>data</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> extra data passed to f</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN25033"
+></A
+><H3
+><A
+NAME="XMLHASHSCAN3"
+></A
+>xmlHashScan3 ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void xmlHashScan3 (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name2,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name3,
+ <A
+HREF="libxml-hash.html#XMLHASHSCANNER"
+>xmlHashScanner</A
+> f,
+ void *data);</PRE
+></TD
+></TR
+></TABLE
+><P
+>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.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN25044"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>table</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the hash table</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the name of the userdata or NULL</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name2</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a second name of the userdata or NULL</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name3</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a third name of the userdata or NULL</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>f</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the scanner function for items in the hash</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>data</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> extra data passed to f</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN25073"
+></A
+><H3
+><A
+NAME="XMLHASHSCANFULL"
+></A
+>xmlHashScanFull ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void xmlHashScanFull (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ <A
+HREF="libxml-hash.html#XMLHASHSCANNERFULL"
+>xmlHashScannerFull</A
+> f,
+ void *data);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Scan the hash table and applied f to each value.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN25081"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>table</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the hash table</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>f</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the scanner function for items in the hash</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>data</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> extra data passed to f</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN25098"
+></A
+><H3
+><A
+NAME="XMLHASHSCANFULL3"
+></A
+>xmlHashScanFull3 ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void xmlHashScanFull3 (<A
+HREF="libxml-hash.html#XMLHASHTABLEPTR"
+>xmlHashTablePtr</A
+> table,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name2,
+ const <A
+HREF="libxml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name3,
+ <A
+HREF="libxml-hash.html#XMLHASHSCANNERFULL"
+>xmlHashScannerFull</A
+> f,
+ void *data);</PRE
+></TD
+></TR
+></TABLE
+><P
+>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.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN25109"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>table</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the hash table</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the name of the userdata or NULL</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name2</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a second name of the userdata or NULL</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name3</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> a third name of the userdata or NULL</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>f</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the scanner function for items in the hash</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>data</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> extra data passed to f</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><BR
+CLEAR="all"><BR><TABLE
+WIDTH="100%"
+BORDER="0"
+BGCOLOR="#000000"
+CELLPADDING="1"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="left"
+><A
+HREF="libxml-encoding.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><<< Previous Page</B
+></FONT
+></A
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#0000C0"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="book1.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Home</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#00C000"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="libxml-lib.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Up</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="right"
+><A
+HREF="libxml-debugxml.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Next Page >>></B
+></FONT
+></A
+></TD
+></TR
+><TR
+><TD
+COLSPAN="2"
+ALIGN="left"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>encoding</B
+></FONT
+></TD
+><TD
+COLSPAN="2"
+ALIGN="right"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>debugXML</B
+></FONT
+></TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file
diff --git a/doc/html/libxml-threads.html b/doc/html/libxml-threads.html
new file mode 100644
index 0000000..044e848
--- /dev/null
+++ b/doc/html/libxml-threads.html
@@ -0,0 +1,1373 @@
+<HTML
+><HEAD
+><TITLE
+>threads</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.64
+"><LINK
+REL="HOME"
+TITLE="Gnome XML Library Reference Manual"
+HREF="book1.html"><LINK
+REL="UP"
+TITLE="Libxml Library Reference"
+HREF="libxml-lib.html"><LINK
+REL="PREVIOUS"
+TITLE="catalog"
+HREF="libxml-catalog.html"><LINK
+REL="NEXT"
+TITLE="globals"
+HREF="libxml-globals.html"></HEAD
+><BODY
+CLASS="REFENTRY"
+BGCOLOR="#FFFFFF"
+TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+WIDTH="100%"
+BORDER="0"
+BGCOLOR="#000000"
+CELLPADDING="1"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="4"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="5"
+>Gnome XML Library Reference Manual</FONT
+></TH
+></TR
+><TR
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="left"
+><A
+HREF="libxml-catalog.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><<< Previous Page</B
+></FONT
+></A
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#0000C0"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="book1.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Home</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#00C000"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="libxml-lib.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Up</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="right"
+><A
+HREF="libxml-globals.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Next Page >>></B
+></FONT
+></A
+></TD
+></TR
+></TABLE
+></DIV
+><H1
+><A
+NAME="LIBXML-THREADS"
+>threads</A
+></H1
+><DIV
+CLASS="REFNAMEDIV"
+><A
+NAME="AEN19856"
+></A
+><H2
+>Name</H2
+>threads -- </DIV
+><DIV
+CLASS="REFSYNOPSISDIV"
+><A
+NAME="AEN19859"
+></A
+><H2
+>Synopsis</H2
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="SYNOPSIS"
+>
+
+struct <A
+HREF="libxml-threads.html#XMLMUTEX"
+>xmlMutex</A
+>;
+typedef <A
+HREF="libxml-threads.html#XMLMUTEXPTR"
+>xmlMutexPtr</A
+>;
+<A
+HREF="libxml-threads.html#XMLMUTEXPTR"
+>xmlMutexPtr</A
+> <A
+HREF="libxml-threads.html#XMLNEWMUTEX"
+>xmlNewMutex</A
+> (void);
+void <A
+HREF="libxml-threads.html#XMLMUTEXLOCK"
+>xmlMutexLock</A
+> (<A
+HREF="libxml-threads.html#XMLMUTEXPTR"
+>xmlMutexPtr</A
+> tok);
+void <A
+HREF="libxml-threads.html#XMLMUTEXUNLOCK"
+>xmlMutexUnlock</A
+> (<A
+HREF="libxml-threads.html#XMLMUTEXPTR"
+>xmlMutexPtr</A
+> tok);
+void <A
+HREF="libxml-threads.html#XMLFREEMUTEX"
+>xmlFreeMutex</A
+> (<A
+HREF="libxml-threads.html#XMLMUTEXPTR"
+>xmlMutexPtr</A
+> tok);
+struct <A
+HREF="libxml-threads.html#XMLRMUTEX"
+>xmlRMutex</A
+>;
+typedef <A
+HREF="libxml-threads.html#XMLRMUTEXPTR"
+>xmlRMutexPtr</A
+>;
+<A
+HREF="libxml-threads.html#XMLRMUTEXPTR"
+>xmlRMutexPtr</A
+> <A
+HREF="libxml-threads.html#XMLNEWRMUTEX"
+>xmlNewRMutex</A
+> (void);
+void <A
+HREF="libxml-threads.html#XMLRMUTEXLOCK"
+>xmlRMutexLock</A
+> (<A
+HREF="libxml-threads.html#XMLRMUTEXPTR"
+>xmlRMutexPtr</A
+> tok);
+void <A
+HREF="libxml-threads.html#XMLRMUTEXUNLOCK"
+>xmlRMutexUnlock</A
+> (<A
+HREF="libxml-threads.html#XMLRMUTEXPTR"
+>xmlRMutexPtr</A
+> tok);
+void <A
+HREF="libxml-threads.html#XMLFREERMUTEX"
+>xmlFreeRMutex</A
+> (<A
+HREF="libxml-threads.html#XMLRMUTEXPTR"
+>xmlRMutexPtr</A
+> tok);
+void <A
+HREF="libxml-threads.html#XMLINITTHREADS"
+>xmlInitThreads</A
+> (void);
+void <A
+HREF="libxml-threads.html#XMLLOCKLIBRARY"
+>xmlLockLibrary</A
+> (void);
+void <A
+HREF="libxml-threads.html#XMLUNLOCKLIBRARY"
+>xmlUnlockLibrary</A
+> (void);
+int <A
+HREF="libxml-threads.html#XMLGETTHREADID"
+>xmlGetThreadId</A
+> (void);
+int <A
+HREF="libxml-threads.html#XMLISMAINTHREAD"
+>xmlIsMainThread</A
+> (void);
+void <A
+HREF="libxml-threads.html#XMLCLEANUPTHREADS"
+>xmlCleanupThreads</A
+> (void);
+<A
+HREF="libxml-globals.html#XMLGLOBALSTATEPTR"
+>xmlGlobalStatePtr</A
+> <A
+HREF="libxml-threads.html#XMLGETGLOBALSTATE"
+>xmlGetGlobalState</A
+> (void);</PRE
+></TD
+></TR
+></TABLE
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN19890"
+></A
+><H2
+>Description</H2
+><P
+></P
+></DIV
+><DIV
+CLASS="REFSECT1"
+><A
+NAME="AEN19893"
+></A
+><H2
+>Details</H2
+><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN19895"
+></A
+><H3
+><A
+NAME="XMLMUTEX"
+></A
+>struct xmlMutex</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlMutex;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN19900"
+></A
+><H3
+><A
+NAME="XMLMUTEXPTR"
+></A
+>xmlMutexPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlMutex *xmlMutexPtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+><A
+HREF="libxml-threads.html#XMLNEWMUTEX"
+>xmlNewMutex</A
+>() is used to allocate a libxml2 token struct for use in
+synchronizing access to data.</P
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN19907"
+></A
+><H3
+><A
+NAME="XMLNEWMUTEX"
+></A
+>xmlNewMutex ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-threads.html#XMLMUTEXPTR"
+>xmlMutexPtr</A
+> xmlNewMutex (void);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN19913"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> </TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN19922"
+></A
+><H3
+><A
+NAME="XMLMUTEXLOCK"
+></A
+>xmlMutexLock ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void xmlMutexLock (<A
+HREF="libxml-threads.html#XMLMUTEXPTR"
+>xmlMutexPtr</A
+> tok);</PRE
+></TD
+></TR
+></TABLE
+><P
+><A
+HREF="libxml-threads.html#XMLMUTEXLOCK"
+>xmlMutexLock</A
+>() is used to lock a libxml2 token.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN19930"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>tok</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the simple mutex</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN19939"
+></A
+><H3
+><A
+NAME="XMLMUTEXUNLOCK"
+></A
+>xmlMutexUnlock ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void xmlMutexUnlock (<A
+HREF="libxml-threads.html#XMLMUTEXPTR"
+>xmlMutexPtr</A
+> tok);</PRE
+></TD
+></TR
+></TABLE
+><P
+><A
+HREF="libxml-threads.html#XMLMUTEXUNLOCK"
+>xmlMutexUnlock</A
+>() is used to unlock a libxml2 token.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN19947"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>tok</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the simple mutex</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN19956"
+></A
+><H3
+><A
+NAME="XMLFREEMUTEX"
+></A
+>xmlFreeMutex ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void xmlFreeMutex (<A
+HREF="libxml-threads.html#XMLMUTEXPTR"
+>xmlMutexPtr</A
+> tok);</PRE
+></TD
+></TR
+></TABLE
+><P
+><A
+HREF="libxml-threads.html#XMLFREEMUTEX"
+>xmlFreeMutex</A
+>() is used to reclaim resources associated with a libxml2 token
+struct.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN19964"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>tok</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the simple mutex</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN19973"
+></A
+><H3
+><A
+NAME="XMLRMUTEX"
+></A
+>struct xmlRMutex</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlRMutex;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN19978"
+></A
+><H3
+><A
+NAME="XMLRMUTEXPTR"
+></A
+>xmlRMutexPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlRMutex *xmlRMutexPtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN19983"
+></A
+><H3
+><A
+NAME="XMLNEWRMUTEX"
+></A
+>xmlNewRMutex ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-threads.html#XMLRMUTEXPTR"
+>xmlRMutexPtr</A
+> xmlNewRMutex (void);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN19989"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> </TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN19998"
+></A
+><H3
+><A
+NAME="XMLRMUTEXLOCK"
+></A
+>xmlRMutexLock ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void xmlRMutexLock (<A
+HREF="libxml-threads.html#XMLRMUTEXPTR"
+>xmlRMutexPtr</A
+> tok);</PRE
+></TD
+></TR
+></TABLE
+><P
+><A
+HREF="libxml-threads.html#XMLRMUTEXLOCK"
+>xmlRMutexLock</A
+>() is used to lock a libxml2 token_r.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN20006"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>tok</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the reentrant mutex</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20015"
+></A
+><H3
+><A
+NAME="XMLRMUTEXUNLOCK"
+></A
+>xmlRMutexUnlock ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void xmlRMutexUnlock (<A
+HREF="libxml-threads.html#XMLRMUTEXPTR"
+>xmlRMutexPtr</A
+> tok);</PRE
+></TD
+></TR
+></TABLE
+><P
+><A
+HREF="libxml-threads.html#XMLRMUTEXUNLOCK"
+>xmlRMutexUnlock</A
+>() is used to unlock a libxml2 token_r.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN20023"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>tok</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> the reentrant mutex</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20032"
+></A
+><H3
+><A
+NAME="XMLFREERMUTEX"
+></A
+>xmlFreeRMutex ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void xmlFreeRMutex (<A
+HREF="libxml-threads.html#XMLRMUTEXPTR"
+>xmlRMutexPtr</A
+> tok);</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN20038"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>tok</I
+></TT
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> </TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20047"
+></A
+><H3
+><A
+NAME="XMLINITTHREADS"
+></A
+>xmlInitThreads ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void xmlInitThreads (void);</PRE
+></TD
+></TR
+></TABLE
+><P
+><A
+HREF="libxml-threads.html#XMLINITTHREADS"
+>xmlInitThreads</A
+>() is used to to initialize all the thread related
+data of the libxml2 library.</P
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20054"
+></A
+><H3
+><A
+NAME="XMLLOCKLIBRARY"
+></A
+>xmlLockLibrary ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void xmlLockLibrary (void);</PRE
+></TD
+></TR
+></TABLE
+><P
+><A
+HREF="libxml-threads.html#XMLLOCKLIBRARY"
+>xmlLockLibrary</A
+>() is used to take out a re-entrant lock on the libxml2
+library.</P
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20061"
+></A
+><H3
+><A
+NAME="XMLUNLOCKLIBRARY"
+></A
+>xmlUnlockLibrary ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void xmlUnlockLibrary (void);</PRE
+></TD
+></TR
+></TABLE
+><P
+><A
+HREF="libxml-threads.html#XMLUNLOCKLIBRARY"
+>xmlUnlockLibrary</A
+>() is used to release a re-entrant lock on the libxml2
+library.</P
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20068"
+></A
+><H3
+><A
+NAME="XMLGETTHREADID"
+></A
+>xmlGetThreadId ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int xmlGetThreadId (void);</PRE
+></TD
+></TR
+></TABLE
+><P
+><A
+HREF="libxml-threads.html#XMLGETTHREADID"
+>xmlGetThreadId</A
+>() find the current thread ID number</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN20075"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the current thread ID number</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20084"
+></A
+><H3
+><A
+NAME="XMLISMAINTHREAD"
+></A
+>xmlIsMainThread ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int xmlIsMainThread (void);</PRE
+></TD
+></TR
+></TABLE
+><P
+><A
+HREF="libxml-threads.html#XMLISMAINTHREAD"
+>xmlIsMainThread</A
+>() check wether the current thread is the main thread.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN20091"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>1 if the current thread is the main thread, 0 otherwise</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20100"
+></A
+><H3
+><A
+NAME="XMLCLEANUPTHREADS"
+></A
+>xmlCleanupThreads ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void xmlCleanupThreads (void);</PRE
+></TD
+></TR
+></TABLE
+><P
+><A
+HREF="libxml-threads.html#XMLCLEANUPTHREADS"
+>xmlCleanupThreads</A
+>() is used to to cleanup all the thread related
+data of the libxml2 library once processing has ended.</P
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN20107"
+></A
+><H3
+><A
+NAME="XMLGETGLOBALSTATE"
+></A
+>xmlGetGlobalState ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="libxml-globals.html#XMLGLOBALSTATEPTR"
+>xmlGlobalStatePtr</A
+> xmlGetGlobalState (void);</PRE
+></TD
+></TR
+></TABLE
+><P
+><A
+HREF="libxml-threads.html#XMLGETGLOBALSTATE"
+>xmlGetGlobalState</A
+>() is called to retrieve the global state for a thread.
+keyonce will only be set once during a library invocation and is used
+to create globalkey, the key used to store each thread's TSD.</P
+><P
+>Note: it should not be called for the "main" thread as this thread uses
+the existing global variables defined in the library.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><A
+NAME="AEN20116"
+></A
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TBODY
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the thread global state or NULL in case of error</TD
+></TR
+></TBODY
+></TABLE
+><P
+></P
+></DIV
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><BR
+CLEAR="all"><BR><TABLE
+WIDTH="100%"
+BORDER="0"
+BGCOLOR="#000000"
+CELLPADDING="1"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="left"
+><A
+HREF="libxml-catalog.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><<< Previous Page</B
+></FONT
+></A
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#0000C0"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="book1.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Home</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#00C000"
+ALIGN="center"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+><A
+HREF="libxml-lib.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Up</B
+></FONT
+></A
+></B
+></FONT
+></TD
+><TD
+WIDTH="25%"
+BGCOLOR="#C00000"
+ALIGN="right"
+><A
+HREF="libxml-globals.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Next Page >>></B
+></FONT
+></A
+></TD
+></TR
+><TR
+><TD
+COLSPAN="2"
+ALIGN="left"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>catalog</B
+></FONT
+></TD
+><TD
+COLSPAN="2"
+ALIGN="right"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>globals</B
+></FONT
+></TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+>
\ No newline at end of file