Regenerated the documentation, Daniel.
diff --git a/doc/gnome-xml.sgml b/doc/gnome-xml.sgml
index 96eb97a..d1c21de 100644
--- a/doc/gnome-xml.sgml
+++ b/doc/gnome-xml.sgml
@@ -9,6 +9,7 @@
 <!entity HTMLparser SYSTEM "sgml/HTMLparser.sgml">
 <!entity HTMLtree SYSTEM "sgml/HTMLtree.sgml">
 <!entity parserInternals SYSTEM "sgml/parserInternals.sgml">
+<!entity xmlmemory SYSTEM "sgml/xmlmemory.sgml">
 ]>
 
 <book>
@@ -18,16 +19,17 @@
 
   <chapter id="libxml">
     <title>Gnome XML Library</title>
-    &parser; The parser general interfaces
-    &SAX; The parser SAX interfaces
-    &tree; Manipulation the tree generated by the parser
-    &entities; Routines for handling entities
-    &valid; All the stuff defined in DTDs
-    &error; Callbacks in case of parsing error
-    &parserInternals; Access to the parser internal routines
-    &HTMLparser; parsing HTML and generating a tree
-    &HTMLtree; printing HTML trees
-    &xpath; A on-going XPath implementation
+    &parser;
+    &SAX;
+    &tree;
+    &entities;
+    &valid;
+    &error;
+    &HTMLparser;
+    &HTMLtree;
+    &xpath;
+    &parserInternals;
+    &xmlmemory;
   </chapter>
 </book>
 
diff --git a/doc/html/book1.html b/doc/html/book1.html
index 09efeb7..3ebd0f2 100644
--- a/doc/html/book1.html
+++ b/doc/html/book1.html
@@ -80,11 +80,6 @@
 > &#8212; </DT
 ><DT
 ><A
-HREF="gnome-xml-parserinternals.html"
->parserInternals</A
-> &#8212; </DT
-><DT
-><A
 HREF="gnome-xml-htmlparser.html"
 >HTMLparser</A
 > &#8212; </DT
@@ -98,6 +93,16 @@
 HREF="gnome-xml-xpath.html"
 >xpath</A
 > &#8212; </DT
+><DT
+><A
+HREF="gnome-xml-parserinternals.html"
+>parserInternals</A
+> &#8212; </DT
+><DT
+><A
+HREF="gnome-xml-xmlmemory.html"
+>xmlmemory</A
+> &#8212; </DT
 ></DL
 ></DD
 ></DL
diff --git a/doc/html/gnome-xml-entities.html b/doc/html/gnome-xml-entities.html
index 22ad347..71f2994 100644
--- a/doc/html/gnome-xml-entities.html
+++ b/doc/html/gnome-xml-entities.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3775"
+NAME="AEN4098"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3778"
+NAME="AEN4101"
 ></A
 ><H2
 >Synopsis</H2
@@ -344,7 +344,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3835"
+NAME="AEN4158"
 ></A
 ><H2
 >Description</H2
@@ -354,14 +354,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3838"
+NAME="AEN4161"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3840"
+NAME="AEN4163"
 ></A
 ><H3
 ><A
@@ -377,7 +377,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_INTERNAL_GENERAL_ENTITY</PRE
+>#define XML_INTERNAL_GENERAL_ENTITY		1</PRE
 ></TD
 ></TR
 ></TABLE
@@ -387,7 +387,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3845"
+NAME="AEN4168"
 ></A
 ><H3
 ><A
@@ -403,7 +403,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_EXTERNAL_GENERAL_PARSED_ENTITY</PRE
+>#define XML_EXTERNAL_GENERAL_PARSED_ENTITY	2</PRE
 ></TD
 ></TR
 ></TABLE
@@ -413,7 +413,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3850"
+NAME="AEN4173"
 ></A
 ><H3
 ><A
@@ -429,7 +429,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_EXTERNAL_GENERAL_UNPARSED_ENTITY</PRE
+>#define XML_EXTERNAL_GENERAL_UNPARSED_ENTITY	3</PRE
 ></TD
 ></TR
 ></TABLE
@@ -439,7 +439,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3855"
+NAME="AEN4178"
 ></A
 ><H3
 ><A
@@ -455,7 +455,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_INTERNAL_PARAMETER_ENTITY</PRE
+>#define XML_INTERNAL_PARAMETER_ENTITY		4</PRE
 ></TD
 ></TR
 ></TABLE
@@ -465,7 +465,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3860"
+NAME="AEN4183"
 ></A
 ><H3
 ><A
@@ -481,7 +481,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_EXTERNAL_PARAMETER_ENTITY</PRE
+>#define XML_EXTERNAL_PARAMETER_ENTITY		5</PRE
 ></TD
 ></TR
 ></TABLE
@@ -491,7 +491,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3865"
+NAME="AEN4188"
 ></A
 ><H3
 ><A
@@ -507,7 +507,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_INTERNAL_PREDEFINED_ENTITY</PRE
+>#define XML_INTERNAL_PREDEFINED_ENTITY		6</PRE
 ></TD
 ></TR
 ></TABLE
@@ -517,20 +517,33 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3870"
+NAME="AEN4193"
 ></A
 ><H3
 ><A
 NAME="XMLENTITYPTR"
 ></A
 >xmlEntityPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlEntity *xmlEntityPtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3874"
+NAME="AEN4198"
 ></A
 ><H3
 ><A
@@ -546,7 +559,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_MIN_ENTITIES_TABLE</PRE
+>#define XML_MIN_ENTITIES_TABLE	32</PRE
 ></TD
 ></TR
 ></TABLE
@@ -556,20 +569,33 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3879"
+NAME="AEN4203"
 ></A
 ><H3
 ><A
 NAME="XMLENTITIESTABLEPTR"
 ></A
 >xmlEntitiesTablePtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlEntitiesTable *xmlEntitiesTablePtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3883"
+NAME="AEN4208"
 ></A
 ><H3
 ><A
@@ -639,7 +665,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -656,7 +682,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity name</TD
 ></TR
 ><TR
 ><TD
@@ -673,7 +699,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity type XML_xxx_yyy_ENTITY</TD
 ></TR
 ><TR
 ><TD
@@ -690,7 +716,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity external ID if available</TD
 ></TR
 ><TR
 ><TD
@@ -707,7 +733,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity system ID if available</TD
 ></TR
 ><TR
 ><TD
@@ -724,7 +750,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity content</TD
 ></TR
 ></TABLE
 ><P
@@ -734,7 +760,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3923"
+NAME="AEN4248"
 ></A
 ><H3
 ><A
@@ -804,7 +830,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -821,7 +847,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity name</TD
 ></TR
 ><TR
 ><TD
@@ -838,7 +864,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity type XML_xxx_yyy_ENTITY</TD
 ></TR
 ><TR
 ><TD
@@ -855,7 +881,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity external ID if available</TD
 ></TR
 ><TR
 ><TD
@@ -872,7 +898,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity system ID if available</TD
 ></TR
 ><TR
 ><TD
@@ -889,7 +915,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity content</TD
 ></TR
 ></TABLE
 ><P
@@ -899,7 +925,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3963"
+NAME="AEN4288"
 ></A
 ><H3
 ><A
@@ -955,7 +981,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity name</TD
 ></TR
 ><TR
 ><TD
@@ -970,7 +996,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>NULL if not, othervise the entity</TD
 ></TR
 ></TABLE
 ><P
@@ -980,7 +1006,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3984"
+NAME="AEN4309"
 ></A
 ><H3
 ><A
@@ -1042,7 +1068,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document referencing the entity</TD
 ></TR
 ><TR
 ><TD
@@ -1059,7 +1085,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity name</TD
 ></TR
 ><TR
 ><TD
@@ -1074,7 +1100,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>A pointer to the entity structure or NULL if not found.</TD
 ></TR
 ></TABLE
 ><P
@@ -1084,7 +1110,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4010"
+NAME="AEN4335"
 ></A
 ><H3
 ><A
@@ -1145,7 +1171,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document referencing the entity</TD
 ></TR
 ><TR
 ><TD
@@ -1162,7 +1188,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity name</TD
 ></TR
 ><TR
 ><TD
@@ -1177,7 +1203,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>A pointer to the entity structure or NULL if not found.</TD
 ></TR
 ></TABLE
 ><P
@@ -1187,7 +1213,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4036"
+NAME="AEN4361"
 ></A
 ><H3
 ><A
@@ -1248,7 +1274,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document referencing the entity</TD
 ></TR
 ><TR
 ><TD
@@ -1265,7 +1291,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity name</TD
 ></TR
 ><TR
 ><TD
@@ -1280,7 +1306,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>A pointer to the entity structure or NULL if not found.</TD
 ></TR
 ></TABLE
 ><P
@@ -1290,7 +1316,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4062"
+NAME="AEN4387"
 ></A
 ><H3
 ><A
@@ -1324,7 +1350,8 @@
 >Do a global encoding of a string, replacing the predefined entities
 and non ASCII values with their entities and CharRef counterparts.</P
 ><P
->TODO: remove this, once we are not afraid of breaking binary compatibility</P
+>TODO: remove xmlEncodeEntities, once we are not afraid of breaking binary
+compatibility</P
 ><P
 >People must migrate their code to xmlEncodeEntitiesReentrant !
 This routine will issue a warning when encountered.</P
@@ -1356,7 +1383,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document containing the string</TD
 ></TR
 ><TR
 ><TD
@@ -1373,7 +1400,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  A string to convert to XML.</TD
 ></TR
 ><TR
 ><TD
@@ -1388,7 +1415,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>A newly allocated string with the substitution done.</TD
 ></TR
 ></TABLE
 ><P
@@ -1398,7 +1425,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4090"
+NAME="AEN4415"
 ></A
 ><H3
 ><A
@@ -1464,7 +1491,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document containing the string</TD
 ></TR
 ><TR
 ><TD
@@ -1481,7 +1508,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  A string to convert to XML.</TD
 ></TR
 ><TR
 ><TD
@@ -1496,7 +1523,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>A newly allocated string with the substitution done.</TD
 ></TR
 ></TABLE
 ><P
@@ -1506,7 +1533,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4117"
+NAME="AEN4442"
 ></A
 ><H3
 ><A
@@ -1557,7 +1584,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlEntitiesTablePtr just created or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -1567,7 +1594,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4133"
+NAME="AEN4458"
 ></A
 ><H3
 ><A
@@ -1623,7 +1650,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An entity table</TD
 ></TR
 ><TR
 ><TD
@@ -1638,7 +1665,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new xmlEntitiesTablePtr or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -1648,7 +1675,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4154"
+NAME="AEN4479"
 ></A
 ><H3
 ><A
@@ -1701,7 +1728,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An entity table</TD
 ></TR
 ></TABLE
 ><P
@@ -1711,7 +1738,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4170"
+NAME="AEN4495"
 ></A
 ><H3
 ><A
@@ -1768,7 +1795,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An XML buffer.</TD
 ></TR
 ><TR
 ><TD
@@ -1785,7 +1812,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An entity table</TD
 ></TR
 ></TABLE
 ><P
diff --git a/doc/html/gnome-xml-htmlparser.html b/doc/html/gnome-xml-htmlparser.html
index 746c75d..5123b22 100644
--- a/doc/html/gnome-xml-htmlparser.html
+++ b/doc/html/gnome-xml-htmlparser.html
@@ -12,8 +12,8 @@
 TITLE="Gnome XML Library"
 HREF="libxml.html"><LINK
 REL="PREVIOUS"
-TITLE="parserInternals"
-HREF="gnome-xml-parserinternals.html"><LINK
+TITLE="xml-error"
+HREF="gnome-xml-xml-error.html"><LINK
 REL="NEXT"
 TITLE="HTMLtree"
 HREF="gnome-xml-htmltree.html"></HEAD
@@ -44,7 +44,7 @@
 BGCOLOR="#C00000"
 ALIGN="left"
 ><A
-HREF="gnome-xml-parserinternals.html"
+HREF="gnome-xml-xml-error.html"
 ><FONT
 COLOR="#FFFFFF"
 SIZE="3"
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN7240"
+NAME="AEN5974"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN7243"
+NAME="AEN5977"
 ></A
 ><H2
 >Synopsis</H2
@@ -277,7 +277,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7281"
+NAME="AEN6015"
 ></A
 ><H2
 >Description</H2
@@ -287,131 +287,248 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7284"
+NAME="AEN6018"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7286"
+NAME="AEN6020"
 ></A
 ><H3
 ><A
 NAME="HTMLPARSERCTXT"
 ></A
 >htmlParserCtxt</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlParserCtxt htmlParserCtxt;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7290"
+NAME="AEN6025"
 ></A
 ><H3
 ><A
 NAME="HTMLPARSERCTXTPTR"
 ></A
 >htmlParserCtxtPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlParserCtxtPtr htmlParserCtxtPtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7294"
+NAME="AEN6030"
 ></A
 ><H3
 ><A
 NAME="HTMLPARSERNODEINFO"
 ></A
 >htmlParserNodeInfo</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlParserNodeInfo htmlParserNodeInfo;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7298"
+NAME="AEN6035"
 ></A
 ><H3
 ><A
 NAME="HTMLSAXHANDLER"
 ></A
 >htmlSAXHandler</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlSAXHandler htmlSAXHandler;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7302"
+NAME="AEN6040"
 ></A
 ><H3
 ><A
 NAME="HTMLSAXHANDLERPTR"
 ></A
 >htmlSAXHandlerPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlSAXHandlerPtr htmlSAXHandlerPtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7306"
+NAME="AEN6045"
 ></A
 ><H3
 ><A
 NAME="HTMLPARSERINPUT"
 ></A
 >htmlParserInput</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlParserInput htmlParserInput;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7310"
+NAME="AEN6050"
 ></A
 ><H3
 ><A
 NAME="HTMLPARSERINPUTPTR"
 ></A
 >htmlParserInputPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlParserInputPtr htmlParserInputPtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7314"
+NAME="AEN6055"
 ></A
 ><H3
 ><A
 NAME="HTMLDOCPTR"
 ></A
 >htmlDocPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlDocPtr htmlDocPtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7318"
+NAME="AEN6060"
 ></A
 ><H3
 ><A
 NAME="HTMLNODEPTR"
 ></A
 >htmlNodePtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlNodePtr htmlNodePtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7322"
+NAME="AEN6065"
 ></A
 ><H3
 ><A
@@ -467,7 +584,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  The tag name</TD
 ></TR
 ><TR
 ><TD
@@ -482,7 +599,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the related htmlElemDescPtr or NULL if not found.</TD
 ></TR
 ></TABLE
 ><P
@@ -492,7 +609,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7343"
+NAME="AEN6086"
 ></A
 ><H3
 ><A
@@ -550,7 +667,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the entity name</TD
 ></TR
 ><TR
 ><TD
@@ -565,7 +682,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the associated htmlEntityDescPtr if found, NULL otherwise.</TD
 ></TR
 ></TABLE
 ><P
@@ -575,7 +692,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7365"
+NAME="AEN6108"
 ></A
 ><H3
 ><A
@@ -637,7 +754,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an HTML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -654,7 +771,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  location to store the entity name</TD
 ></TR
 ><TR
 ><TD
@@ -669,7 +786,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the associated htmlEntityDescPtr if found, or NULL otherwise,
+if non-NULL *str will have to be freed by the caller.</TD
 ></TR
 ></TABLE
 ><P
@@ -679,7 +797,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7392"
+NAME="AEN6135"
 ></A
 ><H3
 ><A
@@ -738,7 +856,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an HTML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -753,7 +871,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the value parsed (as an int)</TD
 ></TR
 ></TABLE
 ><P
@@ -763,7 +881,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7414"
+NAME="AEN6157"
 ></A
 ><H3
 ><A
@@ -820,7 +938,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an HTML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -830,7 +948,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7432"
+NAME="AEN6175"
 ></A
 ><H3
 ><A
@@ -894,7 +1012,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a pointer to an array of CHAR</TD
 ></TR
 ><TR
 ><TD
@@ -911,7 +1029,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a free form C string describing the HTML document encoding, or NULL</TD
 ></TR
 ><TR
 ><TD
@@ -928,7 +1046,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the SAX handler block</TD
 ></TR
 ><TR
 ><TD
@@ -945,7 +1063,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> if using SAX, this pointer will be provided on callbacks. </TD
 ></TR
 ><TR
 ><TD
@@ -960,7 +1078,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -970,7 +1088,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7466"
+NAME="AEN6209"
 ></A
 ><H3
 ><A
@@ -1027,7 +1145,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a pointer to an array of CHAR</TD
 ></TR
 ><TR
 ><TD
@@ -1044,7 +1162,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a free form C string describing the HTML document encoding, or NULL</TD
 ></TR
 ><TR
 ><TD
@@ -1059,7 +1177,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -1069,7 +1187,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7491"
+NAME="AEN6234"
 ></A
 ><H3
 ><A
@@ -1131,7 +1249,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the filename</TD
 ></TR
 ><TR
 ><TD
@@ -1148,7 +1266,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a free form C string describing the HTML document encoding, or NULL</TD
 ></TR
 ><TR
 ><TD
@@ -1165,7 +1283,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the SAX handler block</TD
 ></TR
 ><TR
 ><TD
@@ -1182,7 +1300,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> if using SAX, this pointer will be provided on callbacks. </TD
 ></TR
 ><TR
 ><TD
@@ -1197,7 +1315,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -1207,7 +1325,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7524"
+NAME="AEN6267"
 ></A
 ><H3
 ><A
@@ -1262,7 +1380,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the filename</TD
 ></TR
 ><TR
 ><TD
@@ -1279,7 +1397,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a free form C string describing the HTML document encoding, or NULL</TD
 ></TR
 ><TR
 ><TD
@@ -1294,7 +1412,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -1316,7 +1434,7 @@
 BGCOLOR="#C00000"
 ALIGN="left"
 ><A
-HREF="gnome-xml-parserinternals.html"
+HREF="gnome-xml-xml-error.html"
 ><FONT
 COLOR="#FFFFFF"
 SIZE="3"
@@ -1388,7 +1506,7 @@
 COLOR="#FFFFFF"
 SIZE="3"
 ><B
->parserInternals</B
+>xml-error</B
 ></FONT
 ></TD
 ><TD
diff --git a/doc/html/gnome-xml-htmltree.html b/doc/html/gnome-xml-htmltree.html
index af1d95e..c8528cd 100644
--- a/doc/html/gnome-xml-htmltree.html
+++ b/doc/html/gnome-xml-htmltree.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN7553"
+NAME="AEN6296"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN7556"
+NAME="AEN6299"
 ></A
 ><H2
 >Synopsis</H2
@@ -188,7 +188,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7570"
+NAME="AEN6313"
 ></A
 ><H2
 >Description</H2
@@ -198,14 +198,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7573"
+NAME="AEN6316"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7575"
+NAME="AEN6318"
 ></A
 ><H3
 ><A
@@ -221,7 +221,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     HTML_TEXT_NODE</PRE
+>#define HTML_TEXT_NODE		XML_TEXT_NODE</PRE
 ></TD
 ></TR
 ></TABLE
@@ -231,7 +231,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7580"
+NAME="AEN6323"
 ></A
 ><H3
 ><A
@@ -247,7 +247,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     HTML_ENTITY_REF_NODE</PRE
+>#define HTML_ENTITY_REF_NODE	XML_ENTITY_REF_NODE</PRE
 ></TD
 ></TR
 ></TABLE
@@ -257,7 +257,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7585"
+NAME="AEN6328"
 ></A
 ><H3
 ><A
@@ -273,7 +273,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     HTML_COMMENT_NODE</PRE
+>#define HTML_COMMENT_NODE	XML_COMMENT_NODE</PRE
 ></TD
 ></TR
 ></TABLE
@@ -283,7 +283,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7590"
+NAME="AEN6333"
 ></A
 ><H3
 ><A
@@ -342,7 +342,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -359,7 +359,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  OUT: the memory pointer</TD
 ></TR
 ><TR
 ><TD
@@ -376,7 +376,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  OUT: the memory lenght</TD
 ></TR
 ></TABLE
 ><P
@@ -386,7 +386,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7615"
+NAME="AEN6358"
 ></A
 ><H3
 ><A
@@ -443,7 +443,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the FILE*</TD
 ></TR
 ><TR
 ><TD
@@ -460,7 +460,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ></TABLE
 ><P
@@ -470,7 +470,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7636"
+NAME="AEN6379"
 ></A
 ><H3
 ><A
@@ -524,7 +524,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the filename</TD
 ></TR
 ><TR
 ><TD
@@ -541,7 +541,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -556,7 +556,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the number of byte written or -1 in case of failure.</TD
 ></TR
 ></TABLE
 ><P
diff --git a/doc/html/gnome-xml-parser.html b/doc/html/gnome-xml-parser.html
index 1a96a6b..b0f4c74 100644
--- a/doc/html/gnome-xml-parser.html
+++ b/doc/html/gnome-xml-parser.html
@@ -153,6 +153,19 @@
 HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
 >xmlParserInputPtr</A
 >;
+<A
+HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
+>xmlParserInputPtr</A
+> (<A
+HREF="gnome-xml-parser.html#XMLEXTERNALENTITYLOADER"
+>*xmlExternalEntityLoader</A
+>)
+                                            (const char *URL,
+                                             const char *ID,
+                                             <A
+HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
+>xmlParserInputPtr</A
+> context);
 typedef     <A
 HREF="gnome-xml-parser.html#XMLPARSERNODEINFO"
 >xmlParserNodeInfo</A
@@ -483,6 +496,10 @@
 HREF="gnome-xml-parser.html#HTMLDEFAULTSAXHANDLER"
 >htmlDefaultSAXHandler</A
 >;
+extern      int <A
+HREF="gnome-xml-parser.html#XMLSUBSTITUTEENTITIESDEFAULTVALUE"
+>xmlSubstituteEntitiesDefaultValue</A
+>;
 int         <A
 HREF="gnome-xml-parser.html#XMLPARSERINPUTREAD"
 >xmlParserInputRead</A
