Added XPath code (http://www.w3.org/TR/xpath), updated HTML support and docs, Daniel
diff --git a/doc/html/gnome-xml-parser.html b/doc/html/gnome-xml-parser.html
index 696b3fd..03433c0 100644
--- a/doc/html/gnome-xml-parser.html
+++ b/doc/html/gnome-xml-parser.html
@@ -443,6 +443,10 @@
 HREF="gnome-xml-parser.html#XMLSAXHANDLERPTR"
 >xmlSAXHandlerPtr</A
 >;
+extern      const char *<A
+HREF="gnome-xml-parser.html#XMLPARSERVERSION"
+>xmlParserVersion</A
+>;
 extern      xmlSAXLocator <A
 HREF="gnome-xml-parser.html#XMLDEFAULTSAXLOCATOR"
 >xmlDefaultSAXLocator</A
@@ -451,6 +455,10 @@
 HREF="gnome-xml-parser.html#XMLDEFAULTSAXHANDLER"
 >xmlDefaultSAXHandler</A
 >;
+extern      xmlSAXHandler <A
+HREF="gnome-xml-parser.html#HTMLDEFAULTSAXHANDLER"
+>htmlDefaultSAXHandler</A
+>;
 <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -476,6 +484,18 @@
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
 >*       <A
+HREF="gnome-xml-parser.html#XMLSTRSUB"
+>xmlStrsub</A
+>                       (const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *str,
+                                             int start,
+                                             int len);
+const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+>* <A
 HREF="gnome-xml-parser.html#XMLSTRCHR"
 >xmlStrchr</A
 >                       (const <A
@@ -486,6 +506,20 @@
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
 > val);
+const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+>* <A
+HREF="gnome-xml-parser.html#XMLSTRSTR"
+>xmlStrstr</A
+>                       (const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *str,
+                                             <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *val);
 int         <A
 HREF="gnome-xml-parser.html#XMLSTRCMP"
 >xmlStrcmp</A
@@ -761,7 +795,11 @@
 void        <A
 HREF="gnome-xml-parser.html#XMLDEFAULTSAXHANDLERINIT"
 >xmlDefaultSAXHandlerInit</A
->        (void);</PRE
+>        (void);
+void        <A
+HREF="gnome-xml-parser.html#HTMLDEFAULTSAXHANDLERINIT"
+>htmlDefaultSAXHandlerInit</A
+>       (void);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -769,7 +807,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN178"
+NAME="AEN188"
 ></A
 ><H2
 >Description</H2
@@ -779,14 +817,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN181"
+NAME="AEN191"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN183"
+NAME="AEN193"
 ></A
 ><H3
 ><A
@@ -802,7 +840,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XML_DEFAULT_VERSION	"1.0"</PRE
+>#define     XML_DEFAULT_VERSION</PRE
 ></TD
 ></TR
 ></TABLE
@@ -812,7 +850,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN188"
+NAME="AEN198"
 ></A
 ><H3
 ><A
@@ -873,156 +911,65 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN203"
+NAME="AEN213"
 ></A
 ><H3
 ><A
 NAME="XMLPARSERINPUTPTR"
 ></A
 >xmlParserInputPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlParserInput *xmlParserInputPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN208"
+NAME="AEN217"
 ></A
 ><H3
 ><A
 NAME="XMLPARSERNODEINFO"
 ></A
 >xmlParserNodeInfo</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef _xmlParserNodeInfo xmlParserNodeInfo;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN213"
+NAME="AEN221"
 ></A
 ><H3
 ><A
 NAME="XMLPARSERNODEINFOSEQ"
 ></A
 >xmlParserNodeInfoSeq</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef _xmlParserNodeInfoSeq xmlParserNodeInfoSeq;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN218"
+NAME="AEN225"
 ></A
 ><H3
 ><A
 NAME="XMLPARSERNODEINFOSEQPTR"
 ></A
 >xmlParserNodeInfoSeqPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN223"
+NAME="AEN229"
 ></A
 ><H3
 ><A
 NAME="XMLPARSERCTXT"
 ></A
 >xmlParserCtxt</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef _xmlParserCtxt xmlParserCtxt;</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN228"
-></A
-><H3
-><A
-NAME="XMLPARSERCTXTPTR"
-></A
->xmlParserCtxtPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlParserCtxt *xmlParserCtxtPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
@@ -1033,55 +980,42 @@
 ></A
 ><H3
 ><A
-NAME="XMLSAXLOCATOR"
+NAME="XMLPARSERCTXTPTR"
 ></A
->xmlSAXLocator</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef _xmlSAXLocator xmlSAXLocator;</PRE
-></TD
-></TR
-></TABLE
+>xmlParserCtxtPtr</H3
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN238"
+NAME="AEN237"
+></A
+><H3
+><A
+NAME="XMLSAXLOCATOR"
+></A
+>xmlSAXLocator</H3
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN241"
 ></A
 ><H3
 ><A
 NAME="XMLSAXLOCATORPTR"
 ></A
 >xmlSAXLocatorPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlSAXLocator *xmlSAXLocatorPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN243"
+NAME="AEN245"
 ></A
 ><H3
 ><A
@@ -1199,7 +1133,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN272"
+NAME="AEN274"
 ></A
 ><H3
 ><A
@@ -1320,7 +1254,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN301"
+NAME="AEN303"
 ></A
 ><H3
 ><A
@@ -1417,7 +1351,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN325"
+NAME="AEN327"
 ></A
 ><H3
 ><A
@@ -1577,7 +1511,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN363"
+NAME="AEN365"
 ></A
 ><H3
 ><A
@@ -1698,7 +1632,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN392"
+NAME="AEN394"
 ></A
 ><H3
 ><A
@@ -1876,7 +1810,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN434"
+NAME="AEN436"
 ></A
 ><H3
 ><A
@@ -1994,7 +1928,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN462"
+NAME="AEN464"
 ></A
 ><H3
 ><A
@@ -2136,7 +2070,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN496"
+NAME="AEN498"
 ></A
 ><H3
 ><A
@@ -2215,7 +2149,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN515"
+NAME="AEN517"
 ></A
 ><H3
 ><A
@@ -2273,7 +2207,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN529"
+NAME="AEN531"
 ></A
 ><H3
 ><A
@@ -2331,7 +2265,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN543"
+NAME="AEN545"
 ></A
 ><H3
 ><A
@@ -2431,7 +2365,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN567"
+NAME="AEN569"
 ></A
 ><H3
 ><A
@@ -2510,7 +2444,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN586"
+NAME="AEN588"
 ></A
 ><H3
 ><A
@@ -2610,7 +2544,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN610"
+NAME="AEN612"
 ></A
 ><H3
 ><A
@@ -2689,7 +2623,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN629"
+NAME="AEN631"
 ></A
 ><H3
 ><A
@@ -2786,7 +2720,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN652"
+NAME="AEN654"
 ></A
 ><H3
 ><A
@@ -2883,7 +2817,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN675"
+NAME="AEN677"
 ></A
 ><H3
 ><A
@@ -2983,7 +2917,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN699"
+NAME="AEN701"
 ></A
 ><H3
 ><A
@@ -3062,7 +2996,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN718"
+NAME="AEN720"
 ></A
 ><H3
 ><A
@@ -3156,7 +3090,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN740"
+NAME="AEN742"
 ></A
 ><H3
 ><A
@@ -3250,7 +3184,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN762"
+NAME="AEN764"
 ></A
 ><H3
 ><A
@@ -3344,7 +3278,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN784"
+NAME="AEN786"
 ></A
 ><H3
 ><A
@@ -3417,7 +3351,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN802"
+NAME="AEN804"
 ></A
 ><H3
 ><A
@@ -3490,7 +3424,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN820"
+NAME="AEN822"
 ></A
 ><H3
 ><A
@@ -3563,13 +3497,26 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN838"
+NAME="AEN840"
 ></A
 ><H3
 ><A
 NAME="XMLSAXHANDLERPTR"
 ></A
 >xmlSAXHandlerPtr</H3
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN844"
+></A
+><H3
+><A
+NAME="XMLPARSERVERSION"
+></A
+>xmlParserVersion</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -3579,7 +3526,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->typedef xmlSAXHandler *xmlSAXHandlerPtr;</PRE
+>extern const char *xmlParserVersion;</PRE
 ></TD
 ></TR
 ></TABLE
@@ -3589,7 +3536,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN843"
+NAME="AEN849"
 ></A
 ><H3
 ><A
@@ -3615,7 +3562,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN848"
+NAME="AEN854"
 ></A
 ><H3
 ><A
@@ -3641,7 +3588,33 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN853"
+NAME="AEN859"
+></A
+><H3
+><A
+NAME="HTMLDEFAULTSAXHANDLER"
+></A
+>htmlDefaultSAXHandler</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>extern xmlSAXHandler htmlDefaultSAXHandler;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN864"
 ></A
 ><H3
 ><A
@@ -3697,7 +3670,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the input CHAR *</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3712,7 +3685,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a new CHAR * or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3722,7 +3695,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN874"
+NAME="AEN885"
 ></A
 ><H3
 ><A
@@ -3779,7 +3752,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the input CHAR *</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3796,12 +3769,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the len of <TT
-CLASS="PARAMETER"
-><I
->cur</I
-></TT
-></TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3816,7 +3784,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a new CHAR * or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3826,7 +3794,124 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN900"
+NAME="AEN910"
+></A
+><H3
+><A
+NAME="XMLSTRSUB"
+></A
+>xmlStrsub ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+>*       xmlStrsub                       (const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *str,
+                                             int start,
+                                             int len);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Extract a substring of a given string</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>str</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>start</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>len</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN939"
 ></A
 ><H3
 ><A
@@ -3842,10 +3927,10 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><A
+>const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
->*       xmlStrchr                       (const <A
+>* xmlStrchr                       (const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
 > *str,
@@ -3886,7 +3971,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the CHAR * array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3903,7 +3988,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the CHAR to search</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3918,7 +4003,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the CHAR * for the first occurence or NULL.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3928,7 +4013,109 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN926"
+NAME="AEN965"
+></A
+><H3
+><A
+NAME="XMLSTRSTR"
+></A
+>xmlStrstr ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+>* xmlStrstr                       (const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *str,
+                                             <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *val);</PRE
+></TD
+></TR
+></TABLE
+><P
+>a strstr for CHAR's</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>str</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>val</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN991"
 ></A
 ><H3
 ><A
@@ -3985,7 +4172,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the first CHAR *</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4002,7 +4189,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the second CHAR *</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4017,7 +4204,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the integer result of the comparison</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4027,7 +4214,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN951"
+NAME="AEN1016"
 ></A
 ><H3
 ><A
@@ -4085,7 +4272,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the first CHAR *</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4102,7 +4289,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the second CHAR *</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4119,7 +4306,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the max comparison length</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4134,7 +4321,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the integer result of the comparison</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4144,7 +4331,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN980"
+NAME="AEN1045"
 ></A
 ><H3
 ><A
@@ -4197,7 +4384,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the CHAR * array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4212,7 +4399,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the number of CHAR contained in the ARRAY.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4222,7 +4409,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1000"
+NAME="AEN1065"
 ></A
 ><H3
 ><A
@@ -4282,7 +4469,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the original CHAR * array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4299,7 +4486,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the CHAR * array added</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4314,7 +4501,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a new CHAR * containing the concatenated string.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4324,7 +4511,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1026"
+NAME="AEN1091"
 ></A
 ><H3
 ><A
@@ -4385,7 +4572,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the original CHAR * array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4402,7 +4589,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the CHAR * array added</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4419,12 +4606,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the length of <TT
-CLASS="PARAMETER"
-><I
->add</I
-></TT
-></TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4439,7 +4621,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a new CHAR * containing the concatenated string.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4449,7 +4631,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1057"
+NAME="AEN1121"
 ></A
 ><H3
 ><A
@@ -4505,7 +4687,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a pointer to an array of CHAR</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4520,7 +4702,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting document tree</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4530,7 +4712,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1078"
+NAME="AEN1142"
 ></A
 ><H3
 ><A
@@ -4584,7 +4766,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an pointer to a char array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4601,7 +4783,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the size of the array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4616,7 +4798,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting document tree</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4626,7 +4808,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1102"
+NAME="AEN1166"
 ></A
 ><H3
 ><A
@@ -4680,7 +4862,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the filename</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4695,7 +4877,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting document tree</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4705,7 +4887,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1122"
+NAME="AEN1186"
 ></A
 ><H3
 ><A
@@ -4763,7 +4945,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  int 0 or 1 </TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4778,7 +4960,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the last value for 0 for no substitution, 1 for substitution.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4788,7 +4970,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1142"
+NAME="AEN1206"
 ></A
 ><H3
 ><A
@@ -4845,7 +5027,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a pointer to an array of CHAR</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4860,7 +5042,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting document tree</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4870,7 +5052,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1163"
+NAME="AEN1227"
 ></A
 ><H3
 ><A
@@ -4925,7 +5107,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an pointer to a char array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4942,7 +5124,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the size of the array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4957,7 +5139,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting document tree</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4967,7 +5149,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1187"
+NAME="AEN1251"
 ></A
 ><H3
 ><A
@@ -5022,7 +5204,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the filename</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5037,7 +5219,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting document tree</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5047,7 +5229,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1207"
+NAME="AEN1271"
 ></A
 ><H3
 ><A
@@ -5105,7 +5287,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5120,8 +5302,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->0, -1 in case of error. the parser context is augmented
-as a result of the parsing.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5131,7 +5312,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1229"
+NAME="AEN1293"
 ></A
 ><H3
 ><A
@@ -5194,7 +5375,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the SAX handler block</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5211,7 +5392,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a pointer to an array of CHAR</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5228,8 +5409,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  work in recovery mode, i.e. tries to read no Well Formed
-documents</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5244,7 +5424,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting document tree</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5254,7 +5434,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1259"
+NAME="AEN1323"
 ></A
 ><H3
 ><A
@@ -5315,7 +5495,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the SAX handler block</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5332,7 +5512,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an pointer to a char array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5349,7 +5529,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the siwe of the array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5366,8 +5546,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  work in recovery mode, i.e. tries to read no Well Formed
-documents</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5382,7 +5561,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting document tree</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5392,7 +5571,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1292"
+NAME="AEN1356"
 ></A
 ><H3
 ><A
@@ -5453,7 +5632,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the SAX handler block</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5470,7 +5649,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the filename</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5487,8 +5666,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  work in recovery mode, i.e. tries to read no Well Formed
-documents</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5503,7 +5681,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting document tree</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5513,7 +5691,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1321"
+NAME="AEN1385"
 ></A
 ><H3
 ><A
@@ -5573,7 +5751,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a NAME* containing the External ID of the DTD</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5590,7 +5768,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a NAME* containing the URL to the DTD</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5605,7 +5783,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting xmlDtdPtr or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5615,7 +5793,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1347"
+NAME="AEN1411"
 ></A
 ><H3
 ><A
@@ -5679,7 +5857,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the SAX handler block</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5696,7 +5874,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a NAME* containing the External ID of the DTD</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5713,7 +5891,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a NAME* containing the URL to the DTD</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5728,7 +5906,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting xmlDtdPtr or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5738,7 +5916,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1378"
+NAME="AEN1442"
 ></A
 ><H3
 ><A
@@ -5791,7 +5969,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5801,7 +5979,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1394"
+NAME="AEN1458"
 ></A
 ><H3
 ><A
@@ -5854,7 +6032,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5864,7 +6042,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1410"
+NAME="AEN1474"
 ></A
 ><H3
 ><A
@@ -5924,7 +6102,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5941,7 +6119,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a CHAR * buffer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5958,7 +6136,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a file name</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5968,7 +6146,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1435"
+NAME="AEN1499"
 ></A
 ><H3
 ><A
@@ -6029,7 +6207,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6046,7 +6224,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML node within the tree</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6061,7 +6239,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->an xmlParserNodeInfo block pointer or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6071,7 +6249,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1461"
+NAME="AEN1525"
 ></A
 ><H3
 ><A
@@ -6124,7 +6302,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a node info sequence pointer</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6134,7 +6312,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1477"
+NAME="AEN1541"
 ></A
 ><H3
 ><A
@@ -6188,7 +6366,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a node info sequence pointer</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6198,7 +6376,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1493"
+NAME="AEN1557"
 ></A
 ><H3
 ><A
@@ -6259,7 +6437,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a node info sequence pointer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6276,7 +6454,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML node pointer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6291,7 +6469,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a long indicating the position of the record</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6301,7 +6479,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1519"
+NAME="AEN1583"
 ></A
 ><H3
 ><A
@@ -6358,7 +6536,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6375,7 +6553,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a node info sequence pointer</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6385,7 +6563,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1540"
+NAME="AEN1604"
 ></A
 ><H3
 ><A
@@ -6410,6 +6588,34 @@
 ><P
 ></P
 ></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN1610"
+></A
+><H3
+><A
+NAME="HTMLDEFAULTSAXHANDLERINIT"
+></A
+>htmlDefaultSAXHandlerInit ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        htmlDefaultSAXHandlerInit       (void);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Initialize the default SAX handler</P
+><P
+></P
+></DIV
 ></DIV
 ><DIV
 CLASS="NAVFOOTER"