@@ -778,6 +795,14 @@
 >CHAR</A
 > *buffer,
                                              const char *filename);
+void        <A
+HREF="gnome-xml-parser.html#XMLDEFAULTSAXHANDLERINIT"
+>xmlDefaultSAXHandlerInit</A
+>        (void);
+void        <A
+HREF="gnome-xml-parser.html#HTMLDEFAULTSAXHANDLERINIT"
+>htmlDefaultSAXHandlerInit</A
+>       (void);
 const <A
 HREF="gnome-xml-parser.html#XMLPARSERNODEINFO"
 >xmlParserNodeInfo</A
@@ -833,13 +858,32 @@
 >xmlParserNodeInfo</A
 > *info);
 void        <A
-HREF="gnome-xml-parser.html#XMLDEFAULTSAXHANDLERINIT"
->xmlDefaultSAXHandlerInit</A
->        (void);
-void        <A
-HREF="gnome-xml-parser.html#HTMLDEFAULTSAXHANDLERINIT"
->htmlDefaultSAXHandlerInit</A
->       (void);</PRE
+HREF="gnome-xml-parser.html#XMLSETEXTERNALENTITYLOADER"
+>xmlSetExternalEntityLoader</A
+>      (<A
+HREF="gnome-xml-parser.html#XMLEXTERNALENTITYLOADER"
+>xmlExternalEntityLoader</A
+> f);
+<A
+HREF="gnome-xml-parser.html#XMLEXTERNALENTITYLOADER"
+>xmlExternalEntityLoader</A
+> <A
+HREF="gnome-xml-parser.html#XMLGETEXTERNALENTITYLOADER"
+>xmlGetExternalEntityLoader</A
+>
+                                            (void);
+<A
+HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
+>xmlParserInputPtr</A
+> <A
+HREF="gnome-xml-parser.html#XMLLOADEXTERNALENTITY"
+>xmlLoadExternalEntity</A
+>     (const char *URL,
+                                             const char *ID,
+                                             <A
+HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
+>xmlParserInputPtr</A
+> context);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -847,7 +891,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN198"
+NAME="AEN209"
 ></A
 ><H2
 >Description</H2
@@ -857,14 +901,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN201"
+NAME="AEN212"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN203"
+NAME="AEN214"
 ></A
 ><H3
 ><A
@@ -880,7 +924,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_DEFAULT_VERSION</PRE
+>#define XML_DEFAULT_VERSION	"1.0"</PRE
 ></TD
 ></TR
 ></TABLE
@@ -890,7 +934,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN208"
+NAME="AEN219"
 ></A
 ><H3
 ><A
@@ -951,52 +995,26 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN223"
+NAME="AEN234"
 ></A
 ><H3
 ><A
 NAME="XMLPARSERINPUTPTR"
 ></A
 >xmlParserInputPtr</H3
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN227"
-></A
-><H3
-><A
-NAME="XMLPARSERNODEINFO"
-></A
->xmlParserNodeInfo</H3
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN231"
-></A
-><H3
-><A
-NAME="XMLPARSERNODEINFOSEQ"
-></A
->xmlParserNodeInfoSeq</H3
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN235"
-></A
-><H3
-><A
-NAME="XMLPARSERNODEINFOSEQPTR"
-></A
->xmlParserNodeInfoSeqPtr</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
@@ -1007,6 +1025,200 @@
 ></A
 ><H3
 ><A
+NAME="XMLEXTERNALENTITYLOADER"
+></A
+>xmlExternalEntityLoader ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
+>xmlParserInputPtr</A
+> (*xmlExternalEntityLoader)
+                                            (const char *URL,
+                                             const char *ID,
+                                             <A
+HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
+>xmlParserInputPtr</A
+> context);</PRE
+></TD
+></TR
+></TABLE
+><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
+>URL</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
+>ID</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
+>context</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="AEN267"
+></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="AEN272"
+></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="AEN277"
+></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="AEN282"
+></A
+><H3
+><A
 NAME="XMLPARSERINPUTSTATE"
 ></A
 >enum xmlParserInputState</H3
@@ -1040,59 +1252,111 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN244"
+NAME="AEN287"
 ></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="AEN248"
+NAME="AEN292"
 ></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
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN252"
+NAME="AEN297"
 ></A
 ><H3
 ><A
 NAME="XMLSAXLOCATOR"
 ></A
 >xmlSAXLocator</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef _xmlSAXLocator xmlSAXLocator;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN256"
+NAME="AEN302"
 ></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="AEN260"
+NAME="AEN307"
 ></A
 ><H3
 ><A
@@ -1210,7 +1474,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN289"
+NAME="AEN336"
 ></A
 ><H3
 ><A
@@ -1331,7 +1595,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN318"
+NAME="AEN365"
 ></A
 ><H3
 ><A
@@ -1428,7 +1692,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN342"
+NAME="AEN389"
 ></A
 ><H3
 ><A
@@ -1525,7 +1789,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN366"
+NAME="AEN413"
 ></A
 ><H3
 ><A
@@ -1685,7 +1949,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN404"
+NAME="AEN451"
 ></A
 ><H3
 ><A
@@ -1806,7 +2070,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN433"
+NAME="AEN480"
 ></A
 ><H3
 ><A
@@ -1984,7 +2248,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN475"
+NAME="AEN522"
 ></A
 ><H3
 ><A
@@ -2102,7 +2366,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN503"
+NAME="AEN550"
 ></A
 ><H3
 ><A
@@ -2244,7 +2508,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN537"
+NAME="AEN584"
 ></A
 ><H3
 ><A
@@ -2323,7 +2587,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN556"
+NAME="AEN603"
 ></A
 ><H3
 ><A
@@ -2381,7 +2645,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN570"
+NAME="AEN617"
 ></A
 ><H3
 ><A
@@ -2439,7 +2703,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN584"
+NAME="AEN631"
 ></A
 ><H3
 ><A
@@ -2539,7 +2803,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN608"
+NAME="AEN655"
 ></A
 ><H3
 ><A
@@ -2618,7 +2882,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN627"
+NAME="AEN674"
 ></A
 ><H3
 ><A
@@ -2718,7 +2982,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN651"
+NAME="AEN698"
 ></A
 ><H3
 ><A
@@ -2797,7 +3061,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN670"
+NAME="AEN717"
 ></A
 ><H3
 ><A
@@ -2894,7 +3158,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN693"
+NAME="AEN740"
 ></A
 ><H3
 ><A
@@ -2991,7 +3255,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN716"
+NAME="AEN763"
 ></A
 ><H3
 ><A
@@ -3091,7 +3355,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN740"
+NAME="AEN787"
 ></A
 ><H3
 ><A
@@ -3170,7 +3434,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN759"
+NAME="AEN806"
 ></A
 ><H3
 ><A
@@ -3267,7 +3531,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN782"
+NAME="AEN829"
 ></A
 ><H3
 ><A
@@ -3361,7 +3625,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN804"
+NAME="AEN851"
 ></A
 ><H3
 ><A
@@ -3455,7 +3719,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN826"
+NAME="AEN873"
 ></A
 ><H3
 ><A
@@ -3549,7 +3813,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN848"
+NAME="AEN895"
 ></A
 ><H3
 ><A
@@ -3622,7 +3886,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN866"
+NAME="AEN913"
 ></A
 ><H3
 ><A
@@ -3695,7 +3959,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN884"
+NAME="AEN931"
 ></A
 ><H3
 ><A
@@ -3768,20 +4032,33 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN902"
+NAME="AEN949"
 ></A
 ><H3
 ><A
 NAME="XMLSAXHANDLERPTR"
 ></A
 >xmlSAXHandlerPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlSAXHandler *xmlSAXHandlerPtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN906"
+NAME="AEN954"
 ></A
 ><H3
 ><A
@@ -3807,7 +4084,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN911"
+NAME="AEN959"
 ></A
 ><H3
 ><A
@@ -3833,7 +4110,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN916"
+NAME="AEN964"
 ></A
 ><H3
 ><A
@@ -3859,7 +4136,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN921"
+NAME="AEN969"
 ></A
 ><H3
 ><A
@@ -3885,7 +4162,33 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN926"
+NAME="AEN974"
+></A
+><H3
+><A
+NAME="XMLSUBSTITUTEENTITIESDEFAULTVALUE"
+></A
+>xmlSubstituteEntitiesDefaultValue</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>extern int xmlSubstituteEntitiesDefaultValue;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN979"
 ></A
 ><H3
 ><A
@@ -3940,7 +4243,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser input</TD
 ></TR
 ><TR
 ><TD
@@ -3957,7 +4260,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an indicative size for the lookahead</TD
 ></TR
 ><TR
 ><TD
@@ -3972,7 +4275,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the number of CHARs read, or -1 in case of error, 0 indicate the
+end of this entity</TD
 ></TR
 ></TABLE
 ><P
@@ -3982,7 +4286,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN950"
+NAME="AEN1003"
 ></A
 ><H3
 ><A
@@ -4037,7 +4341,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser input</TD
 ></TR
 ><TR
 ><TD
@@ -4054,7 +4358,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an indicative size for the lookahead</TD
 ></TR
 ><TR
 ><TD
@@ -4069,7 +4373,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the number of CHARs read, or -1 in case of error, 0 indicate the
+end of this entity</TD
 ></TR
 ></TABLE
 ><P
@@ -4079,7 +4384,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN974"
+NAME="AEN1027"
 ></A
 ><H3
 ><A
@@ -4135,7 +4440,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the input CHAR *</TD
 ></TR
 ><TR
 ><TD
@@ -4150,7 +4455,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a new CHAR * or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -4160,7 +4465,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN995"
+NAME="AEN1048"
 ></A
 ><H3
 ><A
@@ -4217,7 +4522,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the input CHAR *</TD
 ></TR
 ><TR
 ><TD
@@ -4234,7 +4539,12 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the len of <TT
+CLASS="PARAMETER"
+><I
+>cur</I
+></TT
+></TD
 ></TR
 ><TR
 ><TD
@@ -4249,7 +4559,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a new CHAR * or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -4259,7 +4569,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1020"
+NAME="AEN1074"
 ></A
 ><H3
 ><A
@@ -4317,7 +4627,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the CHAR * array (haystack)</TD
 ></TR
 ><TR
 ><TD
@@ -4334,7 +4644,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the index of the first char (zero based)</TD
 ></TR
 ><TR
 ><TD
@@ -4351,7 +4661,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the length of the substring</TD
 ></TR
 ><TR
 ><TD
@@ -4366,7 +4676,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the CHAR * for the first occurence or NULL.</TD
 ></TR
 ></TABLE
 ><P
@@ -4376,7 +4686,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1049"
+NAME="AEN1103"
 ></A
 ><H3
 ><A
@@ -4436,7 +4746,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the CHAR * array</TD
 ></TR
 ><TR
 ><TD
@@ -4453,7 +4763,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the CHAR to search</TD
 ></TR
 ><TR
 ><TD
@@ -4468,7 +4778,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the CHAR * for the first occurence or NULL.</TD
 ></TR
 ></TABLE
 ><P
@@ -4478,7 +4788,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1075"
+NAME="AEN1129"
 ></A
 ><H3
 ><A
@@ -4538,7 +4848,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the CHAR * array (haystack)</TD
 ></TR
 ><TR
 ><TD
@@ -4555,7 +4865,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the CHAR to search (needle)</TD
 ></TR
 ><TR
 ><TD
@@ -4570,7 +4880,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the CHAR * for the first occurence or NULL.</TD
 ></TR
 ></TABLE
 ><P
@@ -4580,7 +4890,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1101"
+NAME="AEN1155"
 ></A
 ><H3
 ><A
@@ -4637,7 +4947,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the first CHAR *</TD
 ></TR
 ><TR
 ><TD
@@ -4654,7 +4964,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the second CHAR *</TD
 ></TR
 ><TR
 ><TD
@@ -4669,7 +4979,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the integer result of the comparison</TD
 ></TR
 ></TABLE
 ><P
@@ -4679,7 +4989,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1126"
+NAME="AEN1180"
 ></A
 ><H3
 ><A
@@ -4737,7 +5047,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the first CHAR *</TD
 ></TR
 ><TR
 ><TD
@@ -4754,7 +5064,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the second CHAR *</TD
 ></TR
 ><TR
 ><TD
@@ -4771,7 +5081,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the max comparison length</TD
 ></TR
 ><TR
 ><TD
@@ -4786,7 +5096,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the integer result of the comparison</TD
 ></TR
 ></TABLE
 ><P
@@ -4796,7 +5106,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1155"
+NAME="AEN1209"
 ></A
 ><H3
 ><A
@@ -4849,7 +5159,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the CHAR * array</TD
 ></TR
 ><TR
 ><TD
@@ -4864,7 +5174,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the number of CHAR contained in the ARRAY.</TD
 ></TR
 ></TABLE
 ><P
@@ -4874,7 +5184,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1175"
+NAME="AEN1229"
 ></A
 ><H3
 ><A
@@ -4934,7 +5244,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the original CHAR * array</TD
 ></TR
 ><TR
 ><TD
@@ -4951,7 +5261,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the CHAR * array added</TD
 ></TR
 ><TR
 ><TD
@@ -4966,7 +5276,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a new CHAR * containing the concatenated string.</TD
 ></TR
 ></TABLE
 ><P
@@ -4976,7 +5286,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1201"
+NAME="AEN1255"
 ></A
 ><H3
 ><A
@@ -5037,7 +5347,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the original CHAR * array</TD
 ></TR
 ><TR
 ><TD
@@ -5054,7 +5364,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the CHAR * array added</TD
 ></TR
 ><TR
 ><TD
@@ -5071,7 +5381,12 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the length of <TT
+CLASS="PARAMETER"
+><I
+>add</I
+></TT
+></TD
 ></TR
 ><TR
 ><TD
@@ -5086,7 +5401,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a new CHAR * containing the concatenated string.</TD
 ></TR
 ></TABLE
 ><P
@@ -5096,7 +5411,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1231"
+NAME="AEN1286"
 ></A
 ><H3
 ><A
@@ -5152,7 +5467,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a pointer to an array of CHAR</TD
 ></TR
 ><TR
 ><TD
@@ -5167,7 +5482,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -5177,7 +5492,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1252"
+NAME="AEN1307"
 ></A
 ><H3
 ><A
@@ -5231,7 +5546,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an pointer to a char array</TD
 ></TR
 ><TR
 ><TD
@@ -5248,7 +5563,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the size of the array</TD
 ></TR
 ><TR
 ><TD
@@ -5263,7 +5578,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -5273,7 +5588,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1276"
+NAME="AEN1331"
 ></A
 ><H3
 ><A
@@ -5327,7 +5642,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the filename</TD
 ></TR
 ><TR
 ><TD
@@ -5342,7 +5657,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -5352,7 +5667,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1296"
+NAME="AEN1351"
 ></A
 ><H3
 ><A
@@ -5410,7 +5725,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  int 0 or 1 </TD
 ></TR
 ><TR
 ><TD
@@ -5425,7 +5740,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the last value for 0 for no substitution, 1 for substitution.</TD
 ></TR
 ></TABLE
 ><P
@@ -5435,7 +5750,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1316"
+NAME="AEN1371"
 ></A
 ><H3
 ><A
@@ -5492,7 +5807,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a pointer to an array of CHAR</TD
 ></TR
 ><TR
 ><TD
@@ -5507,7 +5822,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -5517,7 +5832,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1337"
+NAME="AEN1392"
 ></A
 ><H3
 ><A
@@ -5572,7 +5887,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an pointer to a char array</TD
 ></TR
 ><TR
 ><TD
@@ -5589,7 +5904,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the size of the array</TD
 ></TR
 ><TR
 ><TD
@@ -5604,7 +5919,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -5614,7 +5929,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1361"
+NAME="AEN1416"
 ></A
 ><H3
 ><A
@@ -5669,7 +5984,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the filename</TD
 ></TR
 ><TR
 ><TD
@@ -5684,7 +5999,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -5694,7 +6009,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1381"
+NAME="AEN1436"
 ></A
 ><H3
 ><A
@@ -5752,7 +6067,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -5767,7 +6082,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>0, -1 in case of error. the parser context is augmented
+as a result of the parsing.</TD
 ></TR
 ></TABLE
 ><P
@@ -5777,7 +6093,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1403"
+NAME="AEN1458"
 ></A
 ><H3
 ><A
@@ -5840,7 +6156,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the SAX handler block</TD
 ></TR
 ><TR
 ><TD
@@ -5857,7 +6173,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a pointer to an array of CHAR</TD
 ></TR
 ><TR
 ><TD
@@ -5874,7 +6190,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  work in recovery mode, i.e. tries to read no Well Formed
+documents</TD
 ></TR
 ><TR
 ><TD
@@ -5889,7 +6206,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -5899,7 +6216,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1433"
+NAME="AEN1488"
 ></A
 ><H3
 ><A
@@ -5960,7 +6277,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the SAX handler block</TD
 ></TR
 ><TR
 ><TD
@@ -5977,7 +6294,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an pointer to a char array</TD
 ></TR
 ><TR
 ><TD
@@ -5994,7 +6311,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the siwe of the array</TD
 ></TR
 ><TR
 ><TD
@@ -6011,7 +6328,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  work in recovery mode, i.e. tries to read no Well Formed
+documents</TD
 ></TR
 ><TR
 ><TD
@@ -6026,7 +6344,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -6036,7 +6354,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1466"
+NAME="AEN1521"
 ></A
 ><H3
 ><A
@@ -6097,7 +6415,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the SAX handler block</TD
 ></TR
 ><TR
 ><TD
@@ -6114,7 +6432,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the filename</TD
 ></TR
 ><TR
 ><TD
@@ -6131,7 +6449,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  work in recovery mode, i.e. tries to read no Well Formed
+documents</TD
 ></TR
 ><TR
 ><TD
@@ -6146,7 +6465,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting document tree</TD
 ></TR
 ></TABLE
 ><P
@@ -6156,7 +6475,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1495"
+NAME="AEN1550"
 ></A
 ><H3
 ><A
@@ -6216,7 +6535,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a NAME* containing the External ID of the DTD</TD
 ></TR
 ><TR
 ><TD
@@ -6233,7 +6552,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a NAME* containing the URL to the DTD</TD
 ></TR
 ><TR
 ><TD
@@ -6248,7 +6567,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting xmlDtdPtr or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -6258,7 +6577,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1521"
+NAME="AEN1576"
 ></A
 ><H3
 ><A
@@ -6322,7 +6641,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the SAX handler block</TD
 ></TR
 ><TR
 ><TD
@@ -6339,7 +6658,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a NAME* containing the External ID of the DTD</TD
 ></TR
 ><TR
 ><TD
@@ -6356,7 +6675,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a NAME* containing the URL to the DTD</TD
 ></TR
 ><TR
 ><TD
@@ -6371,7 +6690,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the resulting xmlDtdPtr or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -6381,7 +6700,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1552"
+NAME="AEN1607"
 ></A
 ><H3
 ><A
@@ -6434,7 +6753,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an HTML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -6444,7 +6763,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1568"
+NAME="AEN1623"
 ></A
 ><H3
 ><A
@@ -6497,7 +6816,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -6507,7 +6826,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1584"
+NAME="AEN1639"
 ></A
 ><H3
 ><A
@@ -6567,7 +6886,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -6584,7 +6903,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a CHAR * buffer</TD
 ></TR
 ><TR
 ><TD
@@ -6601,7 +6920,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a file name</TD
 ></TR
 ></TABLE
 ><P
@@ -6611,7 +6930,63 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1609"
+NAME="AEN1664"
+></A
+><H3
+><A
+NAME="XMLDEFAULTSAXHANDLERINIT"
+></A
+>xmlDefaultSAXHandlerInit ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlDefaultSAXHandlerInit        (void);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Initialize the default SAX handler</P
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN1670"
+></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
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN1676"
 ></A
 ><H3
 ><A
@@ -6672,7 +7047,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -6689,7 +7064,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML node within the tree</TD
 ></TR
 ><TR
 ><TD
@@ -6704,7 +7079,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>an xmlParserNodeInfo block pointer or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -6714,7 +7089,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1635"
+NAME="AEN1702"
 ></A
 ><H3
 ><A
@@ -6767,7 +7142,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a node info sequence pointer</TD
 ></TR
 ></TABLE
 ><P
@@ -6777,7 +7152,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1651"
+NAME="AEN1718"
 ></A
 ><H3
 ><A
@@ -6831,7 +7206,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a node info sequence pointer</TD
 ></TR
 ></TABLE
 ><P
@@ -6841,7 +7216,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1667"
+NAME="AEN1734"
 ></A
 ><H3
 ><A
@@ -6902,7 +7277,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a node info sequence pointer</TD
 ></TR
 ><TR
 ><TD
@@ -6919,7 +7294,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML node pointer</TD
 ></TR
 ><TR
 ><TD
@@ -6934,7 +7309,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a long indicating the position of the record</TD
 ></TR
 ></TABLE
 ><P
@@ -6944,7 +7319,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1693"
+NAME="AEN1760"
 ></A
 ><H3
 ><A
@@ -7001,7 +7376,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -7018,6 +7393,67 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
+>  a node info sequence pointer</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN1781"
+></A
+><H3
+><A
+NAME="XMLSETEXTERNALENTITYLOADER"
+></A
+>xmlSetExternalEntityLoader ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlSetExternalEntityLoader      (<A
+HREF="gnome-xml-parser.html#XMLEXTERNALENTITYLOADER"
+>xmlExternalEntityLoader</A
+> f);</PRE
+></TD
+></TR
+></TABLE
+><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
+>f</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
 >&nbsp;</TD
 ></TR
 ></TABLE
@@ -7028,13 +7464,13 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1714"
+NAME="AEN1796"
 ></A
 ><H3
 ><A
-NAME="XMLDEFAULTSAXHANDLERINIT"
+NAME="XMLGETEXTERNALENTITYLOADER"
 ></A
->xmlDefaultSAXHandlerInit ()</H3
+>xmlGetExternalEntityLoader ()</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -7044,25 +7480,57 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        xmlDefaultSAXHandlerInit        (void);</PRE
+><A
+HREF="gnome-xml-parser.html#XMLEXTERNALENTITYLOADER"
+>xmlExternalEntityLoader</A
+> xmlGetExternalEntityLoader
+                                            (void);</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
->Initialize the default SAX handler</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"
+><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="AEN1720"
+NAME="AEN1811"
 ></A
 ><H3
 ><A
-NAME="HTMLDEFAULTSAXHANDLERINIT"
+NAME="XMLLOADEXTERNALENTITY"
 ></A
->htmlDefaultSAXHandlerInit ()</H3
+>xmlLoadExternalEntity ()</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -7072,14 +7540,101 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        htmlDefaultSAXHandlerInit       (void);</PRE
+><A
+HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
+>xmlParserInputPtr</A
+> xmlLoadExternalEntity     (const char *URL,
+                                             const char *ID,
+                                             <A
+HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
+>xmlParserInputPtr</A
+> context);</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
->Initialize the default SAX handler</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
+>URL</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
+>ID</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
+>context</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
 ></DIV
 ><DIV
diff --git a/doc/html/gnome-xml-parserinternals.html b/doc/html/gnome-xml-parserinternals.html
index adbd514..7250a26 100644
--- a/doc/html/gnome-xml-parserinternals.html
+++ b/doc/html/gnome-xml-parserinternals.html
@@ -12,11 +12,11 @@
 TITLE="Gnome XML Library"
 HREF="libxml.html"><LINK
 REL="PREVIOUS"
-TITLE="xml-error"
-HREF="gnome-xml-xml-error.html"><LINK
+TITLE="xpath"
+HREF="gnome-xml-xpath.html"><LINK
 REL="NEXT"
-TITLE="HTMLparser"
-HREF="gnome-xml-htmlparser.html"></HEAD
+TITLE="xmlmemory"
+HREF="gnome-xml-xmlmemory.html"></HEAD
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
@@ -44,7 +44,7 @@
 BGCOLOR="#C00000"
 ALIGN="left"
 ><A
-HREF="gnome-xml-xml-error.html"
+HREF="gnome-xml-xpath.html"
 ><FONT
 COLOR="#FFFFFF"
 SIZE="3"
@@ -98,7 +98,7 @@
 BGCOLOR="#C00000"
 ALIGN="right"
 ><A
-HREF="gnome-xml-htmlparser.html"
+HREF="gnome-xml-xmlmemory.html"
 ><FONT
 COLOR="#FFFFFF"
 SIZE="3"
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN5241"
+NAME="AEN6603"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN5244"
+NAME="AEN6606"
 ></A
 ><H2
 >Synopsis</H2
@@ -138,6 +138,10 @@
 CLASS="SYNOPSIS"
 >&#13;
 
+#define     <A
+HREF="gnome-xml-parserinternals.html#XML-MAX-NAMELEN"
+>XML_MAX_NAMELEN</A
+>
 typedef     <A
 HREF="gnome-xml-parserinternals.html#CHARVAL"
 >CHARVAL</A
@@ -882,7 +886,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN5454"
+NAME="AEN6817"
 ></A
 ><H2
 >Description</H2
@@ -892,14 +896,40 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN5457"
+NAME="AEN6820"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5459"
+NAME="AEN6822"
+></A
+><H3
+><A
+NAME="XML-MAX-NAMELEN"
+></A
+>XML_MAX_NAMELEN</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define XML_MAX_NAMELEN 1000</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6827"
 ></A
 ><H3
 ><A
@@ -912,7 +942,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5463"
+NAME="AEN6831"
 ></A
 ><H3
 ><A
@@ -970,7 +1000,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5477"
+NAME="AEN6845"
 ></A
 ><H3
 ><A
@@ -986,7 +1016,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     SKIPCHARVAL(p)</PRE
+>#define SKIPCHARVAL(p) (p)++;</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1028,7 +1058,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5491"
+NAME="AEN6859"
 ></A
 ><H3
 ><A
@@ -1086,7 +1116,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5505"
+NAME="AEN6873"
 ></A
 ><H3
 ><A
@@ -1144,7 +1174,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5519"
+NAME="AEN6887"
 ></A
 ><H3
 ><A
@@ -1202,7 +1232,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5533"
+NAME="AEN6901"
 ></A
 ><H3
 ><A
@@ -1260,7 +1290,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5547"
+NAME="AEN6915"
 ></A
 ><H3
 ><A
@@ -1318,7 +1348,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5561"
+NAME="AEN6929"
 ></A
 ><H3
 ><A
@@ -1376,7 +1406,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5575"
+NAME="AEN6943"
 ></A
 ><H3
 ><A
@@ -1434,7 +1464,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5589"
+NAME="AEN6957"
 ></A
 ><H3
 ><A
@@ -1492,7 +1522,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5603"
+NAME="AEN6971"
 ></A
 ><H3
 ><A
@@ -1550,7 +1580,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5617"
+NAME="AEN6985"
 ></A
 ><H3
 ><A
@@ -1608,7 +1638,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5631"
+NAME="AEN6999"
 ></A
 ><H3
 ><A
@@ -1666,7 +1696,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5645"
+NAME="AEN7013"
 ></A
 ><H3
 ><A
@@ -1724,7 +1754,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5659"
+NAME="AEN7027"
 ></A
 ><H3
 ><A
@@ -1780,7 +1810,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a pointer to an array of CHAR</TD
 ></TR
 ><TR
 ><TD
@@ -1795,7 +1825,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new parser context or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -1805,7 +1835,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5680"
+NAME="AEN7048"
 ></A
 ><H3
 ><A
@@ -1860,7 +1890,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the filename</TD
 ></TR
 ><TR
 ><TD
@@ -1875,7 +1905,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new parser context or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -1885,7 +1915,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5700"
+NAME="AEN7068"
 ></A
 ><H3
 ><A
@@ -1939,7 +1969,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an pointer to a char array</TD
 ></TR
 ><TR
 ><TD
@@ -1956,7 +1986,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the siwe of the array</TD
 ></TR
 ><TR
 ><TD
@@ -1971,7 +2001,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new parser context or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -1981,7 +2011,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5724"
+NAME="AEN7092"
 ></A
 ><H3
 ><A
@@ -2035,7 +2065,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -2045,7 +2075,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5740"
+NAME="AEN7108"
 ></A
 ><H3
 ><A
@@ -2096,7 +2126,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlParserCtxtPtr or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -2106,7 +2136,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5756"
+NAME="AEN7124"
 ></A
 ><H3
 ><A
@@ -2164,7 +2194,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the parser context</TD
 ></TR
 ><TR
 ><TD
@@ -2191,7 +2221,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5777"
+NAME="AEN7145"
 ></A
 ><H3
 ><A
@@ -2251,7 +2281,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -2268,7 +2298,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML entity pointer.</TD
 ></TR
 ></TABLE
 ><P
@@ -2278,7 +2308,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5799"
+NAME="AEN7167"
 ></A
 ><H3
 ><A
@@ -2338,7 +2368,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -2355,7 +2385,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an Entity pointer</TD
 ></TR
 ><TR
 ><TD
@@ -2370,7 +2400,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new input stream or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -2380,7 +2410,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5825"
+NAME="AEN7193"
 ></A
 ><H3
 ><A
@@ -2438,7 +2468,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -2455,7 +2485,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser input fragment (entity, XML fragment ...).</TD
 ></TR
 ></TABLE
 ><P
@@ -2465,7 +2495,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5846"
+NAME="AEN7214"
 ></A
 ><H3
 ><A
@@ -2522,7 +2552,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -2537,7 +2567,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the current CHAR in the parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -2547,7 +2577,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5867"
+NAME="AEN7235"
 ></A
 ><H3
 ><A
@@ -2600,7 +2630,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an xmlP arserInputPtr</TD
 ></TR
 ></TABLE
 ><P
@@ -2610,7 +2640,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5883"
+NAME="AEN7251"
 ></A
 ><H3
 ><A
@@ -2667,7 +2697,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -2684,7 +2714,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the filename to use as entity</TD
 ></TR
 ><TR
 ><TD
@@ -2699,7 +2729,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new input stream or NULL in case of error</TD
 ></TR
 ></TABLE
 ><P
@@ -2709,7 +2739,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5908"
+NAME="AEN7276"
 ></A
 ><H3
 ><A
@@ -2775,7 +2805,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -2792,7 +2822,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a CHAR ** </TD
 ></TR
 ><TR
 ><TD
@@ -2807,7 +2837,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the function returns the local part, and prefix is updated
+to get the Prefix if any.</TD
 ></TR
 ></TABLE
 ><P
@@ -2817,7 +2848,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5937"
+NAME="AEN7305"
 ></A
 ><H3
 ><A
@@ -2878,7 +2909,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -2893,7 +2924,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the namespace name or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -2903,7 +2934,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5960"
+NAME="AEN7328"
 ></A
 ><H3
 ><A
@@ -2969,7 +3000,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -2986,7 +3017,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a CHAR ** </TD
 ></TR
 ><TR
 ><TD
@@ -3001,7 +3032,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the function returns the local part, and prefix is updated
+to get the Prefix if any.</TD
 ></TR
 ></TABLE
 ><P
@@ -3011,7 +3043,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5989"
+NAME="AEN7357"
 ></A
 ><H3
 ><A
@@ -3071,7 +3103,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -3086,7 +3118,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the namespace name</TD
 ></TR
 ></TABLE
 ><P
@@ -3096,7 +3128,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6012"
+NAME="AEN7380"
 ></A
 ><H3
 ><A
@@ -3153,7 +3185,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -3168,7 +3200,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the string parser or NULL.</TD
 ></TR
 ></TABLE
 ><P
@@ -3178,7 +3210,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6033"
+NAME="AEN7401"
 ></A
 ><H3
 ><A
@@ -3237,7 +3269,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -3247,7 +3279,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6051"
+NAME="AEN7419"
 ></A
 ><H3
 ><A
@@ -3311,7 +3343,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -3326,7 +3358,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the Name parsed or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -3336,7 +3368,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6075"
+NAME="AEN7443"
 ></A
 ><H3
 ><A
@@ -3399,7 +3431,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -3414,7 +3446,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the Name parsed or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -3424,7 +3456,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6099"
+NAME="AEN7467"
 ></A
 ><H3
 ><A
@@ -3484,7 +3516,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -3499,7 +3531,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the Nmtoken parsed or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -3509,7 +3541,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6122"
+NAME="AEN7490"
 ></A
 ><H3
 ><A
@@ -3572,7 +3604,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -3589,7 +3621,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  if non-NULL store a copy of the original entity value</TD
 ></TR
 ><TR
 ><TD
@@ -3604,7 +3636,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the EntityValue parsed with reference substitued or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -3614,7 +3646,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6149"
+NAME="AEN7517"
 ></A
 ><H3
 ><A
@@ -3643,8 +3675,7 @@
 ><P
 >parse a value for an attribute
 Note: the parser won't do substitution of entities here, this
-will be handled later in xmlStringGetNodeList, unless it was
-asked for ctxt-&gt;replaceEntities != 0 </P
+will be handled later in xmlStringGetNodeList</P
 ><P
 >[10] AttValue ::= '"' ([^&lt;&amp;"] | Reference)* '"' |
 "'" ([^&lt;&amp;'] | Reference)* "'"</P
@@ -3676,7 +3707,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -3691,7 +3722,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the AttValue parsed or NULL.</TD
 ></TR
 ></TABLE
 ><P
@@ -3701,7 +3732,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6171"
+NAME="AEN7539"
 ></A
 ><H3
 ><A
@@ -3759,7 +3790,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -3774,7 +3805,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the SystemLiteral parsed or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -3784,7 +3815,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6193"
+NAME="AEN7561"
 ></A
 ><H3
 ><A
@@ -3842,7 +3873,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -3857,7 +3888,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the PubidLiteral parsed or NULL.</TD
 ></TR
 ></TABLE
 ><P
@@ -3867,7 +3898,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6215"
+NAME="AEN7583"
 ></A
 ><H3
 ><A
@@ -3924,7 +3955,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -3941,7 +3972,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  int indicating whether we are within a CDATA section</TD
 ></TR
 ></TABLE
 ><P
@@ -3951,7 +3982,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6236"
+NAME="AEN7604"
 ></A
 ><H3
 ><A
@@ -4020,7 +4051,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -4037,7 +4068,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a CHAR** receiving PubidLiteral</TD
 ></TR
 ><TR
 ><TD
@@ -4054,7 +4085,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> indicate whether we should restrict parsing to only
+production [75], see NOTE below</TD
 ></TR
 ><TR
 ><TD
@@ -4069,7 +4101,9 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the function returns SystemLiteral and in the second
+case publicID receives PubidLiteral, is strict is off
+it is possible to return NULL and have publicID set.</TD
 ></TR
 ></TABLE
 ><P
@@ -4079,7 +4113,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6269"
+NAME="AEN7637"
 ></A
 ><H3
 ><A
@@ -4104,7 +4138,6 @@
 ></TABLE
 ><P
 >Skip an XML (SGML) comment &lt;!-- .... --&gt;
-This may or may not create a node (depending on the context)
 The spec says that "For compatibility, the string "--" (double-hyphen)
 must not occur within comments. "</P
 ><P
@@ -4137,7 +4170,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -4147,7 +4180,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6286"
+NAME="AEN7654"
 ></A
 ><H3
 ><A
@@ -4205,7 +4238,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -4220,7 +4253,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the PITarget name or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -4230,7 +4263,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6308"
+NAME="AEN7676"
 ></A
 ><H3
 ><A
@@ -4287,7 +4320,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -4297,7 +4330,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6326"
+NAME="AEN7694"
 ></A
 ><H3
 ><A
@@ -4362,7 +4395,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -4372,7 +4405,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6346"
+NAME="AEN7714"
 ></A
 ><H3
 ><A
@@ -4411,7 +4444,7 @@
 >[76] NDataDecl ::= S 'NDATA' S Name</P
 ><P
 >[ VC: Notation Declared ]
-TODO The Name must match the declared name of a notation.</P
+The Name must match the declared name of a notation.</P
 ><P
 ></P
 ><DIV
@@ -4440,7 +4473,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -4450,7 +4483,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6369"
+NAME="AEN7737"
 ></A
 ><H3
 ><A
@@ -4492,7 +4525,7 @@
 >' S)? AttValue)</P
 ><P
 >[ VC: Required Attribute ]
-TODO if the default declaration is the keyword <GTKDOCLINK
+if the default declaration is the keyword <GTKDOCLINK
 HREF="REQUIRED"
 >REQUIRED</GTKDOCLINK
 >, then the
@@ -4507,7 +4540,7 @@
 >()</P
 ><P
 >[ VC: Fixed Attribute Default ]
-TODO if an attribute has a default value declared with the <GTKDOCLINK
+if an attribute has a default value declared with the <GTKDOCLINK
 HREF="FIXED"
 >FIXED</GTKDOCLINK
 >
@@ -4546,7 +4579,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -4563,7 +4596,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  Receive a possible fixed default value for the attribute</TD
 ></TR
 ><TR
 ><TD
@@ -4578,7 +4611,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> XML_ATTRIBUTE_NONE, XML_ATTRIBUTE_REQUIRED, XML_ATTRIBUTE_IMPLIED
+or XML_ATTRIBUTE_FIXED. </TD
 ></TR
 ></TABLE
 ><P
@@ -4588,7 +4622,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6406"
+NAME="AEN7774"
 ></A
 ><H3
 ><A
@@ -4622,7 +4656,7 @@
 >[58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')'</P
 ><P
 >[ VC: Notation Attributes ]
-TODO Values of this type must match one of the notation names included
+Values of this type must match one of the notation names included
 in the declaration; all notation names in the declaration must be declared.</P
 ><P
 ></P
@@ -4652,7 +4686,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -4667,7 +4701,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the notation attribute tree built while parsing</TD
 ></TR
 ></TABLE
 ><P
@@ -4677,7 +4711,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6430"
+NAME="AEN7798"
 ></A
 ><H3
 ><A
@@ -4709,7 +4743,7 @@
 >[59] Enumeration ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')'</P
 ><P
 >[ VC: Enumeration ]
-TODO Values of this type must match one of the Nmtoken tokens in
+Values of this type must match one of the Nmtoken tokens in
 the declaration</P
 ><P
 ></P
@@ -4739,7 +4773,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -4754,7 +4788,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the enumeration attribute tree built while parsing</TD
 ></TR
 ></TABLE
 ><P
@@ -4764,7 +4798,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6453"
+NAME="AEN7821"
 ></A
 ><H3
 ><A
@@ -4825,7 +4859,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -4842,7 +4876,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the enumeration tree built while parsing</TD
 ></TR
 ><TR
 ><TD
@@ -4857,7 +4891,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> XML_ATTRIBUTE_ENUMERATION or XML_ATTRIBUTE_NOTATION</TD
 ></TR
 ></TABLE
 ><P
@@ -4867,7 +4901,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6480"
+NAME="AEN7848"
 ></A
 ><H3
 ><A
@@ -4905,21 +4939,21 @@
 'ENTITIES' | 'NMTOKEN' | 'NMTOKENS'</P
 ><P
 >Validity constraints for attribute values syntax are checked in
-<GTKDOCLINK
-HREF="XMLVALIDATEATTRIBUTEVALUE"
->xmlValidateAttributeValue</GTKDOCLINK
+<A
+HREF="gnome-xml-valid.html#XMLVALIDATEATTRIBUTEVALUE"
+>xmlValidateAttributeValue</A
 >()</P
 ><P
 >[ VC: ID ]
-Values of type ID must match the Name production. TODO A name must not
+Values of type ID must match the Name production. A name must not
 appear more than once in an XML document as a value of this type;
 i.e., ID values must uniquely identify the elements which bear them.</P
 ><P
 >[ VC: One ID per Element Type ]
-TODO No element type may have more than one ID attribute specified.</P
+No element type may have more than one ID attribute specified.</P
 ><P
 >[ VC: ID Attribute Default ]
-TODO An ID attribute must have a declared default of <GTKDOCLINK
+An ID attribute must have a declared default of <GTKDOCLINK
 HREF="IMPLIED"
 >IMPLIED</GTKDOCLINK
 > or <GTKDOCLINK
@@ -4929,14 +4963,14 @@
 ><P
 >[ VC: IDREF ]
 Values of type IDREF must match the Name production, and values
-of type IDREFS must match Names; TODO each Name must match the value of
-an ID attribute on some element in the XML document; i.e. IDREF
+of type IDREFS must match Names; TODO each IDREF Name must match the value
+of an ID attribute on some element in the XML document; i.e. IDREF
 values must match the value of some ID attribute.</P
 ><P
 >[ VC: Entity Name ]
 Values of type ENTITY must match the Name production, values
-of type ENTITIES must match Names; TODO each Name must match the name of
-an unparsed entity declared in the DTD.  </P
+of type ENTITIES must match Names; TODO each Entity Name must match the
+name of an unparsed entity declared in the DTD.  </P
 ><P
 >[ VC: Name Token ]
 Values of type NMTOKEN must match the Nmtoken production; values
@@ -4969,7 +5003,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -4986,7 +5020,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the enumeration tree built while parsing</TD
 ></TR
 ><TR
 ><TD
@@ -5001,7 +5035,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the attribute type</TD
 ></TR
 ></TABLE
 ><P
@@ -5011,7 +5045,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6518"
+NAME="AEN7886"
 ></A
 ><H3
 ><A
@@ -5068,7 +5102,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -5078,7 +5112,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6536"
+NAME="AEN7904"
 ></A
 ><H3
 ><A
@@ -5121,7 +5155,7 @@
 >[ VC: Proper Group/PE Nesting ] applies to [51] too (see [49])</P
 ><P
 >[ VC: No Duplicate Types ]
-TODO The same name must not appear more than once in a single
+The same name must not appear more than once in a single
 mixed-content declaration.</P
 ><P
 ></P
@@ -5151,7 +5185,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -5166,7 +5200,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the list of the xmlElementContentPtr describing the element choices</TD
 ></TR
 ></TABLE
 ><P
@@ -5176,7 +5210,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6562"
+NAME="AEN7930"
 ></A
 ><H3
 ><A
@@ -5253,7 +5287,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -5268,7 +5302,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the tree of xmlElementContentPtr describing the element 
+hierarchy.</TD
 ></TR
 ></TABLE
 ><P
@@ -5278,7 +5313,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6588"
+NAME="AEN7956"
 ></A
 ><H3
 ><A
@@ -5342,7 +5377,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -5359,7 +5394,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the name of the element being defined.</TD
 ></TR
 ><TR
 ><TD
@@ -5376,7 +5411,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the Element Content pointer will be stored here if any</TD
 ></TR
 ><TR
 ><TD
@@ -5391,7 +5426,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the type of element content XML_ELEMENT_TYPE_xxx</TD
 ></TR
 ></TABLE
 ><P
@@ -5401,7 +5436,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6619"
+NAME="AEN7987"
 ></A
 ><H3
 ><A
@@ -5430,7 +5465,7 @@
 >[45] elementdecl ::= '&lt;!ELEMENT' S Name S contentspec S? '&gt;'</P
 ><P
 >[ VC: Unique Element Type Declaration ]
-TODO No element type may be declared more than once</P
+No element type may be declared more than once</P
 ><P
 ></P
 ><DIV
@@ -5459,7 +5494,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -5474,7 +5509,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the type of the element, or -1 in case of error</TD
 ></TR
 ></TABLE
 ><P
@@ -5484,7 +5519,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6641"
+NAME="AEN8009"
 ></A
 ><H3
 ><A
@@ -5553,7 +5588,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -5563,7 +5598,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6660"
+NAME="AEN8028"
 ></A
 ><H3
 ><A
@@ -5626,7 +5661,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -5641,7 +5676,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the value parsed (as an int)</TD
 ></TR
 ></TABLE
 ><P
@@ -5651,7 +5686,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6683"
+NAME="AEN8051"
 ></A
 ><H3
 ><A
@@ -5727,7 +5762,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -5742,7 +5777,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlEntityPtr if found, or NULL otherwise.</TD
 ></TR
 ></TABLE
 ><P
@@ -5752,7 +5787,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6707"
+NAME="AEN8075"
 ></A
 ><H3
 ><A
@@ -5816,7 +5851,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -5826,7 +5861,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6726"
+NAME="AEN8094"
 ></A
 ><H3
 ><A
@@ -5902,7 +5937,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -5912,7 +5947,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6747"
+NAME="AEN8115"
 ></A
 ><H3
 ><A
@@ -5972,7 +6007,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -5982,7 +6017,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6765"
+NAME="AEN8133"
 ></A
 ><H3
 ><A
@@ -6026,7 +6061,7 @@
 an attribute value (other than "&amp;lt;") must not contain a &lt;. </P
 ><P
 >[ VC: Attribute Value Type ]
-TODO The attribute must have been declared; the value must be of the type
+The attribute must have been declared; the value must be of the type
 declared for it.</P
 ><P
 >[25] Eq ::= S? '=' S?</P
@@ -6065,7 +6100,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -6082,7 +6117,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a CHAR ** used to store the value of the attribute</TD
 ></TR
 ><TR
 ><TD
@@ -6097,7 +6132,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the attribute name, and the value in *value.</TD
 ></TR
 ></TABLE
 ><P
@@ -6107,7 +6142,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6799"
+NAME="AEN8167"
 ></A
 ><H3
 ><A
@@ -6182,7 +6217,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -6197,7 +6232,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the element name parsed</TD
 ></TR
 ></TABLE
 ><P
@@ -6207,7 +6242,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6827"
+NAME="AEN8195"
 ></A
 ><H3
 ><A
@@ -6270,7 +6305,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -6287,7 +6322,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the tag name as parsed in the opening tag.</TD
 ></TR
 ></TABLE
 ><P
@@ -6297,7 +6332,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6851"
+NAME="AEN8219"
 ></A
 ><H3
 ><A
@@ -6358,7 +6393,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -6368,7 +6403,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6871"
+NAME="AEN8239"
 ></A
 ><H3
 ><A
@@ -6423,7 +6458,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -6433,7 +6468,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6888"
+NAME="AEN8256"
 ></A
 ><H3
 ><A
@@ -6466,7 +6501,7 @@
 start-tag. </P
 ><P
 >[ VC: Element Valid ]
-TODO An element is valid if there is a declaration matching elementdecl
+An element is valid if there is a declaration matching elementdecl
 where the Name matches the element type and one of the following holds:
 - The declaration matches EMPTY and the element has no content.
 - The declaration matches children and the sequence of child elements
@@ -6505,7 +6540,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -6515,7 +6550,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6907"
+NAME="AEN8275"
 ></A
 ><H3
 ><A
@@ -6573,7 +6608,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -6588,7 +6623,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the string giving the XML version number, or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -6598,7 +6633,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6929"
+NAME="AEN8297"
 ></A
 ><H3
 ><A
@@ -6658,7 +6693,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -6673,7 +6708,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the version string, e.g. "1.0"</TD
 ></TR
 ></TABLE
 ><P
@@ -6683,7 +6718,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6952"
+NAME="AEN8320"
 ></A
 ><H3
 ><A
@@ -6741,7 +6776,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -6756,7 +6791,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the encoding name value or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -6766,7 +6801,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6974"
+NAME="AEN8342"
 ></A
 ><H3
 ><A
@@ -6826,7 +6861,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -6841,7 +6876,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the encoding value or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -6851,7 +6886,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6997"
+NAME="AEN8365"
 ></A
 ><H3
 ><A
@@ -6921,7 +6956,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -6936,7 +6971,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if standalone, 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -6946,7 +6981,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7019"
+NAME="AEN8387"
 ></A
 ><H3
 ><A
@@ -7001,7 +7036,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -7011,7 +7046,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7036"
+NAME="AEN8404"
 ></A
 ><H3
 ><A
@@ -7066,7 +7101,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ></TABLE
 ><P
@@ -7076,7 +7111,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7053"
+NAME="AEN8421"
 ></A
 ><H3
 ><A
@@ -7114,8 +7149,6 @@
 ><P
 >[31] extSubsetDecl ::= (markupdecl | conditionalSect | PEReference | S) *</P
 ><P
->TODO There is a check [ VC: Proper Declaration/PE Nesting ]</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
@@ -7143,7 +7176,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -7187,7 +7220,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7082"
+NAME="AEN8449"
 ></A
 ><H3
 ><A
@@ -7203,7 +7236,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_SUBSTITUTE_NONE</PRE
+>#define XML_SUBSTITUTE_NONE	0</PRE
 ></TD
 ></TR
 ></TABLE
@@ -7213,7 +7246,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7087"
+NAME="AEN8454"
 ></A
 ><H3
 ><A
@@ -7229,7 +7262,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_SUBSTITUTE_REF</PRE
+>#define XML_SUBSTITUTE_REF	1</PRE
 ></TD
 ></TR
 ></TABLE
@@ -7239,7 +7272,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7092"
+NAME="AEN8459"
 ></A
 ><H3
 ><A
@@ -7255,7 +7288,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_SUBSTITUTE_PEREF</PRE
+>#define XML_SUBSTITUTE_PEREF	2</PRE
 ></TD
 ></TR
 ></TABLE
@@ -7265,7 +7298,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7097"
+NAME="AEN8464"
 ></A
 ><H3
 ><A
@@ -7281,7 +7314,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_SUBSTITUTE_BOTH</PRE
+>#define XML_SUBSTITUTE_BOTH 	3</PRE
 ></TD
 ></TR
 ></TABLE
@@ -7291,7 +7324,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7102"
+NAME="AEN8469"
 ></A
 ><H3
 ><A
@@ -7363,7 +7396,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the parser context</TD
 ></TR
 ><TR
 ><TD
@@ -7380,7 +7413,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the len to decode (in bytes !), -1 for no size limit</TD
 ></TR
 ><TR
 ><TD
@@ -7397,7 +7430,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF</TD
 ></TR
 ><TR
 ><TD
@@ -7414,7 +7447,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an end marker CHAR, 0 if none</TD
 ></TR
 ><TR
 ><TD
@@ -7431,7 +7464,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an end marker CHAR, 0 if none</TD
 ></TR
 ><TR
 ><TD
@@ -7448,7 +7481,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an end marker CHAR, 0 if none</TD
 ></TR
 ><TR
 ><TD
@@ -7463,7 +7496,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>A newly allocated string with the substitution done. The caller
+must deallocate it !</TD
 ></TR
 ></TABLE
 ><P
@@ -7473,7 +7507,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7147"
+NAME="AEN8514"
 ></A
 ><H3
 ><A
@@ -7570,7 +7604,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7171"
+NAME="AEN8538"
 ></A
 ><H3
 ><A
@@ -7649,7 +7683,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7191"
+NAME="AEN8558"
 ></A
 ><H3
 ><A
@@ -7746,7 +7780,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7215"
+NAME="AEN8582"
 ></A
 ><H3
 ><A
@@ -7837,7 +7871,7 @@
 BGCOLOR="#C00000"
 ALIGN="left"
 ><A
-HREF="gnome-xml-xml-error.html"
+HREF="gnome-xml-xpath.html"
 ><FONT
 COLOR="#FFFFFF"
 SIZE="3"
@@ -7891,7 +7925,7 @@
 BGCOLOR="#C00000"
 ALIGN="right"
 ><A
-HREF="gnome-xml-htmlparser.html"
+HREF="gnome-xml-xmlmemory.html"
 ><FONT
 COLOR="#FFFFFF"
 SIZE="3"
@@ -7909,7 +7943,7 @@
 COLOR="#FFFFFF"
 SIZE="3"
 ><B
->xml-error</B
+>xpath</B
 ></FONT
 ></TD
 ><TD
@@ -7919,7 +7953,7 @@
 COLOR="#FFFFFF"
 SIZE="3"
 ><B
->HTMLparser</B
+>xmlmemory</B
 ></FONT
 ></TD
 ></TR
diff --git a/doc/html/gnome-xml-tree.html b/doc/html/gnome-xml-tree.html
index 1dfc85e..e95648c 100644
--- a/doc/html/gnome-xml-tree.html
+++ b/doc/html/gnome-xml-tree.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1731"
+NAME="AEN1844"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1734"
+NAME="AEN1847"
 ></A
 ><H2
 >Synopsis</H2
@@ -146,6 +146,10 @@
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
 >;
+#define     <A
+HREF="gnome-xml-tree.html#BAD-CAST"
+>BAD_CAST</A
+>
 typedef     <A
 HREF="gnome-xml-tree.html#XMLNOTATIONPTR"
 >xmlNotationPtr</A
@@ -203,6 +207,10 @@
 >xmlAttrPtr</A
 >;
 typedef     <A
+HREF="gnome-xml-tree.html#XMLIDPTR"
+>xmlIDPtr</A
+>;
+typedef     <A
 HREF="gnome-xml-tree.html#XMLNODE"
 >xmlNode</A
 >;
@@ -456,6 +464,28 @@
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
 > *value);
+<A
+HREF="gnome-xml-tree.html#XMLATTRPTR"
+>xmlAttrPtr</A
+>  <A
+HREF="gnome-xml-tree.html#XMLNEWNSPROP"
+>xmlNewNsProp</A
+>                    (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNSPTR"
+>xmlNsPtr</A
+> ns,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *name,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *value);
 void        <A
 HREF="gnome-xml-tree.html#XMLFREEPROPLIST"
 >xmlFreePropList</A
@@ -605,6 +635,20 @@
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 >  <A
+HREF="gnome-xml-tree.html#XMLNEWPI"
+>xmlNewPI</A
+>                        (const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *name,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *content);
+<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+>  <A
 HREF="gnome-xml-tree.html#XMLNEWDOCTEXTLEN"
 >xmlNewDocTextLen</A
 >                (<A
@@ -732,6 +776,20 @@
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 > cur);
+<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+>  <A
+HREF="gnome-xml-tree.html#XMLADDSIBLING"
+>xmlAddSibling</A
+>                   (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> elem);
 void        <A
 HREF="gnome-xml-tree.html#XMLUNLINKNODE"
 >xmlUnlinkNode</A
@@ -815,6 +873,20 @@
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
 > *href);
+<A
+HREF="gnome-xml-tree.html#XMLNSPTR"
+>xmlNsPtr</A
+>*   <A
+HREF="gnome-xml-tree.html#XMLGETNSLIST"
+>xmlGetNsList</A
+>                    (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node);
 void        <A
 HREF="gnome-xml-tree.html#XMLSETNS"
 >xmlSetNs</A
@@ -978,6 +1050,27 @@
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 > cur);
+const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+>* <A
+HREF="gnome-xml-tree.html#XMLNODEGETLANG"
+>xmlNodeGetLang</A
+>                  (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur);
+void        <A
+HREF="gnome-xml-tree.html#XMLNODESETLANG"
+>xmlNodeSetLang</A
+>                  (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *lang);
 void        <A
 HREF="gnome-xml-tree.html#XMLBUFFERWRITECHAR"
 >xmlBufferWriteCHAR</A
@@ -1069,7 +1162,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1990"
+NAME="AEN2129"
 ></A
 ><H2
 >Description</H2
@@ -1079,14 +1172,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1993"
+NAME="AEN2132"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1995"
+NAME="AEN2134"
 ></A
 ><H3
 ><A
@@ -1125,7 +1218,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2000"
+NAME="AEN2139"
 ></A
 ><H3
 ><A
@@ -1138,20 +1231,59 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2004"
+NAME="AEN2143"
 ></A
 ><H3
 ><A
-NAME="XMLNOTATIONPTR"
+NAME="BAD-CAST"
 ></A
->xmlNotationPtr</H3
+>BAD_CAST</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define BAD_CAST (CHAR *)</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2008"
+NAME="AEN2148"
+></A
+><H3
+><A
+NAME="XMLNOTATIONPTR"
+></A
+>xmlNotationPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlNotation *xmlNotationPtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN2153"
 ></A
 ><H3
 ><A
@@ -1188,7 +1320,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2013"
+NAME="AEN2158"
 ></A
 ><H3
 ><A
@@ -1219,33 +1351,59 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2018"
+NAME="AEN2163"
 ></A
 ><H3
 ><A
 NAME="XMLENUMERATIONPTR"
 ></A
 >xmlEnumerationPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlEnumeration *xmlEnumerationPtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2022"
+NAME="AEN2168"
 ></A
 ><H3
 ><A
 NAME="XMLATTRIBUTEPTR"
 ></A
 >xmlAttributePtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlAttribute *xmlAttributePtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2026"
+NAME="AEN2173"
 ></A
 ><H3
 ><A
@@ -1276,7 +1434,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2031"
+NAME="AEN2178"
 ></A
 ><H3
 ><A
@@ -1307,20 +1465,33 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2036"
+NAME="AEN2183"
 ></A
 ><H3
 ><A
 NAME="XMLELEMENTCONTENTPTR"
 ></A
 >xmlElementContentPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlElementContent *xmlElementContentPtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2040"
+NAME="AEN2188"
 ></A
 ><H3
 ><A
@@ -1351,20 +1522,33 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2045"
+NAME="AEN2193"
 ></A
 ><H3
 ><A
 NAME="XMLELEMENTPTR"
 ></A
 >xmlElementPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlElement *xmlElementPtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2049"
+NAME="AEN2198"
 ></A
 ><H3
 ><A
@@ -1393,124 +1577,267 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2054"
+NAME="AEN2203"
 ></A
 ><H3
 ><A
 NAME="XMLNSPTR"
 ></A
 >xmlNsPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlNs *xmlNsPtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2058"
+NAME="AEN2208"
 ></A
 ><H3
 ><A
 NAME="XMLDTDPTR"
 ></A
 >xmlDtdPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlDtd *xmlDtdPtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2062"
+NAME="AEN2213"
 ></A
 ><H3
 ><A
 NAME="XMLATTRPTR"
 ></A
 >xmlAttrPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlAttr *xmlAttrPtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2066"
+NAME="AEN2218"
+></A
+><H3
+><A
+NAME="XMLIDPTR"
+></A
+>xmlIDPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlID *xmlIDPtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN2223"
 ></A
 ><H3
 ><A
 NAME="XMLNODE"
 ></A
 >xmlNode</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef _xmlNode xmlNode;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2070"
+NAME="AEN2228"
 ></A
 ><H3
 ><A
 NAME="XMLNODEPTR"
 ></A
 >xmlNodePtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef _xmlNode *xmlNodePtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2074"
+NAME="AEN2233"
 ></A
 ><H3
 ><A
 NAME="XMLDOC"
 ></A
 >xmlDoc</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef _xmlDoc xmlDoc;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2078"
+NAME="AEN2238"
 ></A
 ><H3
 ><A
 NAME="XMLDOCPTR"
 ></A
 >xmlDocPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlDoc *xmlDocPtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2082"
+NAME="AEN2243"
 ></A
 ><H3
 ><A
 NAME="XMLBUFFER"
 ></A
 >xmlBuffer</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef _xmlBuffer xmlBuffer;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2086"
+NAME="AEN2248"
 ></A
 ><H3
 ><A
 NAME="XMLBUFFERPTR"
 ></A
 >xmlBufferPtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlBuffer *xmlBufferPtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2090"
+NAME="AEN2253"
 ></A
 ><H3
 ><A
@@ -1536,7 +1863,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2095"
+NAME="AEN2258"
 ></A
 ><H3
 ><A
@@ -1562,7 +1889,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2100"
+NAME="AEN2263"
 ></A
 ><H3
 ><A
@@ -1588,7 +1915,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2105"
+NAME="AEN2268"
 ></A
 ><H3
 ><A
@@ -1639,7 +1966,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new structure.</TD
 ></TR
 ></TABLE
 ><P
@@ -1649,7 +1976,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2121"
+NAME="AEN2284"
 ></A
 ><H3
 ><A
@@ -1702,7 +2029,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the buffer to free</TD
 ></TR
 ></TABLE
 ><P
@@ -1712,7 +2039,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2137"
+NAME="AEN2300"
 ></A
 ><H3
 ><A
@@ -1769,7 +2096,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the file output</TD
 ></TR
 ><TR
 ><TD
@@ -1786,7 +2113,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the buffer to dump</TD
 ></TR
 ><TR
 ><TD
@@ -1801,7 +2128,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the number of CHAR written</TD
 ></TR
 ></TABLE
 ><P
@@ -1811,7 +2138,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2162"
+NAME="AEN2325"
 ></A
 ><H3
 ><A
@@ -1869,7 +2196,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the buffer to dump</TD
 ></TR
 ><TR
 ><TD
@@ -1886,7 +2213,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the CHAR string</TD
 ></TR
 ><TR
 ><TD
@@ -1903,7 +2230,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the number of CHAR to add</TD
 ></TR
 ></TABLE
 ><P
@@ -1913,7 +2240,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2187"
+NAME="AEN2350"
 ></A
 ><H3
 ><A
@@ -1970,7 +2297,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the buffer to dump</TD
 ></TR
 ><TR
 ><TD
@@ -1987,7 +2314,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the CHAR string</TD
 ></TR
 ></TABLE
 ><P
@@ -1997,7 +2324,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2208"
+NAME="AEN2371"
 ></A
 ><H3
 ><A
@@ -2051,7 +2378,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the buffer to dump</TD
 ></TR
 ><TR
 ><TD
@@ -2068,7 +2395,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the C char string</TD
 ></TR
 ></TABLE
 ><P
@@ -2078,7 +2405,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2228"
+NAME="AEN2391"
 ></A
 ><H3
 ><A
@@ -2132,7 +2459,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the buffer to dump</TD
 ></TR
 ><TR
 ><TD
@@ -2149,7 +2476,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the number of CHAR to remove</TD
 ></TR
 ><TR
 ><TD
@@ -2164,7 +2491,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the number of CHAR removed, or -1 in case of failure.</TD
 ></TR
 ></TABLE
 ><P
@@ -2174,7 +2501,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2252"
+NAME="AEN2415"
 ></A
 ><H3
 ><A
@@ -2227,7 +2554,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the buffer</TD
 ></TR
 ></TABLE
 ><P
@@ -2237,7 +2564,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2268"
+NAME="AEN2431"
 ></A
 ><H3
 ><A
@@ -2305,7 +2632,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document pointer</TD
 ></TR
 ><TR
 ><TD
@@ -2322,7 +2649,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the DTD name</TD
 ></TR
 ><TR
 ><TD
@@ -2339,7 +2666,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the external ID</TD
 ></TR
 ><TR
 ><TD
@@ -2356,7 +2683,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the system ID</TD
 ></TR
 ><TR
 ><TD
@@ -2371,7 +2698,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new DTD structure</TD
 ></TR
 ></TABLE
 ><P
@@ -2381,7 +2708,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2304"
+NAME="AEN2467"
 ></A
 ><H3
 ><A
@@ -2449,7 +2776,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document pointer</TD
 ></TR
 ><TR
 ><TD
@@ -2466,7 +2793,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the DTD name</TD
 ></TR
 ><TR
 ><TD
@@ -2483,7 +2810,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the external ID</TD
 ></TR
 ><TR
 ><TD
@@ -2500,7 +2827,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the system ID</TD
 ></TR
 ><TR
 ><TD
@@ -2515,7 +2842,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new DTD structure</TD
 ></TR
 ></TABLE
 ><P
@@ -2525,7 +2852,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2340"
+NAME="AEN2503"
 ></A
 ><H3
 ><A
@@ -2578,7 +2905,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the DTD structure to free up</TD
 ></TR
 ></TABLE
 ><P
@@ -2588,7 +2915,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2356"
+NAME="AEN2519"
 ></A
 ><H3
 ><A
@@ -2652,7 +2979,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document carrying the namespace</TD
 ></TR
 ><TR
 ><TD
@@ -2669,7 +2996,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the URI associated</TD
 ></TR
 ><TR
 ><TD
@@ -2686,7 +3013,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the prefix for the namespace</TD
 ></TR
 ><TR
 ><TD
@@ -2701,7 +3028,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>returns a new namespace pointer</TD
 ></TR
 ></TABLE
 ><P
@@ -2711,7 +3038,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2387"
+NAME="AEN2550"
 ></A
 ><H3
 ><A
@@ -2775,7 +3102,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the element carrying the namespace</TD
 ></TR
 ><TR
 ><TD
@@ -2792,7 +3119,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the URI associated</TD
 ></TR
 ><TR
 ><TD
@@ -2809,7 +3136,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the prefix for the namespace</TD
 ></TR
 ><TR
 ><TD
@@ -2824,7 +3151,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>returns a new namespace pointer</TD
 ></TR
 ></TABLE
 ><P
@@ -2834,7 +3161,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2418"
+NAME="AEN2581"
 ></A
 ><H3
 ><A
@@ -2887,7 +3214,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the namespace pointer</TD
 ></TR
 ></TABLE
 ><P
@@ -2897,7 +3224,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2434"
+NAME="AEN2597"
 ></A
 ><H3
 ><A
@@ -2953,7 +3280,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  CHAR string giving the version of XML "1.0"</TD
 ></TR
 ><TR
 ><TD
@@ -2968,7 +3295,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a new document</TD
 ></TR
 ></TABLE
 ><P
@@ -2978,7 +3305,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2455"
+NAME="AEN2618"
 ></A
 ><H3
 ><A
@@ -3031,7 +3358,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  pointer to the document
+@:  </TD
 ></TR
 ></TABLE
 ><P
@@ -3041,7 +3369,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2471"
+NAME="AEN2634"
 ></A
 ><H3
 ><A
@@ -3105,7 +3433,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -3122,7 +3450,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the name of the attribute</TD
 ></TR
 ><TR
 ><TD
@@ -3139,7 +3467,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the value of the attribute</TD
 ></TR
 ><TR
 ><TD
@@ -3154,7 +3482,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the attribute</TD
 ></TR
 ></TABLE
 ><P
@@ -3164,7 +3492,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2502"
+NAME="AEN2665"
 ></A
 ><H3
 ><A
@@ -3228,7 +3556,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the holding node</TD
 ></TR
 ><TR
 ><TD
@@ -3245,7 +3573,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the name of the attribute</TD
 ></TR
 ><TR
 ><TD
@@ -3262,7 +3590,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the value of the attribute</TD
 ></TR
 ><TR
 ><TD
@@ -3277,7 +3605,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the attribute</TD
 ></TR
 ></TABLE
 ><P
@@ -3287,7 +3615,151 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2533"
+NAME="AEN2696"
+></A
+><H3
+><A
+NAME="XMLNEWNSPROP"
+></A
+>xmlNewNsProp ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLATTRPTR"
+>xmlAttrPtr</A
+>  xmlNewNsProp                    (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNSPTR"
+>xmlNsPtr</A
+> ns,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *name,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *value);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Create a new property tagged with a namespace and carried by a node.</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
+>node</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the holding node</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ns</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the namespace</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the name of the attribute</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>value</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the value of the attribute</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>a pointer to the attribute</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN2732"
 ></A
 ><H3
 ><A
@@ -3340,7 +3812,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the first property in the list</TD
 ></TR
 ></TABLE
 ><P
@@ -3350,7 +3822,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2549"
+NAME="AEN2748"
 ></A
 ><H3
 ><A
@@ -3403,7 +3875,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the first property in the list</TD
 ></TR
 ></TABLE
 ><P
@@ -3413,7 +3885,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2565"
+NAME="AEN2764"
 ></A
 ><H3
 ><A
@@ -3473,7 +3945,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the element where the attribute will be grafted</TD
 ></TR
 ><TR
 ><TD
@@ -3490,7 +3962,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute</TD
 ></TR
 ><TR
 ><TD
@@ -3505,7 +3977,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> a new xmlAttrPtr, or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -3515,7 +3987,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2591"
+NAME="AEN2790"
 ></A
 ><H3
 ><A
@@ -3575,7 +4047,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the element where the attributes will be grafted</TD
 ></TR
 ><TR
 ><TD
@@ -3592,7 +4064,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the first attribute</TD
 ></TR
 ><TR
 ><TD
@@ -3607,7 +4079,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> a new xmlAttrPtr, or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -3617,7 +4089,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2617"
+NAME="AEN2816"
 ></A
 ><H3
 ><A
@@ -3673,7 +4145,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the dtd</TD
 ></TR
 ><TR
 ><TD
@@ -3688,7 +4160,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> a new xmlDtdPtr, or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -3698,7 +4170,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2638"
+NAME="AEN2837"
 ></A
 ><H3
 ><A
@@ -3756,7 +4228,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -3773,7 +4245,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  if 1 do a recursive copy.</TD
 ></TR
 ><TR
 ><TD
@@ -3788,7 +4260,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> a new xmlDocPtr, or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -3798,7 +4270,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2663"
+NAME="AEN2862"
 ></A
 ><H3
 ><A
@@ -3877,7 +4349,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -3894,7 +4366,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  namespace if any</TD
 ></TR
 ><TR
 ><TD
@@ -3911,7 +4383,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node name</TD
 ></TR
 ><TR
 ><TD
@@ -3928,7 +4400,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the text content if any</TD
 ></TR
 ><TR
 ><TD
@@ -3943,7 +4415,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new node object.</TD
 ></TR
 ></TABLE
 ><P
@@ -3953,7 +4425,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2701"
+NAME="AEN2900"
 ></A
 ><H3
 ><A
@@ -4025,7 +4497,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  namespace if any</TD
 ></TR
 ><TR
 ><TD
@@ -4042,7 +4514,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node name</TD
 ></TR
 ><TR
 ><TD
@@ -4057,7 +4529,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new node object.</TD
 ></TR
 ></TABLE
 ><P
@@ -4067,7 +4539,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2729"
+NAME="AEN2928"
 ></A
 ><H3
 ><A
@@ -4152,7 +4624,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the parent node</TD
 ></TR
 ><TR
 ><TD
@@ -4169,7 +4641,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a namespace if any</TD
 ></TR
 ><TR
 ><TD
@@ -4186,7 +4658,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the name of the child</TD
 ></TR
 ><TR
 ><TD
@@ -4203,7 +4675,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the content of the child if any.</TD
 ></TR
 ><TR
 ><TD
@@ -4218,7 +4690,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new node object.</TD
 ></TR
 ></TABLE
 ><P
@@ -4228,7 +4700,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2768"
+NAME="AEN2967"
 ></A
 ><H3
 ><A
@@ -4288,7 +4760,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the document</TD
 ></TR
 ><TR
 ><TD
@@ -4305,7 +4777,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the text content</TD
 ></TR
 ><TR
 ><TD
@@ -4320,7 +4792,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new node object.</TD
 ></TR
 ></TABLE
 ><P
@@ -4330,7 +4802,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2794"
+NAME="AEN2993"
 ></A
 ><H3
 ><A
@@ -4386,7 +4858,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the text content</TD
 ></TR
 ><TR
 ><TD
@@ -4401,7 +4873,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new node object.</TD
 ></TR
 ></TABLE
 ><P
@@ -4411,7 +4883,109 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2815"
+NAME="AEN3014"
+></A
+><H3
+><A
+NAME="XMLNEWPI"
+></A
+>xmlNewPI ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+>  xmlNewPI                        (const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *name,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *content);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Creation of a processing instruction element.</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
+>name</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the processing instruction name</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>content</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the PI content</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>a pointer to the new node object.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN3040"
 ></A
 ><H3
 ><A
@@ -4473,7 +5047,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the document</TD
 ></TR
 ><TR
 ><TD
@@ -4490,7 +5064,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the text content</TD
 ></TR
 ><TR
 ><TD
@@ -4507,7 +5081,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the text len.</TD
 ></TR
 ><TR
 ><TD
@@ -4522,7 +5096,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new node object.</TD
 ></TR
 ></TABLE
 ><P
@@ -4532,7 +5106,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2845"
+NAME="AEN3070"
 ></A
 ><H3
 ><A
@@ -4589,7 +5163,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the text content</TD
 ></TR
 ><TR
 ><TD
@@ -4606,7 +5180,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the text len.</TD
 ></TR
 ><TR
 ><TD
@@ -4621,7 +5195,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new node object.</TD
 ></TR
 ></TABLE
 ><P
@@ -4631,7 +5205,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2870"
+NAME="AEN3095"
 ></A
 ><H3
 ><A
@@ -4691,7 +5265,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -4708,7 +5282,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the comment content</TD
 ></TR
 ><TR
 ><TD
@@ -4723,7 +5297,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new node object.</TD
 ></TR
 ></TABLE
 ><P
@@ -4733,7 +5307,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2896"
+NAME="AEN3121"
 ></A
 ><H3
 ><A
@@ -4789,7 +5363,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the comment content</TD
 ></TR
 ><TR
 ><TD
@@ -4804,7 +5378,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new node object.</TD
 ></TR
 ></TABLE
 ><P
@@ -4814,7 +5388,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2917"
+NAME="AEN3142"
 ></A
 ><H3
 ><A
@@ -4875,7 +5449,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -4892,7 +5466,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the CData block content content</TD
 ></TR
 ><TR
 ><TD
@@ -4909,7 +5483,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the length of the block</TD
 ></TR
 ><TR
 ><TD
@@ -4924,7 +5498,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new node object.</TD
 ></TR
 ></TABLE
 ><P
@@ -4934,7 +5508,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2947"
+NAME="AEN3172"
 ></A
 ><H3
 ><A
@@ -4994,7 +5568,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the document</TD
 ></TR
 ><TR
 ><TD
@@ -5011,7 +5585,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the reference name, or the reference string with &amp; and ;</TD
 ></TR
 ><TR
 ><TD
@@ -5026,7 +5600,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the new node object.</TD
 ></TR
 ></TABLE
 ><P
@@ -5036,7 +5610,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2973"
+NAME="AEN3198"
 ></A
 ><H3
 ><A
@@ -5093,7 +5667,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node</TD
 ></TR
 ><TR
 ><TD
@@ -5110,7 +5684,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  if 1 do a recursive copy.</TD
 ></TR
 ><TR
 ><TD
@@ -5125,7 +5699,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> a new xmlNodePtr, or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -5135,7 +5709,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2998"
+NAME="AEN3223"
 ></A
 ><H3
 ><A
@@ -5191,7 +5765,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the first node in the list.</TD
 ></TR
 ><TR
 ><TD
@@ -5206,7 +5780,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> a new xmlNodePtr, or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -5216,7 +5790,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3019"
+NAME="AEN3244"
 ></A
 ><H3
 ><A
@@ -5272,7 +5846,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the parent node</TD
 ></TR
 ><TR
 ><TD
@@ -5287,7 +5861,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the last child or NULL if none.</TD
 ></TR
 ></TABLE
 ><P
@@ -5297,7 +5871,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3040"
+NAME="AEN3265"
 ></A
 ><H3
 ><A
@@ -5350,7 +5924,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node</TD
 ></TR
 ><TR
 ><TD
@@ -5365,7 +5939,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 yes, 0 no</TD
 ></TR
 ></TABLE
 ><P
@@ -5375,7 +5949,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3060"
+NAME="AEN3285"
 ></A
 ><H3
 ><A
@@ -5440,7 +6014,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the parent node</TD
 ></TR
 ><TR
 ><TD
@@ -5457,7 +6031,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the child node</TD
 ></TR
 ><TR
 ><TD
@@ -5472,7 +6046,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the child or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -5482,7 +6056,114 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3087"
+NAME="AEN3312"
+></A
+><H3
+><A
+NAME="XMLADDSIBLING"
+></A
+>xmlAddSibling ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+>  xmlAddSibling                   (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> elem);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Add a new element to the list of siblings of <TT
+CLASS="PARAMETER"
+><I
+>cur</I
+></TT
+></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
+>cur</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the child node</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>elem</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the new node</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the element or NULL in case of error.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN3339"
 ></A
 ><H3
 ><A
@@ -5535,7 +6216,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node</TD
 ></TR
 ></TABLE
 ><P
@@ -5545,7 +6226,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3103"
+NAME="AEN3355"
 ></A
 ><H3
 ><A
@@ -5605,7 +6286,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the first text node</TD
 ></TR
 ><TR
 ><TD
@@ -5622,7 +6303,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the second text node being merged</TD
 ></TR
 ><TR
 ><TD
@@ -5637,7 +6318,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the first text node augmented</TD
 ></TR
 ></TABLE
 ><P
@@ -5647,7 +6328,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3129"
+NAME="AEN3381"
 ></A
 ><H3
 ><A
@@ -5705,7 +6386,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node</TD
 ></TR
 ><TR
 ><TD
@@ -5722,7 +6403,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the content</TD
 ></TR
 ><TR
 ><TD
@@ -5739,7 +6420,12 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  <TT
+CLASS="PARAMETER"
+><I
+>content</I
+></TT
+> lenght</TD
 ></TR
 ></TABLE
 ><P
@@ -5749,7 +6435,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3154"
+NAME="AEN3407"
 ></A
 ><H3
 ><A
@@ -5803,7 +6489,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the first node in the list</TD
 ></TR
 ></TABLE
 ><P
@@ -5813,7 +6499,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3170"
+NAME="AEN3423"
 ></A
 ><H3
 ><A
@@ -5866,7 +6552,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node</TD
 ></TR
 ></TABLE
 ><P
@@ -5876,7 +6562,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3186"
+NAME="AEN3439"
 ></A
 ><H3
 ><A
@@ -5948,7 +6634,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -5965,7 +6651,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the current node</TD
 ></TR
 ><TR
 ><TD
@@ -5982,7 +6668,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the namespace string</TD
 ></TR
 ><TR
 ><TD
@@ -5997,7 +6683,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the namespace pointer or NULL.</TD
 ></TR
 ></TABLE
 ><P
@@ -6007,7 +6693,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3218"
+NAME="AEN3471"
 ></A
 ><H3
 ><A
@@ -6072,7 +6758,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -6089,7 +6775,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the current node</TD
 ></TR
 ><TR
 ><TD
@@ -6106,7 +6792,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the namespace value</TD
 ></TR
 ><TR
 ><TD
@@ -6121,7 +6807,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the namespace pointer or NULL.</TD
 ></TR
 ></TABLE
 ><P
@@ -6131,7 +6817,111 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3249"
+NAME="AEN3502"
+></A
+><H3
+><A
+NAME="XMLGETNSLIST"
+></A
+>xmlGetNsList ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLNSPTR"
+>xmlNsPtr</A
+>*   xmlGetNsList                    (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> node);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Search all the namespace applying to a given element.</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
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the document</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>node</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the current node</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>an NULL terminated array of all the xmlNsPtr found
+that need to be freed by the caller or NULL if no
+namespace if defined</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN3528"
 ></A
 ><H3
 ><A
@@ -6188,7 +6978,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a node in the document</TD
 ></TR
 ><TR
 ><TD
@@ -6205,7 +6995,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a namespace pointer</TD
 ></TR
 ></TABLE
 ><P
@@ -6215,7 +7005,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3270"
+NAME="AEN3549"
 ></A
 ><H3
 ><A
@@ -6271,7 +7061,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the namespace</TD
 ></TR
 ><TR
 ><TD
@@ -6286,7 +7076,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> a new xmlNsPtr, or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -6296,7 +7086,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3291"
+NAME="AEN3570"
 ></A
 ><H3
 ><A
@@ -6352,7 +7142,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the first namespace</TD
 ></TR
 ><TR
 ><TD
@@ -6367,7 +7157,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> a new xmlNsPtr, or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -6377,7 +7167,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3312"
+NAME="AEN3591"
 ></A
 ><H3
 ><A
@@ -6441,7 +7231,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node</TD
 ></TR
 ><TR
 ><TD
@@ -6458,7 +7248,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute name</TD
 ></TR
 ><TR
 ><TD
@@ -6475,7 +7265,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute value</TD
 ></TR
 ><TR
 ><TD
@@ -6490,7 +7280,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the attribute pointer.</TD
 ></TR
 ></TABLE
 ><P
@@ -6500,7 +7290,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3343"
+NAME="AEN3622"
 ></A
 ><H3
 ><A
@@ -6561,7 +7351,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node</TD
 ></TR
 ><TR
 ><TD
@@ -6578,7 +7368,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute name</TD
 ></TR
 ><TR
 ><TD
@@ -6593,7 +7383,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the attribute value or NULL if not found.</TD
 ></TR
 ></TABLE
 ><P
@@ -6603,7 +7393,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3369"
+NAME="AEN3648"
 ></A
 ><H3
 ><A
@@ -6664,7 +7454,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -6681,7 +7471,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the value of the attribute</TD
 ></TR
 ><TR
 ><TD
@@ -6696,7 +7486,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the first child</TD
 ></TR
 ></TABLE
 ><P
@@ -6706,7 +7496,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3395"
+NAME="AEN3674"
 ></A
 ><H3
 ><A
@@ -6768,7 +7558,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -6785,7 +7575,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the value of the text</TD
 ></TR
 ><TR
 ><TD
@@ -6802,7 +7592,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the length of the string value</TD
 ></TR
 ><TR
 ><TD
@@ -6817,7 +7607,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the first child</TD
 ></TR
 ></TABLE
 ><P
@@ -6827,7 +7617,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3425"
+NAME="AEN3704"
 ></A
 ><H3
 ><A
@@ -6889,7 +7679,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -6906,7 +7696,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a Node list</TD
 ></TR
 ><TR
 ><TD
@@ -6923,7 +7713,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  should we replace entity contents or show their external form</TD
 ></TR
 ><TR
 ><TD
@@ -6938,7 +7728,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a pointer to the string copy, the calller must free it.</TD
 ></TR
 ></TABLE
 ><P
@@ -6948,7 +7738,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3455"
+NAME="AEN3734"
 ></A
 ><H3
 ><A
@@ -7005,7 +7795,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node being modified</TD
 ></TR
 ><TR
 ><TD
@@ -7022,7 +7812,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the new value of the content</TD
 ></TR
 ></TABLE
 ><P
@@ -7032,7 +7822,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3476"
+NAME="AEN3755"
 ></A
 ><H3
 ><A
@@ -7090,7 +7880,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node being modified</TD
 ></TR
 ><TR
 ><TD
@@ -7107,7 +7897,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the new value of the content</TD
 ></TR
 ><TR
 ><TD
@@ -7124,7 +7914,12 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the size of <TT
+CLASS="PARAMETER"
+><I
+>content</I
+></TT
+></TD
 ></TR
 ></TABLE
 ><P
@@ -7134,7 +7929,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3501"
+NAME="AEN3781"
 ></A
 ><H3
 ><A
@@ -7191,7 +7986,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node being modified</TD
 ></TR
 ><TR
 ><TD
@@ -7208,7 +8003,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  extra content</TD
 ></TR
 ></TABLE
 ><P
@@ -7218,7 +8013,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3522"
+NAME="AEN3802"
 ></A
 ><H3
 ><A
@@ -7276,7 +8071,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node being modified</TD
 ></TR
 ><TR
 ><TD
@@ -7293,7 +8088,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  extra content</TD
 ></TR
 ><TR
 ><TD
@@ -7310,7 +8105,12 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the size of <TT
+CLASS="PARAMETER"
+><I
+>content</I
+></TT
+></TD
 ></TR
 ></TABLE
 ><P
@@ -7320,7 +8120,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3547"
+NAME="AEN3828"
 ></A
 ><H3
 ><A
@@ -7379,7 +8179,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the node being read</TD
 ></TR
 ><TR
 ><TD
@@ -7394,7 +8194,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>a new CHAR * or NULL if no content is available.
+It's up to the caller to free the memory.</TD
 ></TR
 ></TABLE
 ><P
@@ -7404,7 +8205,174 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3568"
+NAME="AEN3849"
+></A
+><H3
+><A
+NAME="XMLNODEGETLANG"
+></A
+>xmlNodeGetLang ()</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
+>* xmlNodeGetLang                  (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Searches the language of a node, i.e. the values of the xml:lang
+attribute or the one carried by the nearest ancestor.</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
+>cur</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the node being checked</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>a pointer to the lang value, or NULL if not found</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN3870"
+></A
+><H3
+><A
+NAME="XMLNODESETLANG"
+></A
+>xmlNodeSetLang ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlNodeSetLang                  (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *lang);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Searches the language of a node, i.e. the values of the xml:lang
+attribute or the one carried by the nearest ancestor.</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
+>cur</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the node being changed</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>lang</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the langage description</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN3891"
 ></A
 ><H3
 ><A
@@ -7462,7 +8430,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XML buffer</TD
 ></TR
 ><TR
 ><TD
@@ -7479,7 +8447,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the string to add</TD
 ></TR
 ></TABLE
 ><P
@@ -7489,7 +8457,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3589"
+NAME="AEN3912"
 ></A
 ><H3
 ><A
@@ -7544,7 +8512,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XML buffer output</TD
 ></TR
 ><TR
 ><TD
@@ -7561,7 +8529,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the string to add</TD
 ></TR
 ></TABLE
 ><P
@@ -7571,7 +8539,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3609"
+NAME="AEN3932"
 ></A
 ><H3
 ><A
@@ -7630,7 +8598,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XML buffer output</TD
 ></TR
 ><TR
 ><TD
@@ -7647,7 +8615,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the string to add</TD
 ></TR
 ></TABLE
 ><P
@@ -7657,7 +8625,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3630"
+NAME="AEN3953"
 ></A
 ><H3
 ><A
@@ -7716,7 +8684,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -7733,7 +8701,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  OUT: the memory pointer</TD
 ></TR
 ><TR
 ><TD
@@ -7750,7 +8718,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  OUT: the memory lenght</TD
 ></TR
 ></TABLE
 ><P
@@ -7760,7 +8728,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3655"
+NAME="AEN3978"
 ></A
 ><H3
 ><A
@@ -7817,7 +8785,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the FILE*</TD
 ></TR
 ><TR
 ><TD
@@ -7834,7 +8802,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ></TABLE
 ><P
@@ -7844,7 +8812,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3676"
+NAME="AEN3999"
 ></A
 ><H3
 ><A
@@ -7899,7 +8867,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the filename</TD
 ></TR
 ><TR
 ><TD
@@ -7916,7 +8884,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -7931,7 +8899,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+> the number of file written or -1 in case of failure.</TD
 ></TR
 ></TABLE
 ><P
@@ -7941,7 +8909,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3700"
+NAME="AEN4023"
 ></A
 ><H3
 ><A
@@ -7994,7 +8962,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -8009,7 +8977,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>0 (uncompressed) to 9 (max compression)</TD
 ></TR
 ></TABLE
 ><P
@@ -8019,7 +8987,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3720"
+NAME="AEN4043"
 ></A
 ><H3
 ><A
@@ -8074,7 +9042,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -8091,7 +9059,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the compression ratio</TD
 ></TR
 ></TABLE
 ><P
@@ -8101,7 +9069,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3740"
+NAME="AEN4063"
 ></A
 ><H3
 ><A
@@ -8149,7 +9117,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>0 (uncompressed) to 9 (max compression)</TD
 ></TR
 ></TABLE
 ><P
@@ -8159,7 +9127,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3755"
+NAME="AEN4078"
 ></A
 ><H3
 ><A
@@ -8210,7 +9178,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the compression ratio</TD
 ></TR
 ></TABLE
 ><P
diff --git a/doc/html/gnome-xml-valid.html b/doc/html/gnome-xml-valid.html
index 1234211..43ae73f 100644
--- a/doc/html/gnome-xml-valid.html
+++ b/doc/html/gnome-xml-valid.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4196"
+NAME="AEN4521"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4199"
+NAME="AEN4524"
 ></A
 ><H2
 >Synopsis</H2
@@ -186,6 +186,14 @@
 HREF="gnome-xml-valid.html#XMLATTRIBUTETABLEPTR"
 >xmlAttributeTablePtr</A
 >;
+#define     <A
+HREF="gnome-xml-valid.html#XML-MIN-ID-TABLE"
+>XML_MIN_ID_TABLE</A
+>
+typedef     <A
+HREF="gnome-xml-valid.html#XMLIDTABLEPTR"
+>xmlIDTablePtr</A
+>;
 <A
 HREF="gnome-xml-tree.html#XMLNOTATIONPTR"
 >xmlNotationPtr</A
@@ -418,6 +426,74 @@
 HREF="gnome-xml-valid.html#XMLATTRIBUTETABLEPTR"
 >xmlAttributeTablePtr</A
 > table);
+<A
+HREF="gnome-xml-tree.html#XMLIDPTR"
+>xmlIDPtr</A
+>    <A
+HREF="gnome-xml-valid.html#XMLADDID"
+>xmlAddID</A
+>                        (<GTKDOCLINK
+HREF="XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</GTKDOCLINK
+> ctxt,
+                                             <A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *value,
+                                             <A
+HREF="gnome-xml-tree.html#XMLATTRPTR"
+>xmlAttrPtr</A
+> attr);
+<A
+HREF="gnome-xml-valid.html#XMLIDTABLEPTR"
+>xmlIDTablePtr</A
+> <A
+HREF="gnome-xml-valid.html#XMLCOPYIDTABLE"
+>xmlCopyIDTable</A
+>                (<A
+HREF="gnome-xml-valid.html#XMLIDTABLEPTR"
+>xmlIDTablePtr</A
+> table);
+void        <A
+HREF="gnome-xml-valid.html#XMLFREEIDTABLE"
+>xmlFreeIDTable</A
+>                  (<A
+HREF="gnome-xml-valid.html#XMLIDTABLEPTR"
+>xmlIDTablePtr</A
+> table);
+<A
+HREF="gnome-xml-tree.html#XMLATTRPTR"
+>xmlAttrPtr</A
+>  <A
+HREF="gnome-xml-valid.html#XMLGETID"
+>xmlGetID</A
+>                        (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *ID);
+int         <A
+HREF="gnome-xml-valid.html#XMLISID"
+>xmlIsID</A
+>                         (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> elem,
+                                             <A
+HREF="gnome-xml-tree.html#XMLATTRPTR"
+>xmlAttrPtr</A
+> attr);
 int         <A
 HREF="gnome-xml-valid.html#XMLVALIDATEROOT"
 >xmlValidateRoot</A
@@ -460,6 +536,17 @@
 >xmlAttributePtr</A
 > attr);
 int         <A
+HREF="gnome-xml-valid.html#XMLVALIDATEATTRIBUTEVALUE"
+>xmlValidateAttributeValue</A
+>       (<A
+HREF="gnome-xml-tree.html#XMLATTRIBUTETYPE"
+>xmlAttributeType</A
+> type,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *value);
+int         <A
 HREF="gnome-xml-valid.html#XMLVALIDATENOTATIONDECL"
 >xmlValidateNotationDecl</A
 >         (<GTKDOCLINK
@@ -554,6 +641,21 @@
 >CHAR</A
 > *value);
 int         <A
+HREF="gnome-xml-valid.html#XMLVALIDATENOTATIONUSE"
+>xmlValidateNotationUse</A
+>          (<GTKDOCLINK
+HREF="XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</GTKDOCLINK
+> ctxt,
+                                             <A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *notationName);
+int         <A
 HREF="gnome-xml-valid.html#XMLISMIXEDELEMENT"
 >xmlIsMixedElement</A
 >               (<A
@@ -563,6 +665,52 @@
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
+> *name);
+<A
+HREF="gnome-xml-tree.html#XMLATTRIBUTEPTR"
+>xmlAttributePtr</A
+> <A
+HREF="gnome-xml-valid.html#XMLGETDTDATTRDESC"
+>xmlGetDtdAttrDesc</A
+>           (<A
+HREF="gnome-xml-tree.html#XMLDTDPTR"
+>xmlDtdPtr</A
+> dtd,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *elem,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *name);
+<A
+HREF="gnome-xml-tree.html#XMLNOTATIONPTR"
+>xmlNotationPtr</A
+> <A
+HREF="gnome-xml-valid.html#XMLGETDTDNOTATIONDESC"
+>xmlGetDtdNotationDesc</A
+>        (<A
+HREF="gnome-xml-tree.html#XMLDTDPTR"
+>xmlDtdPtr</A
+> dtd,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *name);
+<A
+HREF="gnome-xml-tree.html#XMLELEMENTPTR"
+>xmlElementPtr</A
+> <A
+HREF="gnome-xml-valid.html#XMLGETDTDELEMENTDESC"
+>xmlGetDtdElementDesc</A
+>          (<A
+HREF="gnome-xml-tree.html#XMLDTDPTR"
+>xmlDtdPtr</A
+> dtd,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
 > *name);</PRE
 ></TD
 ></TR
@@ -571,7 +719,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4316"
+NAME="AEN4682"
 ></A
 ><H2
 >Description</H2
@@ -581,14 +729,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4319"
+NAME="AEN4685"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4321"
+NAME="AEN4687"
 ></A
 ><H3
 ><A
@@ -682,7 +830,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4343"
+NAME="AEN4709"
 ></A
 ><H3
 ><A
@@ -776,7 +924,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4365"
+NAME="AEN4731"
 ></A
 ><H3
 ><A
@@ -829,7 +977,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -846,7 +994,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the message to display/transmit</TD
 ></TR
 ><TR
 ><TD
@@ -863,7 +1011,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  extra parameters for the message display</TD
 ></TR
 ></TABLE
 ><P
@@ -873,7 +1021,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4388"
+NAME="AEN4754"
 ></A
 ><H3
 ><A
@@ -926,7 +1074,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -943,7 +1091,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the message to display/transmit</TD
 ></TR
 ><TR
 ><TD
@@ -960,7 +1108,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  extra parameters for the message display</TD
 ></TR
 ></TABLE
 ><P
@@ -970,7 +1118,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4411"
+NAME="AEN4777"
 ></A
 ><H3
 ><A
@@ -986,7 +1134,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_MIN_NOTATION_TABLE</PRE
+>#define XML_MIN_NOTATION_TABLE	32</PRE
 ></TD
 ></TR
 ></TABLE
@@ -996,20 +1144,33 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4416"
+NAME="AEN4782"
 ></A
 ><H3
 ><A
 NAME="XMLNOTATIONTABLEPTR"
 ></A
 >xmlNotationTablePtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlNotationTable *xmlNotationTablePtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4420"
+NAME="AEN4787"
 ></A
 ><H3
 ><A
@@ -1025,7 +1186,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_MIN_ELEMENT_TABLE</PRE
+>#define XML_MIN_ELEMENT_TABLE	32</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1035,20 +1196,33 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4425"
+NAME="AEN4792"
 ></A
 ><H3
 ><A
 NAME="XMLELEMENTTABLEPTR"
 ></A
 >xmlElementTablePtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlElementTable *xmlElementTablePtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4429"
+NAME="AEN4797"
 ></A
 ><H3
 ><A
@@ -1064,7 +1238,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XML_MIN_ATTRIBUTE_TABLE</PRE
+>#define XML_MIN_ATTRIBUTE_TABLE	32</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1074,20 +1248,85 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4434"
+NAME="AEN4802"
 ></A
 ><H3
 ><A
 NAME="XMLATTRIBUTETABLEPTR"
 ></A
 >xmlAttributeTablePtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlAttributeTable *xmlAttributeTablePtr;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4438"
+NAME="AEN4807"
+></A
+><H3
+><A
+NAME="XML-MIN-ID-TABLE"
+></A
+>XML_MIN_ID_TABLE</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define XML_MIN_ID_TABLE	32</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN4812"
+></A
+><H3
+><A
+NAME="XMLIDTABLEPTR"
+></A
+>xmlIDTablePtr</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef xmlIDTable *xmlIDTablePtr;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN4817"
 ></A
 ><H3
 ><A
@@ -1159,7 +1398,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -1176,7 +1415,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  pointer to the DTD</TD
 ></TR
 ><TR
 ><TD
@@ -1193,7 +1432,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity name</TD
 ></TR
 ><TR
 ><TD
@@ -1210,7 +1449,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the public identifier or NULL</TD
 ></TR
 ><TR
 ><TD
@@ -1227,7 +1466,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the system identifier or NULL</TD
 ></TR
 ><TR
 ><TD
@@ -1242,7 +1481,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>NULL if not, othervise the entity</TD
 ></TR
 ></TABLE
 ><P
@@ -1252,7 +1491,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4479"
+NAME="AEN4858"
 ></A
 ><H3
 ><A
@@ -1308,7 +1547,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  A notation table</TD
 ></TR
 ><TR
 ><TD
@@ -1323,7 +1562,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new xmlNotationTablePtr or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -1333,7 +1572,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4500"
+NAME="AEN4879"
 ></A
 ><H3
 ><A
@@ -1386,7 +1625,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An notation table</TD
 ></TR
 ></TABLE
 ><P
@@ -1396,7 +1635,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4516"
+NAME="AEN4895"
 ></A
 ><H3
 ><A
@@ -1453,7 +1692,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XML buffer output</TD
 ></TR
 ><TR
 ><TD
@@ -1470,7 +1709,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  A notation table</TD
 ></TR
 ></TABLE
 ><P
@@ -1480,7 +1719,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4537"
+NAME="AEN4916"
 ></A
 ><H3
 ><A
@@ -1540,7 +1779,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the subelement name or NULL</TD
 ></TR
 ><TR
 ><TD
@@ -1557,7 +1796,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the type of element content decl</TD
 ></TR
 ><TR
 ><TD
@@ -1572,7 +1811,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>NULL if not, othervise the new element content structure</TD
 ></TR
 ></TABLE
 ><P
@@ -1582,7 +1821,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4563"
+NAME="AEN4942"
 ></A
 ><H3
 ><A
@@ -1638,7 +1877,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An element content pointer.</TD
 ></TR
 ><TR
 ><TD
@@ -1653,7 +1892,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new xmlElementContentPtr or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -1663,7 +1902,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4584"
+NAME="AEN4963"
 ></A
 ><H3
 ><A
@@ -1716,7 +1955,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the element content tree to free</TD
 ></TR
 ></TABLE
 ><P
@@ -1726,7 +1965,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4600"
+NAME="AEN4979"
 ></A
 ><H3
 ><A
@@ -1815,7 +2054,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  pointer to the DTD</TD
 ></TR
 ><TR
 ><TD
@@ -1832,7 +2071,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the entity name</TD
 ></TR
 ><TR
 ><TD
@@ -1849,7 +2088,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the element type</TD
 ></TR
 ><TR
 ><TD
@@ -1866,7 +2105,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the element content tree or NULL</TD
 ></TR
 ><TR
 ><TD
@@ -1881,7 +2120,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>NULL if not, othervise the entity</TD
 ></TR
 ></TABLE
 ><P
@@ -1891,7 +2130,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4641"
+NAME="AEN5020"
 ></A
 ><H3
 ><A
@@ -1947,7 +2186,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An element table</TD
 ></TR
 ><TR
 ><TD
@@ -1962,7 +2201,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new xmlElementTablePtr or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -1972,7 +2211,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4662"
+NAME="AEN5041"
 ></A
 ><H3
 ><A
@@ -2025,7 +2264,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An element table</TD
 ></TR
 ></TABLE
 ><P
@@ -2035,7 +2274,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4678"
+NAME="AEN5057"
 ></A
 ><H3
 ><A
@@ -2092,7 +2331,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XML buffer output</TD
 ></TR
 ><TR
 ><TD
@@ -2109,7 +2348,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An element table</TD
 ></TR
 ></TABLE
 ><P
@@ -2119,7 +2358,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4699"
+NAME="AEN5078"
 ></A
 ><H3
 ><A
@@ -2175,7 +2414,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the enumeration name or NULL</TD
 ></TR
 ><TR
 ><TD
@@ -2190,7 +2429,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlEnumerationPtr just created or NULL in case
+of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -2200,7 +2440,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4720"
+NAME="AEN5099"
 ></A
 ><H3
 ><A
@@ -2253,7 +2493,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the tree to free.</TD
 ></TR
 ></TABLE
 ><P
@@ -2263,7 +2503,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4736"
+NAME="AEN5115"
 ></A
 ><H3
 ><A
@@ -2319,7 +2559,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the tree to copy.</TD
 ></TR
 ><TR
 ><TD
@@ -2334,7 +2574,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlEnumerationPtr just created or NULL in case
+of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -2344,7 +2585,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4757"
+NAME="AEN5136"
 ></A
 ><H3
 ><A
@@ -2428,7 +2669,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -2445,7 +2686,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  pointer to the DTD</TD
 ></TR
 ><TR
 ><TD
@@ -2462,7 +2703,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the element name</TD
 ></TR
 ><TR
 ><TD
@@ -2479,7 +2720,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute name</TD
 ></TR
 ><TR
 ><TD
@@ -2496,7 +2737,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute type</TD
 ></TR
 ><TR
 ><TD
@@ -2513,7 +2754,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute default type</TD
 ></TR
 ><TR
 ><TD
@@ -2530,7 +2771,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the attribute default value</TD
 ></TR
 ><TR
 ><TD
@@ -2547,7 +2788,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  if it's an enumeration, the associated list</TD
 ></TR
 ><TR
 ><TD
@@ -2562,7 +2803,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>NULL if not, othervise the entity</TD
 ></TR
 ></TABLE
 ><P
@@ -2572,7 +2813,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4813"
+NAME="AEN5192"
 ></A
 ><H3
 ><A
@@ -2628,7 +2869,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An attribute table</TD
 ></TR
 ><TR
 ><TD
@@ -2643,7 +2884,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new xmlAttributeTablePtr or NULL in case of error.</TD
 ></TR
 ></TABLE
 ><P
@@ -2653,7 +2894,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4834"
+NAME="AEN5213"
 ></A
 ><H3
 ><A
@@ -2706,7 +2947,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  An attribute table</TD
 ></TR
 ></TABLE
 ><P
@@ -2716,7 +2957,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4850"
+NAME="AEN5229"
 ></A
 ><H3
 ><A
@@ -2773,7 +3014,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XML buffer output</TD
 ></TR
 ><TR
 ><TD
@@ -2790,8 +3031,231 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
+>  An attribute table</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5250"
+></A
+><H3
+><A
+NAME="XMLADDID"
+></A
+>xmlAddID ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLIDPTR"
+>xmlIDPtr</A
+>    xmlAddID                        (<GTKDOCLINK
+HREF="XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</GTKDOCLINK
+> ctxt,
+                                             <A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *value,
+                                             <A
+HREF="gnome-xml-tree.html#XMLATTRPTR"
+>xmlAttrPtr</A
+> attr);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Register a new id declaration</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
+>ctxt</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the validation context</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  pointer to the document</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>value</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the value name</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>attr</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the attribute holding the ID</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>NULL if not, othervise the new xmlIDPtr</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5286"
+></A
+><H3
+><A
+NAME="XMLCOPYIDTABLE"
+></A
+>xmlCopyIDTable ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-valid.html#XMLIDTABLEPTR"
+>xmlIDTablePtr</A
+> xmlCopyIDTable                (<A
+HREF="gnome-xml-valid.html#XMLIDTABLEPTR"
+>xmlIDTablePtr</A
+> table);</PRE
+></TD
+></TR
+></TABLE
+><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
+>table</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
@@ -2800,7 +3264,294 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4871"
+NAME="AEN5306"
+></A
+><H3
+><A
+NAME="XMLFREEIDTABLE"
+></A
+>xmlFreeIDTable ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlFreeIDTable                  (<A
+HREF="gnome-xml-valid.html#XMLIDTABLEPTR"
+>xmlIDTablePtr</A
+> table);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Deallocate the memory used by an ID hash table.</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
+>table</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  An id table</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5322"
+></A
+><H3
+><A
+NAME="XMLGETID"
+></A
+>xmlGetID ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLATTRPTR"
+>xmlAttrPtr</A
+>  xmlGetID                        (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *ID);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Search the attribute declaring the given ID</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
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  pointer to the document</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ID</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the ID value</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>NULL if not found, otherwise the xmlAttrPtr defining the ID</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5348"
+></A
+><H3
+><A
+NAME="XMLISID"
+></A
+>xmlIsID ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlIsID                         (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> elem,
+                                             <A
+HREF="gnome-xml-tree.html#XMLATTRPTR"
+>xmlAttrPtr</A
+> attr);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Determine whether an attribute is of type ID. In case we have Dtd(s)
+then this is simple, otherwise we use an heuristic: name ID (upper
+or lowercase).</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
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the document</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>elem</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the element carrying the attribute</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>attr</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the attribute</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>0 or 1 depending on the lookup result</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5378"
 ></A
 ><H3
 ><A
@@ -2861,7 +3612,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -2878,7 +3629,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a document instance</TD
 ></TR
 ><TR
 ><TD
@@ -2893,7 +3644,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if valid or 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -2903,7 +3654,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4896"
+NAME="AEN5403"
 ></A
 ><H3
 ><A
@@ -2969,7 +3720,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -2986,7 +3737,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a document instance</TD
 ></TR
 ><TR
 ><TD
@@ -3003,7 +3754,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an element definition</TD
 ></TR
 ><TR
 ><TD
@@ -3018,7 +3769,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if valid or 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -3028,7 +3779,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4926"
+NAME="AEN5433"
 ></A
 ><H3
 ><A
@@ -3096,7 +3847,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -3113,7 +3864,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a document instance</TD
 ></TR
 ><TR
 ><TD
@@ -3130,7 +3881,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an attribute definition</TD
 ></TR
 ><TR
 ><TD
@@ -3145,7 +3896,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if valid or 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -3155,7 +3906,121 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4957"
+NAME="AEN5464"
+></A
+><H3
+><A
+NAME="XMLVALIDATEATTRIBUTEVALUE"
+></A
+>xmlValidateAttributeValue ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlValidateAttributeValue       (<A
+HREF="gnome-xml-tree.html#XMLATTRIBUTETYPE"
+>xmlAttributeType</A
+> type,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *value);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Validate that the given attribute value match  the proper production</P
+><P
+>[ VC: ID ]
+Values of type ID must match the Name production....</P
+><P
+>[ VC: IDREF ]
+Values of type IDREF must match the Name production, and values
+of type IDREFS must match Names ...</P
+><P
+>[ VC: Entity Name ]
+Values of type ENTITY must match the Name production, values
+of type ENTITIES must match Names ...</P
+><P
+>[ VC: Name Token ]
+Values of type NMTOKEN must match the Nmtoken production; values
+of type NMTOKENS must match Nmtokens.</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
+>type</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an attribute type</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>value</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an attribute value</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>1 if valid or 0 otherwise</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5493"
 ></A
 ><H3
 ><A
@@ -3220,7 +4085,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -3237,7 +4102,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a document instance</TD
 ></TR
 ><TR
 ><TD
@@ -3254,7 +4119,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a notation definition</TD
 ></TR
 ><TR
 ><TD
@@ -3269,7 +4134,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if valid or 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -3279,7 +4144,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4987"
+NAME="AEN5523"
 ></A
 ><H3
 ><A
@@ -3342,7 +4207,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -3359,7 +4224,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a document instance</TD
 ></TR
 ><TR
 ><TD
@@ -3376,7 +4241,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a dtd instance</TD
 ></TR
 ><TR
 ><TD
@@ -3391,7 +4256,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if valid or 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -3401,7 +4266,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5018"
+NAME="AEN5554"
 ></A
 ><H3
 ><A
@@ -3462,7 +4327,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -3479,7 +4344,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a document instance</TD
 ></TR
 ><TR
 ><TD
@@ -3494,7 +4359,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if valid or 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -3504,7 +4369,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5044"
+NAME="AEN5580"
 ></A
 ><H3
 ><A
@@ -3565,7 +4430,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -3582,7 +4447,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a document instance</TD
 ></TR
 ><TR
 ><TD
@@ -3599,7 +4464,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an element instance</TD
 ></TR
 ><TR
 ><TD
@@ -3614,7 +4479,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if valid or 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -3624,7 +4489,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5074"
+NAME="AEN5610"
 ></A
 ><H3
 ><A
@@ -3695,7 +4560,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -3712,7 +4577,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a document instance</TD
 ></TR
 ><TR
 ><TD
@@ -3729,7 +4594,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an element instance</TD
 ></TR
 ><TR
 ><TD
@@ -3744,7 +4609,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if valid or 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -3754,7 +4619,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5106"
+NAME="AEN5642"
 ></A
 ><H3
 ><A
@@ -3835,7 +4700,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the validation context</TD
 ></TR
 ><TR
 ><TD
@@ -3852,7 +4717,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  a document instance</TD
 ></TR
 ><TR
 ><TD
@@ -3869,7 +4734,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an element instance</TD
 ></TR
 ><TR
 ><TD
@@ -3886,7 +4751,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an attribute instance</TD
 ></TR
 ><TR
 ><TD
@@ -3918,7 +4783,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>1 if valid or 0 otherwise</TD
 ></TR
 ></TABLE
 ><P
@@ -3928,7 +4793,128 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5147"
+NAME="AEN5683"
+></A
+><H3
+><A
+NAME="XMLVALIDATENOTATIONUSE"
+></A
+>xmlValidateNotationUse ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlValidateNotationUse          (<GTKDOCLINK
+HREF="XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</GTKDOCLINK
+> ctxt,
+                                             <A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *notationName);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Validate that the given mame match a notation declaration.
+- [ VC: Notation Declared ]</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
+>ctxt</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the validation context</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>doc</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the document</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>notationName</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the notation name to check</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>1 if valid or 0 otherwise</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5713"
 ></A
 ><H3
 ><A
@@ -3986,7 +4972,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the document</TD
 ></TR
 ><TR
 ><TD
@@ -4003,7 +4989,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the element name</TD
 ></TR
 ><TR
 ><TD
@@ -4018,7 +5004,335 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>0 if no, 1 if yes, and -1 if no element description is available</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5738"
+></A
+><H3
+><A
+NAME="XMLGETDTDATTRDESC"
+></A
+>xmlGetDtdAttrDesc ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLATTRIBUTEPTR"
+>xmlAttributePtr</A
+> xmlGetDtdAttrDesc           (<A
+HREF="gnome-xml-tree.html#XMLDTDPTR"
+>xmlDtdPtr</A
+> dtd,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *elem,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *name);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Search the Dtd for the description of this attribute on
+this element.</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
+>dtd</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a pointer to the DtD to search</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>elem</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the element name</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the attribute name</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the xmlAttributePtr if found or NULL</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5769"
+></A
+><H3
+><A
+NAME="XMLGETDTDNOTATIONDESC"
+></A
+>xmlGetDtdNotationDesc ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLNOTATIONPTR"
+>xmlNotationPtr</A
+> xmlGetDtdNotationDesc        (<A
+HREF="gnome-xml-tree.html#XMLDTDPTR"
+>xmlDtdPtr</A
+> dtd,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *name);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Search the Dtd for the description of this notation</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
+>dtd</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a pointer to the DtD to search</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the notation name</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the xmlNotationPtr if found or NULL</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5795"
+></A
+><H3
+><A
+NAME="XMLGETDTDELEMENTDESC"
+></A
+>xmlGetDtdElementDesc ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLELEMENTPTR"
+>xmlElementPtr</A
+> xmlGetDtdElementDesc          (<A
+HREF="gnome-xml-tree.html#XMLDTDPTR"
+>xmlDtdPtr</A
+> dtd,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *name);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Search the Dtd for the description of this element</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
+>dtd</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a pointer to the DtD to search</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>name</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the element name</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the xmlElementPtr if found or NULL</TD
 ></TR
 ></TABLE
 ><P
diff --git a/doc/html/gnome-xml-xml-error.html b/doc/html/gnome-xml-xml-error.html
index 375635b..ebcd732 100644
--- a/doc/html/gnome-xml-xml-error.html
+++ b/doc/html/gnome-xml-xml-error.html
@@ -15,8 +15,8 @@
 TITLE="valid"
 HREF="gnome-xml-valid.html"><LINK
 REL="NEXT"
-TITLE="parserInternals"
-HREF="gnome-xml-parserinternals.html"></HEAD
+TITLE="HTMLparser"
+HREF="gnome-xml-htmlparser.html"></HEAD
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
@@ -98,7 +98,7 @@
 BGCOLOR="#C00000"
 ALIGN="right"
 ><A
-HREF="gnome-xml-parserinternals.html"
+HREF="gnome-xml-htmlparser.html"
 ><FONT
 COLOR="#FFFFFF"
 SIZE="3"
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN5177"
+NAME="AEN5826"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN5180"
+NAME="AEN5829"
 ></A
 ><H2
 >Synopsis</H2
@@ -149,7 +149,33 @@
 >xmlParserWarning</A
 >                (void *ctx,
                                              const char *msg,
-                                             ...);</PRE
+                                             ...);
+void        <A
+HREF="gnome-xml-valid.html#XMLPARSERVALIDITYERROR"
+>xmlParserValidityError</A
+>          (void *ctx,
+                                             const char *msg,
+                                             ...);
+void        <A
+HREF="gnome-xml-valid.html#XMLPARSERVALIDITYWARNING"
+>xmlParserValidityWarning</A
+>        (void *ctx,
+                                             const char *msg,
+                                             ...);
+void        <A
+HREF="gnome-xml-xml-error.html#XMLPARSERPRINTFILEINFO"
+>xmlParserPrintFileInfo</A
+>          (<A
+HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
+>xmlParserInputPtr</A
+> input);
+void        <A
+HREF="gnome-xml-xml-error.html#XMLPARSERPRINTFILECONTEXT"
+>xmlParserPrintFileContext</A
+>       (<A
+HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
+>xmlParserInputPtr</A
+> input);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -157,7 +183,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN5185"
+NAME="AEN5840"
 ></A
 ><H2
 >Description</H2
@@ -167,14 +193,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN5188"
+NAME="AEN5843"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5190"
+NAME="AEN5845"
 ></A
 ><H3
 ><A
@@ -227,6 +253,200 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
+>  an XML parser context</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>msg</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the message to display/transmit</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>...</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  extra parameters for the message display</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5868"
+></A
+><H3
+><A
+NAME="XMLPARSERWARNING"
+></A
+>xmlParserWarning ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlParserWarning                (void *ctx,
+                                             const char *msg,
+                                             ...);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Display and format a warning messages, gives file, line, position and
+extra parameters.</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
+>ctx</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an XML parser context</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>msg</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the message to display/transmit</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>...</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  extra parameters for the message display</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5891"
+></A
+><H3
+><A
+NAME="XMLPARSERVALIDITYERROR"
+></A
+>xmlParserValidityError ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlParserValidityError          (void *ctx,
+                                             const char *msg,
+                                             ...);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Display and format an validity error messages, gives file,
+line, position and extra parameters.</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
+>ctx</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
 >&nbsp;</TD
 ></TR
 ><TR
@@ -271,13 +491,13 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5213"
+NAME="AEN5914"
 ></A
 ><H3
 ><A
-NAME="XMLPARSERWARNING"
+NAME="XMLPARSERVALIDITYWARNING"
 ></A
->xmlParserWarning ()</H3
+>xmlParserValidityWarning ()</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -287,15 +507,15 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        xmlParserWarning                (void *ctx,
+>void        xmlParserValidityWarning        (void *ctx,
                                              const char *msg,
                                              ...);</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
->Display and format a warning messages, gives file, line, position and
-extra parameters.</P
+>Display and format a validity warning messages, gives file, line,
+position and extra parameters.</P
 ><P
 ></P
 ><DIV
@@ -365,6 +585,132 @@
 ></P
 ></DIV
 ></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5937"
+></A
+><H3
+><A
+NAME="XMLPARSERPRINTFILEINFO"
+></A
+>xmlParserPrintFileInfo ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlParserPrintFileInfo          (<A
+HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
+>xmlParserInputPtr</A
+> input);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Displays the associated file and line informations for the current input</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
+>input</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an xmlParserInputPtr input</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5953"
+></A
+><H3
+><A
+NAME="XMLPARSERPRINTFILECONTEXT"
+></A
+>xmlParserPrintFileContext ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlParserPrintFileContext       (<A
+HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
+>xmlParserInputPtr</A
+> input);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Displays current context within the input content for error tracking</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
+>input</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an xmlParserInputPtr input</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
 ></DIV
 ><DIV
 CLASS="NAVFOOTER"
@@ -434,7 +780,7 @@
 BGCOLOR="#C00000"
 ALIGN="right"
 ><A
-HREF="gnome-xml-parserinternals.html"
+HREF="gnome-xml-htmlparser.html"
 ><FONT
 COLOR="#FFFFFF"
 SIZE="3"
@@ -462,7 +808,7 @@
 COLOR="#FFFFFF"
 SIZE="3"
 ><B
->parserInternals</B
+>HTMLparser</B
 ></FONT
 ></TD
 ></TR
diff --git a/doc/html/gnome-xml-xpath.html b/doc/html/gnome-xml-xpath.html
index ee7274d..023b0fa 100644
--- a/doc/html/gnome-xml-xpath.html
+++ b/doc/html/gnome-xml-xpath.html
@@ -13,7 +13,10 @@
 HREF="libxml.html"><LINK
 REL="PREVIOUS"
 TITLE="HTMLtree"
-HREF="gnome-xml-htmltree.html"></HEAD
+HREF="gnome-xml-htmltree.html"><LINK
+REL="NEXT"
+TITLE="parserInternals"
+HREF="gnome-xml-parserinternals.html"></HEAD
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
@@ -94,7 +97,16 @@
 WIDTH="25%"
 BGCOLOR="#C00000"
 ALIGN="right"
->&nbsp;</TD
+><A
+HREF="gnome-xml-parserinternals.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Next Page &#62;&#62;&#62;</B
+></FONT
+></A
+></TD
 ></TR
 ></TABLE
 ></DIV
@@ -103,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN7665"
+NAME="AEN6408"
 ></A
 ><H2
 >Name</H2
@@ -111,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN7668"
+NAME="AEN6411"
 ></A
 ><H2
 >Synopsis</H2
@@ -215,7 +227,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7693"
+NAME="AEN6436"
 ></A
 ><H2
 >Description</H2
@@ -225,14 +237,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7696"
+NAME="AEN6439"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7698"
+NAME="AEN6441"
 ></A
 ><H3
 ><A
@@ -248,7 +260,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XPATH_UNDEFINED</PRE
+>#define XPATH_UNDEFINED	0</PRE
 ></TD
 ></TR
 ></TABLE
@@ -258,7 +270,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7703"
+NAME="AEN6446"
 ></A
 ><H3
 ><A
@@ -274,7 +286,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XPATH_NODESET</PRE
+>#define XPATH_NODESET	1</PRE
 ></TD
 ></TR
 ></TABLE
@@ -284,7 +296,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7708"
+NAME="AEN6451"
 ></A
 ><H3
 ><A
@@ -300,7 +312,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XPATH_BOOLEAN</PRE
+>#define XPATH_BOOLEAN	2</PRE
 ></TD
 ></TR
 ></TABLE
@@ -310,7 +322,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7713"
+NAME="AEN6456"
 ></A
 ><H3
 ><A
@@ -326,7 +338,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XPATH_NUMBER</PRE
+>#define XPATH_NUMBER	3</PRE
 ></TD
 ></TR
 ></TABLE
@@ -336,7 +348,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7718"
+NAME="AEN6461"
 ></A
 ><H3
 ><A
@@ -352,7 +364,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     XPATH_STRING</PRE
+>#define XPATH_STRING	4</PRE
 ></TD
 ></TR
 ></TABLE
@@ -362,7 +374,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7723"
+NAME="AEN6466"
 ></A
 ><H3
 ><A
@@ -441,7 +453,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7742"
+NAME="AEN6485"
 ></A
 ><H3
 ><A
@@ -499,7 +511,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XML document</TD
 ></TR
 ><TR
 ><TD
@@ -516,7 +528,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the variable list</TD
 ></TR
 ><TR
 ><TD
@@ -533,7 +545,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the function list</TD
 ></TR
 ><TR
 ><TD
@@ -548,7 +560,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlXPathContext just allocated.</TD
 ></TR
 ></TABLE
 ><P
@@ -558,7 +570,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7771"
+NAME="AEN6514"
 ></A
 ><H3
 ><A
@@ -611,7 +623,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the context to free</TD
 ></TR
 ></TABLE
 ><P
@@ -621,7 +633,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7787"
+NAME="AEN6530"
 ></A
 ><H3
 ><A
@@ -681,7 +693,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XPath expression</TD
 ></TR
 ><TR
 ><TD
@@ -698,7 +710,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XPath context</TD
 ></TR
 ><TR
 ><TD
@@ -713,7 +725,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlXPathObjectPtr resulting from the eveluation or NULL.
+the caller has to free the object.</TD
 ></TR
 ></TABLE
 ><P
@@ -723,7 +736,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7813"
+NAME="AEN6556"
 ></A
 ><H3
 ><A
@@ -776,7 +789,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the object to free</TD
 ></TR
 ></TABLE
 ><P
@@ -786,7 +799,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7829"
+NAME="AEN6572"
 ></A
 ><H3
 ><A
@@ -846,7 +859,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XPath expression</TD
 ></TR
 ><TR
 ><TD
@@ -863,7 +876,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XPath context</TD
 ></TR
 ><TR
 ><TD
@@ -878,7 +891,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the xmlXPathObjectPtr resulting from the evaluation or NULL.
+the caller has to free the object.</TD
 ></TR
 ></TABLE
 ><P
@@ -953,7 +967,16 @@
 WIDTH="25%"
 BGCOLOR="#C00000"
 ALIGN="right"
->&nbsp;</TD
+><A
+HREF="gnome-xml-parserinternals.html"
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>Next Page &#62;&#62;&#62;</B
+></FONT
+></A
+></TD
 ></TR
 ><TR
 ><TD
@@ -969,7 +992,13 @@
 ><TD
 COLSPAN="2"
 ALIGN="right"
->&nbsp;</TD
+><FONT
+COLOR="#FFFFFF"
+SIZE="3"
+><B
+>parserInternals</B
+></FONT
+></TD
 ></TR
 ></TABLE
 ></DIV
diff --git a/doc/html/index.sgml b/doc/html/index.sgml
index 34c6da5..1ded25b 100644
--- a/doc/html/index.sgml
+++ b/doc/html/index.sgml
@@ -2,6 +2,7 @@
 <ANCHOR id ="XML-DEFAULT-VERSION" href="gnome-xml/gnome-xml-parser.html#XML-DEFAULT-VERSION">
 <ANCHOR id ="XMLPARSERINPUTDEALLOCATE" href="gnome-xml/gnome-xml-parser.html#XMLPARSERINPUTDEALLOCATE">
 <ANCHOR id ="XMLPARSERINPUTPTR" href="gnome-xml/gnome-xml-parser.html#XMLPARSERINPUTPTR">
+<ANCHOR id ="XMLEXTERNALENTITYLOADER" href="gnome-xml/gnome-xml-parser.html#XMLEXTERNALENTITYLOADER">
 <ANCHOR id ="XMLPARSERNODEINFO" href="gnome-xml/gnome-xml-parser.html#XMLPARSERNODEINFO">
 <ANCHOR id ="XMLPARSERNODEINFOSEQ" href="gnome-xml/gnome-xml-parser.html#XMLPARSERNODEINFOSEQ">
 <ANCHOR id ="XMLPARSERNODEINFOSEQPTR" href="gnome-xml/gnome-xml-parser.html#XMLPARSERNODEINFOSEQPTR">
@@ -42,6 +43,7 @@
 <ANCHOR id ="XMLDEFAULTSAXLOCATOR" href="gnome-xml/gnome-xml-parser.html#XMLDEFAULTSAXLOCATOR">
 <ANCHOR id ="XMLDEFAULTSAXHANDLER" href="gnome-xml/gnome-xml-parser.html#XMLDEFAULTSAXHANDLER">
 <ANCHOR id ="HTMLDEFAULTSAXHANDLER" href="gnome-xml/gnome-xml-parser.html#HTMLDEFAULTSAXHANDLER">
+<ANCHOR id ="XMLSUBSTITUTEENTITIESDEFAULTVALUE" href="gnome-xml/gnome-xml-parser.html#XMLSUBSTITUTEENTITIESDEFAULTVALUE">
 <ANCHOR id ="XMLPARSERINPUTREAD" href="gnome-xml/gnome-xml-parser.html#XMLPARSERINPUTREAD">
 <ANCHOR id ="XMLPARSERINPUTGROW" href="gnome-xml/gnome-xml-parser.html#XMLPARSERINPUTGROW">
 <ANCHOR id ="XMLSTRDUP" href="gnome-xml/gnome-xml-parser.html#XMLSTRDUP">
@@ -70,16 +72,20 @@
 <ANCHOR id ="XMLINITPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLINITPARSERCTXT">
 <ANCHOR id ="XMLCLEARPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLCLEARPARSERCTXT">
 <ANCHOR id ="XMLSETUPPARSERFORBUFFER" href="gnome-xml/gnome-xml-parser.html#XMLSETUPPARSERFORBUFFER">
+<ANCHOR id ="XMLDEFAULTSAXHANDLERINIT" href="gnome-xml/gnome-xml-parser.html#XMLDEFAULTSAXHANDLERINIT">
+<ANCHOR id ="HTMLDEFAULTSAXHANDLERINIT" href="gnome-xml/gnome-xml-parser.html#HTMLDEFAULTSAXHANDLERINIT">
 <ANCHOR id ="XMLPARSERFINDNODEINFO" href="gnome-xml/gnome-xml-parser.html#XMLPARSERFINDNODEINFO">
 <ANCHOR id ="XMLINITNODEINFOSEQ" href="gnome-xml/gnome-xml-parser.html#XMLINITNODEINFOSEQ">
 <ANCHOR id ="XMLCLEARNODEINFOSEQ" href="gnome-xml/gnome-xml-parser.html#XMLCLEARNODEINFOSEQ">
 <ANCHOR id ="XMLPARSERFINDNODEINFOINDEX" href="gnome-xml/gnome-xml-parser.html#XMLPARSERFINDNODEINFOINDEX">
 <ANCHOR id ="XMLPARSERADDNODEINFO" href="gnome-xml/gnome-xml-parser.html#XMLPARSERADDNODEINFO">
-<ANCHOR id ="XMLDEFAULTSAXHANDLERINIT" href="gnome-xml/gnome-xml-parser.html#XMLDEFAULTSAXHANDLERINIT">
-<ANCHOR id ="HTMLDEFAULTSAXHANDLERINIT" href="gnome-xml/gnome-xml-parser.html#HTMLDEFAULTSAXHANDLERINIT">
+<ANCHOR id ="XMLSETEXTERNALENTITYLOADER" href="gnome-xml/gnome-xml-parser.html#XMLSETEXTERNALENTITYLOADER">
+<ANCHOR id ="XMLGETEXTERNALENTITYLOADER" href="gnome-xml/gnome-xml-parser.html#XMLGETEXTERNALENTITYLOADER">
+<ANCHOR id ="XMLLOADEXTERNALENTITY" href="gnome-xml/gnome-xml-parser.html#XMLLOADEXTERNALENTITY">
 <ANCHOR id ="GNOME-XML-TREE" href="gnome-xml/gnome-xml-tree.html">
 <ANCHOR id ="XMLELEMENTTYPE" href="gnome-xml/gnome-xml-tree.html#XMLELEMENTTYPE">
 <ANCHOR id ="CHAR" href="gnome-xml/gnome-xml-tree.html#CHAR">
+<ANCHOR id ="BAD-CAST" href="gnome-xml/gnome-xml-tree.html#BAD-CAST">
 <ANCHOR id ="XMLNOTATIONPTR" href="gnome-xml/gnome-xml-tree.html#XMLNOTATIONPTR">
 <ANCHOR id ="XMLATTRIBUTETYPE" href="gnome-xml/gnome-xml-tree.html#XMLATTRIBUTETYPE">
 <ANCHOR id ="XMLATTRIBUTEDEFAULT" href="gnome-xml/gnome-xml-tree.html#XMLATTRIBUTEDEFAULT">
@@ -94,6 +100,7 @@
 <ANCHOR id ="XMLNSPTR" href="gnome-xml/gnome-xml-tree.html#XMLNSPTR">
 <ANCHOR id ="XMLDTDPTR" href="gnome-xml/gnome-xml-tree.html#XMLDTDPTR">
 <ANCHOR id ="XMLATTRPTR" href="gnome-xml/gnome-xml-tree.html#XMLATTRPTR">
+<ANCHOR id ="XMLIDPTR" href="gnome-xml/gnome-xml-tree.html#XMLIDPTR">
 <ANCHOR id ="XMLNODE" href="gnome-xml/gnome-xml-tree.html#XMLNODE">
 <ANCHOR id ="XMLNODEPTR" href="gnome-xml/gnome-xml-tree.html#XMLNODEPTR">
 <ANCHOR id ="XMLDOC" href="gnome-xml/gnome-xml-tree.html#XMLDOC">
@@ -121,6 +128,7 @@
 <ANCHOR id ="XMLFREEDOC" href="gnome-xml/gnome-xml-tree.html#XMLFREEDOC">
 <ANCHOR id ="XMLNEWDOCPROP" href="gnome-xml/gnome-xml-tree.html#XMLNEWDOCPROP">
 <ANCHOR id ="XMLNEWPROP" href="gnome-xml/gnome-xml-tree.html#XMLNEWPROP">
+<ANCHOR id ="XMLNEWNSPROP" href="gnome-xml/gnome-xml-tree.html#XMLNEWNSPROP">
 <ANCHOR id ="XMLFREEPROPLIST" href="gnome-xml/gnome-xml-tree.html#XMLFREEPROPLIST">
 <ANCHOR id ="XMLFREEPROP" href="gnome-xml/gnome-xml-tree.html#XMLFREEPROP">
 <ANCHOR id ="XMLCOPYPROP" href="gnome-xml/gnome-xml-tree.html#XMLCOPYPROP">
@@ -132,6 +140,7 @@
 <ANCHOR id ="XMLNEWCHILD" href="gnome-xml/gnome-xml-tree.html#XMLNEWCHILD">
 <ANCHOR id ="XMLNEWDOCTEXT" href="gnome-xml/gnome-xml-tree.html#XMLNEWDOCTEXT">
 <ANCHOR id ="XMLNEWTEXT" href="gnome-xml/gnome-xml-tree.html#XMLNEWTEXT">
+<ANCHOR id ="XMLNEWPI" href="gnome-xml/gnome-xml-tree.html#XMLNEWPI">
 <ANCHOR id ="XMLNEWDOCTEXTLEN" href="gnome-xml/gnome-xml-tree.html#XMLNEWDOCTEXTLEN">
 <ANCHOR id ="XMLNEWTEXTLEN" href="gnome-xml/gnome-xml-tree.html#XMLNEWTEXTLEN">
 <ANCHOR id ="XMLNEWDOCCOMMENT" href="gnome-xml/gnome-xml-tree.html#XMLNEWDOCCOMMENT">
@@ -143,6 +152,7 @@
 <ANCHOR id ="XMLGETLASTCHILD" href="gnome-xml/gnome-xml-tree.html#XMLGETLASTCHILD">
 <ANCHOR id ="XMLNODEISTEXT" href="gnome-xml/gnome-xml-tree.html#XMLNODEISTEXT">
 <ANCHOR id ="XMLADDCHILD" href="gnome-xml/gnome-xml-tree.html#XMLADDCHILD">
+<ANCHOR id ="XMLADDSIBLING" href="gnome-xml/gnome-xml-tree.html#XMLADDSIBLING">
 <ANCHOR id ="XMLUNLINKNODE" href="gnome-xml/gnome-xml-tree.html#XMLUNLINKNODE">
 <ANCHOR id ="XMLTEXTMERGE" href="gnome-xml/gnome-xml-tree.html#XMLTEXTMERGE">
 <ANCHOR id ="XMLTEXTCONCAT" href="gnome-xml/gnome-xml-tree.html#XMLTEXTCONCAT">
@@ -150,6 +160,7 @@
 <ANCHOR id ="XMLFREENODE" href="gnome-xml/gnome-xml-tree.html#XMLFREENODE">
 <ANCHOR id ="XMLSEARCHNS" href="gnome-xml/gnome-xml-tree.html#XMLSEARCHNS">
 <ANCHOR id ="XMLSEARCHNSBYHREF" href="gnome-xml/gnome-xml-tree.html#XMLSEARCHNSBYHREF">
+<ANCHOR id ="XMLGETNSLIST" href="gnome-xml/gnome-xml-tree.html#XMLGETNSLIST">
 <ANCHOR id ="XMLSETNS" href="gnome-xml/gnome-xml-tree.html#XMLSETNS">
 <ANCHOR id ="XMLCOPYNAMESPACE" href="gnome-xml/gnome-xml-tree.html#XMLCOPYNAMESPACE">
 <ANCHOR id ="XMLCOPYNAMESPACELIST" href="gnome-xml/gnome-xml-tree.html#XMLCOPYNAMESPACELIST">
@@ -163,6 +174,8 @@
 <ANCHOR id ="XMLNODEADDCONTENT" href="gnome-xml/gnome-xml-tree.html#XMLNODEADDCONTENT">
 <ANCHOR id ="XMLNODEADDCONTENTLEN" href="gnome-xml/gnome-xml-tree.html#XMLNODEADDCONTENTLEN">
 <ANCHOR id ="XMLNODEGETCONTENT" href="gnome-xml/gnome-xml-tree.html#XMLNODEGETCONTENT">
+<ANCHOR id ="XMLNODEGETLANG" href="gnome-xml/gnome-xml-tree.html#XMLNODEGETLANG">
+<ANCHOR id ="XMLNODESETLANG" href="gnome-xml/gnome-xml-tree.html#XMLNODESETLANG">
 <ANCHOR id ="XMLBUFFERWRITECHAR" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERWRITECHAR">
 <ANCHOR id ="XMLBUFFERWRITECHAR" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERWRITECHAR">
 <ANCHOR id ="XMLBUFFERWRITEQUOTEDSTRING" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERWRITEQUOTEDSTRING">
@@ -206,6 +219,8 @@
 <ANCHOR id ="XMLELEMENTTABLEPTR" href="gnome-xml/gnome-xml-valid.html#XMLELEMENTTABLEPTR">
 <ANCHOR id ="XML-MIN-ATTRIBUTE-TABLE" href="gnome-xml/gnome-xml-valid.html#XML-MIN-ATTRIBUTE-TABLE">
 <ANCHOR id ="XMLATTRIBUTETABLEPTR" href="gnome-xml/gnome-xml-valid.html#XMLATTRIBUTETABLEPTR">
+<ANCHOR id ="XML-MIN-ID-TABLE" href="gnome-xml/gnome-xml-valid.html#XML-MIN-ID-TABLE">
+<ANCHOR id ="XMLIDTABLEPTR" href="gnome-xml/gnome-xml-valid.html#XMLIDTABLEPTR">
 <ANCHOR id ="XMLADDNOTATIONDECL" href="gnome-xml/gnome-xml-valid.html#XMLADDNOTATIONDECL">
 <ANCHOR id ="XMLCOPYNOTATIONTABLE" href="gnome-xml/gnome-xml-valid.html#XMLCOPYNOTATIONTABLE">
 <ANCHOR id ="XMLFREENOTATIONTABLE" href="gnome-xml/gnome-xml-valid.html#XMLFREENOTATIONTABLE">
@@ -224,20 +239,73 @@
 <ANCHOR id ="XMLCOPYATTRIBUTETABLE" href="gnome-xml/gnome-xml-valid.html#XMLCOPYATTRIBUTETABLE">
 <ANCHOR id ="XMLFREEATTRIBUTETABLE" href="gnome-xml/gnome-xml-valid.html#XMLFREEATTRIBUTETABLE">
 <ANCHOR id ="XMLDUMPATTRIBUTETABLE" href="gnome-xml/gnome-xml-valid.html#XMLDUMPATTRIBUTETABLE">
+<ANCHOR id ="XMLADDID" href="gnome-xml/gnome-xml-valid.html#XMLADDID">
+<ANCHOR id ="XMLCOPYIDTABLE" href="gnome-xml/gnome-xml-valid.html#XMLCOPYIDTABLE">
+<ANCHOR id ="XMLFREEIDTABLE" href="gnome-xml/gnome-xml-valid.html#XMLFREEIDTABLE">
+<ANCHOR id ="XMLGETID" href="gnome-xml/gnome-xml-valid.html#XMLGETID">
+<ANCHOR id ="XMLISID" href="gnome-xml/gnome-xml-valid.html#XMLISID">
 <ANCHOR id ="XMLVALIDATEROOT" href="gnome-xml/gnome-xml-valid.html#XMLVALIDATEROOT">
 <ANCHOR id ="XMLVALIDATEELEMENTDECL" href="gnome-xml/gnome-xml-valid.html#XMLVALIDATEELEMENTDECL">
 <ANCHOR id ="XMLVALIDATEATTRIBUTEDECL" href="gnome-xml/gnome-xml-valid.html#XMLVALIDATEATTRIBUTEDECL">
+<ANCHOR id ="XMLVALIDATEATTRIBUTEVALUE" href="gnome-xml/gnome-xml-valid.html#XMLVALIDATEATTRIBUTEVALUE">
 <ANCHOR id ="XMLVALIDATENOTATIONDECL" href="gnome-xml/gnome-xml-valid.html#XMLVALIDATENOTATIONDECL">
 <ANCHOR id ="XMLVALIDATEDTD" href="gnome-xml/gnome-xml-valid.html#XMLVALIDATEDTD">
 <ANCHOR id ="XMLVALIDATEDOCUMENT" href="gnome-xml/gnome-xml-valid.html#XMLVALIDATEDOCUMENT">
 <ANCHOR id ="XMLVALIDATEELEMENT" href="gnome-xml/gnome-xml-valid.html#XMLVALIDATEELEMENT">
 <ANCHOR id ="XMLVALIDATEONEELEMENT" href="gnome-xml/gnome-xml-valid.html#XMLVALIDATEONEELEMENT">
 <ANCHOR id ="XMLVALIDATEONEATTRIBUTE" href="gnome-xml/gnome-xml-valid.html#XMLVALIDATEONEATTRIBUTE">
+<ANCHOR id ="XMLVALIDATENOTATIONUSE" href="gnome-xml/gnome-xml-valid.html#XMLVALIDATENOTATIONUSE">
 <ANCHOR id ="XMLISMIXEDELEMENT" href="gnome-xml/gnome-xml-valid.html#XMLISMIXEDELEMENT">
+<ANCHOR id ="XMLGETDTDATTRDESC" href="gnome-xml/gnome-xml-valid.html#XMLGETDTDATTRDESC">
+<ANCHOR id ="XMLGETDTDNOTATIONDESC" href="gnome-xml/gnome-xml-valid.html#XMLGETDTDNOTATIONDESC">
+<ANCHOR id ="XMLGETDTDELEMENTDESC" href="gnome-xml/gnome-xml-valid.html#XMLGETDTDELEMENTDESC">
 <ANCHOR id ="GNOME-XML-XML-ERROR" href="gnome-xml/gnome-xml-xml-error.html">
 <ANCHOR id ="XMLPARSERERROR" href="gnome-xml/gnome-xml-xml-error.html#XMLPARSERERROR">
 <ANCHOR id ="XMLPARSERWARNING" href="gnome-xml/gnome-xml-xml-error.html#XMLPARSERWARNING">
+<ANCHOR id ="XMLPARSERVALIDITYERROR" href="gnome-xml/gnome-xml-xml-error.html#XMLPARSERVALIDITYERROR">
+<ANCHOR id ="XMLPARSERVALIDITYWARNING" href="gnome-xml/gnome-xml-xml-error.html#XMLPARSERVALIDITYWARNING">
+<ANCHOR id ="XMLPARSERPRINTFILEINFO" href="gnome-xml/gnome-xml-xml-error.html#XMLPARSERPRINTFILEINFO">
+<ANCHOR id ="XMLPARSERPRINTFILECONTEXT" href="gnome-xml/gnome-xml-xml-error.html#XMLPARSERPRINTFILECONTEXT">
+<ANCHOR id ="GNOME-XML-HTMLPARSER" href="gnome-xml/gnome-xml-htmlparser.html">
+<ANCHOR id ="HTMLPARSERCTXT" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSERCTXT">
+<ANCHOR id ="HTMLPARSERCTXTPTR" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSERCTXTPTR">
+<ANCHOR id ="HTMLPARSERNODEINFO" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSERNODEINFO">
+<ANCHOR id ="HTMLSAXHANDLER" href="gnome-xml/gnome-xml-htmlparser.html#HTMLSAXHANDLER">
+<ANCHOR id ="HTMLSAXHANDLERPTR" href="gnome-xml/gnome-xml-htmlparser.html#HTMLSAXHANDLERPTR">
+<ANCHOR id ="HTMLPARSERINPUT" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSERINPUT">
+<ANCHOR id ="HTMLPARSERINPUTPTR" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSERINPUTPTR">
+<ANCHOR id ="HTMLDOCPTR" href="gnome-xml/gnome-xml-htmlparser.html#HTMLDOCPTR">
+<ANCHOR id ="HTMLNODEPTR" href="gnome-xml/gnome-xml-htmlparser.html#HTMLNODEPTR">
+<ANCHOR id ="HTMLTAGLOOKUP" href="gnome-xml/gnome-xml-htmlparser.html#HTMLTAGLOOKUP">
+<ANCHOR id ="HTMLENTITYLOOKUP" href="gnome-xml/gnome-xml-htmlparser.html#HTMLENTITYLOOKUP">
+<ANCHOR id ="HTMLPARSEENTITYREF" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEENTITYREF">
+<ANCHOR id ="HTMLPARSECHARREF" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSECHARREF">
+<ANCHOR id ="HTMLPARSEELEMENT" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEELEMENT">
+<ANCHOR id ="HTMLSAXPARSEDOC" href="gnome-xml/gnome-xml-htmlparser.html#HTMLSAXPARSEDOC">
+<ANCHOR id ="HTMLPARSEDOC" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEDOC">
+<ANCHOR id ="HTMLSAXPARSEFILE" href="gnome-xml/gnome-xml-htmlparser.html#HTMLSAXPARSEFILE">
+<ANCHOR id ="HTMLPARSEFILE" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEFILE">
+<ANCHOR id ="GNOME-XML-HTMLTREE" href="gnome-xml/gnome-xml-htmltree.html">
+<ANCHOR id ="HTML-TEXT-NODE" href="gnome-xml/gnome-xml-htmltree.html#HTML-TEXT-NODE">
+<ANCHOR id ="HTML-ENTITY-REF-NODE" href="gnome-xml/gnome-xml-htmltree.html#HTML-ENTITY-REF-NODE">
+<ANCHOR id ="HTML-COMMENT-NODE" href="gnome-xml/gnome-xml-htmltree.html#HTML-COMMENT-NODE">
+<ANCHOR id ="HTMLDOCDUMPMEMORY" href="gnome-xml/gnome-xml-htmltree.html#HTMLDOCDUMPMEMORY">
+<ANCHOR id ="HTMLDOCDUMP" href="gnome-xml/gnome-xml-htmltree.html#HTMLDOCDUMP">
+<ANCHOR id ="HTMLSAVEFILE" href="gnome-xml/gnome-xml-htmltree.html#HTMLSAVEFILE">
+<ANCHOR id ="GNOME-XML-XPATH" href="gnome-xml/gnome-xml-xpath.html">
+<ANCHOR id ="XPATH-UNDEFINED" href="gnome-xml/gnome-xml-xpath.html#XPATH-UNDEFINED">
+<ANCHOR id ="XPATH-NODESET" href="gnome-xml/gnome-xml-xpath.html#XPATH-NODESET">
+<ANCHOR id ="XPATH-BOOLEAN" href="gnome-xml/gnome-xml-xpath.html#XPATH-BOOLEAN">
+<ANCHOR id ="XPATH-NUMBER" href="gnome-xml/gnome-xml-xpath.html#XPATH-NUMBER">
+<ANCHOR id ="XPATH-STRING" href="gnome-xml/gnome-xml-xpath.html#XPATH-STRING">
+<ANCHOR id ="XMLXPATHFUNCTION" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFUNCTION">
+<ANCHOR id ="XMLXPATHNEWCONTEXT" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHNEWCONTEXT">
+<ANCHOR id ="XMLXPATHFREECONTEXT" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFREECONTEXT">
+<ANCHOR id ="XMLXPATHEVAL" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHEVAL">
+<ANCHOR id ="XMLXPATHFREEOBJECT" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFREEOBJECT">
+<ANCHOR id ="XMLXPATHEVALEXPRESSION" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHEVALEXPRESSION">
 <ANCHOR id ="GNOME-XML-PARSERINTERNALS" href="gnome-xml/gnome-xml-parserinternals.html">
+<ANCHOR id ="XML-MAX-NAMELEN" href="gnome-xml/gnome-xml-parserinternals.html#XML-MAX-NAMELEN">
 <ANCHOR id ="CHARVAL" href="gnome-xml/gnome-xml-parserinternals.html#CHARVAL">
 <ANCHOR id ="NEXTCHARVAL" href="gnome-xml/gnome-xml-parserinternals.html#NEXTCHARVAL">
 <ANCHOR id ="SKIPCHARVAL" href="gnome-xml/gnome-xml-parserinternals.html#SKIPCHARVAL">
@@ -324,41 +392,19 @@
 <ANCHOR id ="NODEPOP" href="gnome-xml/gnome-xml-parserinternals.html#NODEPOP">
 <ANCHOR id ="INPUTPUSH" href="gnome-xml/gnome-xml-parserinternals.html#INPUTPUSH">
 <ANCHOR id ="INPUTPOP" href="gnome-xml/gnome-xml-parserinternals.html#INPUTPOP">
-<ANCHOR id ="GNOME-XML-HTMLPARSER" href="gnome-xml/gnome-xml-htmlparser.html">
-<ANCHOR id ="HTMLPARSERCTXT" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSERCTXT">
-<ANCHOR id ="HTMLPARSERCTXTPTR" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSERCTXTPTR">
-<ANCHOR id ="HTMLPARSERNODEINFO" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSERNODEINFO">
-<ANCHOR id ="HTMLSAXHANDLER" href="gnome-xml/gnome-xml-htmlparser.html#HTMLSAXHANDLER">
-<ANCHOR id ="HTMLSAXHANDLERPTR" href="gnome-xml/gnome-xml-htmlparser.html#HTMLSAXHANDLERPTR">
-<ANCHOR id ="HTMLPARSERINPUT" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSERINPUT">
-<ANCHOR id ="HTMLPARSERINPUTPTR" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSERINPUTPTR">
-<ANCHOR id ="HTMLDOCPTR" href="gnome-xml/gnome-xml-htmlparser.html#HTMLDOCPTR">
-<ANCHOR id ="HTMLNODEPTR" href="gnome-xml/gnome-xml-htmlparser.html#HTMLNODEPTR">
-<ANCHOR id ="HTMLTAGLOOKUP" href="gnome-xml/gnome-xml-htmlparser.html#HTMLTAGLOOKUP">
-<ANCHOR id ="HTMLENTITYLOOKUP" href="gnome-xml/gnome-xml-htmlparser.html#HTMLENTITYLOOKUP">
-<ANCHOR id ="HTMLPARSEENTITYREF" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEENTITYREF">
-<ANCHOR id ="HTMLPARSECHARREF" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSECHARREF">
-<ANCHOR id ="HTMLPARSEELEMENT" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEELEMENT">
-<ANCHOR id ="HTMLSAXPARSEDOC" href="gnome-xml/gnome-xml-htmlparser.html#HTMLSAXPARSEDOC">
-<ANCHOR id ="HTMLPARSEDOC" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEDOC">
-<ANCHOR id ="HTMLSAXPARSEFILE" href="gnome-xml/gnome-xml-htmlparser.html#HTMLSAXPARSEFILE">
-<ANCHOR id ="HTMLPARSEFILE" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEFILE">
-<ANCHOR id ="GNOME-XML-HTMLTREE" href="gnome-xml/gnome-xml-htmltree.html">
-<ANCHOR id ="HTML-TEXT-NODE" href="gnome-xml/gnome-xml-htmltree.html#HTML-TEXT-NODE">
-<ANCHOR id ="HTML-ENTITY-REF-NODE" href="gnome-xml/gnome-xml-htmltree.html#HTML-ENTITY-REF-NODE">
-<ANCHOR id ="HTML-COMMENT-NODE" href="gnome-xml/gnome-xml-htmltree.html#HTML-COMMENT-NODE">
-<ANCHOR id ="HTMLDOCDUMPMEMORY" href="gnome-xml/gnome-xml-htmltree.html#HTMLDOCDUMPMEMORY">
-<ANCHOR id ="HTMLDOCDUMP" href="gnome-xml/gnome-xml-htmltree.html#HTMLDOCDUMP">
-<ANCHOR id ="HTMLSAVEFILE" href="gnome-xml/gnome-xml-htmltree.html#HTMLSAVEFILE">
-<ANCHOR id ="GNOME-XML-XPATH" href="gnome-xml/gnome-xml-xpath.html">
-<ANCHOR id ="XPATH-UNDEFINED" href="gnome-xml/gnome-xml-xpath.html#XPATH-UNDEFINED">
-<ANCHOR id ="XPATH-NODESET" href="gnome-xml/gnome-xml-xpath.html#XPATH-NODESET">
-<ANCHOR id ="XPATH-BOOLEAN" href="gnome-xml/gnome-xml-xpath.html#XPATH-BOOLEAN">
-<ANCHOR id ="XPATH-NUMBER" href="gnome-xml/gnome-xml-xpath.html#XPATH-NUMBER">
-<ANCHOR id ="XPATH-STRING" href="gnome-xml/gnome-xml-xpath.html#XPATH-STRING">
-<ANCHOR id ="XMLXPATHFUNCTION" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFUNCTION">
-<ANCHOR id ="XMLXPATHNEWCONTEXT" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHNEWCONTEXT">
-<ANCHOR id ="XMLXPATHFREECONTEXT" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFREECONTEXT">
-<ANCHOR id ="XMLXPATHEVAL" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHEVAL">
-<ANCHOR id ="XMLXPATHFREEOBJECT" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFREEOBJECT">
-<ANCHOR id ="XMLXPATHEVALEXPRESSION" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHEVALEXPRESSION">
+<ANCHOR id ="GNOME-XML-XMLMEMORY" href="gnome-xml/gnome-xml-xmlmemory.html">
+<ANCHOR id ="NO-DEBUG-MEMORY" href="gnome-xml/gnome-xml-xmlmemory.html#NO-DEBUG-MEMORY">
+<ANCHOR id ="XMLFREE" href="gnome-xml/gnome-xml-xmlmemory.html#XMLFREE">
+<ANCHOR id ="XMLMALLOC" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMALLOC">
+<ANCHOR id ="XMLREALLOC" href="gnome-xml/gnome-xml-xmlmemory.html#XMLREALLOC">
+<ANCHOR id ="XMLMEMSTRDUP" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMSTRDUP">
+<ANCHOR id ="XMLINITMEMORY" href="gnome-xml/gnome-xml-xmlmemory.html#XMLINITMEMORY">
+<ANCHOR id ="XMLMEMUSED" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMUSED">
+<ANCHOR id ="XMLMEMORYDUMP" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMORYDUMP">
+<ANCHOR id ="XMLMEMDISPLAY" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMDISPLAY">
+<ANCHOR id ="DEBUG-MEMORY-LOCATION" href="gnome-xml/gnome-xml-xmlmemory.html#DEBUG-MEMORY-LOCATION">
+<ANCHOR id ="DEBUG-MEMORY" href="gnome-xml/gnome-xml-xmlmemory.html#DEBUG-MEMORY">
+<ANCHOR id ="MEM-LIST" href="gnome-xml/gnome-xml-xmlmemory.html#MEM-LIST">
+<ANCHOR id ="XMLMALLOCLOC" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMALLOCLOC">
+<ANCHOR id ="XMLREALLOCLOC" href="gnome-xml/gnome-xml-xmlmemory.html#XMLREALLOCLOC">
+<ANCHOR id ="XMLMEMSTRDUPLOC" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMSTRDUPLOC">
diff --git a/doc/html/libxml.html b/doc/html/libxml.html
index c12cb2f..d314a30 100644
--- a/doc/html/libxml.html
+++ b/doc/html/libxml.html
@@ -105,17 +105,7 @@
 NAME="LIBXML"
 >Gnome XML Library</A
 ></H1
->The parser general interfaces
-     The parser SAX interfaces
-    Manipulation the tree generated by the parser
-    Routines for handling entities
-    All the stuff defined in DTDs
-    Callbacks in case of parsing error
-    Access to the parser internal routines
-    parsing HTML and generating a tree
-    printing HTML trees
-    A on-going XPath implementation
-  </DIV
+></DIV
 ><DIV
 CLASS="NAVFOOTER"
 ><BR><BR><TABLE
diff --git a/doc/xml.html b/doc/xml.html
index edeb391..749d348 100644
--- a/doc/xml.html
+++ b/doc/xml.html
@@ -28,11 +28,11 @@
 to be automatically extracted.</p>
 
 <p>There is also a mailing-list <a
-href="xml@rufus.w3.org">xml@rufus.w3.org</a> for libxml, with an <a
+href="mailto:xml@rufus.w3.org">xml@rufus.w3.org</a> for libxml, with an <a
 href="http://rpmfind.net/veillard/XML/messages">on-line archive</a>. To
 subscribe to this majordomo based list, send a mail to <a
-href="majordomo@rufus.w3.org">majordomo@rufus.w3.org</a> with "subscribe xml"
-in the <strong>content</strong> of the message.</p>
+href="mailto:majordomo@rufus.w3.org">majordomo@rufus.w3.org</a> with
+"subscribe xml" in the <strong>content</strong> of the message.</p>
 
 <p>This library is released both under the W3C Copyright and the GNU LGP,
 basically everybody should be happy, if not, drop me a mail.</p>