Updated the docs, and configuratio/spec stuff to release is at libxml2 , daniel.
diff --git a/doc/html/gnome-xml-entities.html b/doc/html/gnome-xml-entities.html
index eb501cc..3f620f5 100644
--- a/doc/html/gnome-xml-entities.html
+++ b/doc/html/gnome-xml-entities.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN5922"
+NAME="AEN6147"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN5925"
+NAME="AEN6150"
 ></A
 ><H2
 >Synopsis</H2
@@ -138,30 +138,10 @@
 CLASS="SYNOPSIS"
 >&#13;
 
-#define     <A
-HREF="gnome-xml-entities.html#XML-INTERNAL-GENERAL-ENTITY"
->XML_INTERNAL_GENERAL_ENTITY</A
->
-#define     <A
-HREF="gnome-xml-entities.html#XML-EXTERNAL-GENERAL-PARSED-ENTITY"
->XML_EXTERNAL_GENERAL_PARSED_ENTITY</A
->
-#define     <A
-HREF="gnome-xml-entities.html#XML-EXTERNAL-GENERAL-UNPARSED-ENTITY"
->XML_EXTERNAL_GENERAL_UNPARSED_ENTITY</A
->
-#define     <A
-HREF="gnome-xml-entities.html#XML-INTERNAL-PARAMETER-ENTITY"
->XML_INTERNAL_PARAMETER_ENTITY</A
->
-#define     <A
-HREF="gnome-xml-entities.html#XML-EXTERNAL-PARAMETER-ENTITY"
->XML_EXTERNAL_PARAMETER_ENTITY</A
->
-#define     <A
-HREF="gnome-xml-entities.html#XML-INTERNAL-PREDEFINED-ENTITY"
->XML_INTERNAL_PREDEFINED_ENTITY</A
->
+enum        <A
+HREF="gnome-xml-entities.html#XMLENTITYTYPE"
+>xmlEntityType</A
+>;
 struct      <A
 HREF="gnome-xml-entities.html#XMLENTITY"
 >xmlEntity</A
@@ -182,10 +162,13 @@
 HREF="gnome-xml-entities.html#XMLENTITIESTABLEPTR"
 >xmlEntitiesTablePtr</A
 >;
-void        <A
+<A
+HREF="gnome-xml-entities.html#XMLENTITYPTR"
+>xmlEntityPtr</A
+> <A
 HREF="gnome-xml-entities.html#XMLADDDOCENTITY"
 >xmlAddDocEntity</A
->                 (<A
+>                (<A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
 >xmlDocPtr</A
 > doc,
@@ -206,10 +189,13 @@
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *content);
-void        <A
+<A
+HREF="gnome-xml-entities.html#XMLENTITYPTR"
+>xmlEntityPtr</A
+> <A
 HREF="gnome-xml-entities.html#XMLADDDTDENTITY"
 >xmlAddDtdEntity</A
->                 (<A
+>                (<A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
 >xmlDocPtr</A
 > doc,
@@ -346,9 +332,31 @@
 >xmlEntitiesTablePtr</A
 > table);
 void        <A
+HREF="gnome-xml-entities.html#XMLDUMPENTITYDECL"
+>xmlDumpEntityDecl</A
+>               (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             <A
+HREF="gnome-xml-entities.html#XMLENTITYPTR"
+>xmlEntityPtr</A
+> ent);
+void        <A
 HREF="gnome-xml-entities.html#XMLCLEANUPPREDEFINEDENTITIES"
 >xmlCleanupPredefinedEntities</A
->    (void);</PRE
+>    (void);
+int         <A
+HREF="gnome-xml-entities.html#XMLENTITYADDREFERENCE"
+>xmlEntityAddReference</A
+>           (<A
+HREF="gnome-xml-entities.html#XMLENTITYPTR"
+>xmlEntityPtr</A
+> ent,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *to);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -356,7 +364,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN5985"
+NAME="AEN6213"
 ></A
 ><H2
 >Description</H2
@@ -366,20 +374,20 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN5988"
+NAME="AEN6216"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5990"
+NAME="AEN6218"
 ></A
 ><H3
 ><A
-NAME="XML-INTERNAL-GENERAL-ENTITY"
+NAME="XMLENTITYTYPE"
 ></A
->XML_INTERNAL_GENERAL_ENTITY</H3
+>enum xmlEntityType</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -389,7 +397,14 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XML_INTERNAL_GENERAL_ENTITY		1</PRE
+>typedef enum {
+    XML_INTERNAL_GENERAL_ENTITY = 1,
+    XML_EXTERNAL_GENERAL_PARSED_ENTITY = 2,
+    XML_EXTERNAL_GENERAL_UNPARSED_ENTITY = 3,
+    XML_INTERNAL_PARAMETER_ENTITY = 4,
+    XML_EXTERNAL_PARAMETER_ENTITY = 5,
+    XML_INTERNAL_PREDEFINED_ENTITY = 6
+} xmlEntityType;</PRE
 ></TD
 ></TR
 ></TABLE
@@ -399,137 +414,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5995"
-></A
-><H3
-><A
-NAME="XML-EXTERNAL-GENERAL-PARSED-ENTITY"
-></A
->XML_EXTERNAL_GENERAL_PARSED_ENTITY</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define XML_EXTERNAL_GENERAL_PARSED_ENTITY	2</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6000"
-></A
-><H3
-><A
-NAME="XML-EXTERNAL-GENERAL-UNPARSED-ENTITY"
-></A
->XML_EXTERNAL_GENERAL_UNPARSED_ENTITY</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define XML_EXTERNAL_GENERAL_UNPARSED_ENTITY	3</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6005"
-></A
-><H3
-><A
-NAME="XML-INTERNAL-PARAMETER-ENTITY"
-></A
->XML_INTERNAL_PARAMETER_ENTITY</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define XML_INTERNAL_PARAMETER_ENTITY		4</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6010"
-></A
-><H3
-><A
-NAME="XML-EXTERNAL-PARAMETER-ENTITY"
-></A
->XML_EXTERNAL_PARAMETER_ENTITY</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define XML_EXTERNAL_PARAMETER_ENTITY		5</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6015"
-></A
-><H3
-><A
-NAME="XML-INTERNAL-PREDEFINED-ENTITY"
-></A
->XML_INTERNAL_PREDEFINED_ENTITY</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define XML_INTERNAL_PREDEFINED_ENTITY		6</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6020"
+NAME="AEN6223"
 ></A
 ><H3
 ><A
@@ -546,14 +431,32 @@
 ><PRE
 CLASS="PROGRAMLISTING"
 >struct xmlEntity {
-    int type;			/* The entity type */
-    int len;			/* The lenght of the name */
-    const xmlChar  *name;	/* Name of the entity */
-    const xmlChar  *ExternalID;	/* External identifier for PUBLIC Entity */
-    const xmlChar  *SystemID;	/* URI for a SYSTEM or PUBLIC Entity */
-    xmlChar *content;		/* The entity content or ndata if unparsed */
-    int length;			/* the content length */
-    xmlChar *orig;		/* The entity cont without ref substitution */
+#ifndef XML_WITHOUT_CORBA
+    void           *_private;	        /* for Corba, must be first ! */
+#endif
+    xmlElementType          type;       /* XML_ENTITY_DECL, must be second ! */
+    const xmlChar          *name;	/* Attribute name */
+    struct _xmlNode    *children;	/* NULL */
+    struct _xmlNode        *last;	/* NULL */
+    struct _xmlDtd       *parent;	/* -&gt; DTD */
+    struct _xmlNode        *next;	/* next sibling link  */
+    struct _xmlNode        *prev;	/* previous sibling link  */
+    struct _xmlDoc          *doc;       /* the containing document */
+
+    xmlChar                *orig;	/* content without ref substitution */
+    xmlChar             *content;	/* content or ndata if unparsed */
+    int                   length;	/* the content length */
+    xmlEntityType          etype;	/* The entity type */
+    const xmlChar    *ExternalID;	/* External identifier for PUBLIC */
+    const xmlChar      *SystemID;	/* URI for a SYSTEM or PUBLIC Entity */
+
+#ifdef WITH_EXTRA_ENT_DETECT
+    /* Referenced entities name stack */
+    xmlChar           *ent;             /* Current parsed Node */
+    int                entNr;           /* Depth of the parsing stack */
+    int                entMax;          /* Max depth of the parsing stack */
+    xmlChar *         *entTab;          /* array of nodes */
+#endif
 };</PRE
 ></TD
 ></TR
@@ -564,7 +467,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6025"
+NAME="AEN6228"
 ></A
 ><H3
 ><A
@@ -590,7 +493,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6030"
+NAME="AEN6233"
 ></A
 ><H3
 ><A
@@ -616,7 +519,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6035"
+NAME="AEN6238"
 ></A
 ><H3
 ><A
@@ -635,7 +538,7 @@
 >struct xmlEntitiesTable {
     int nb_entities;		/* number of elements stored */
     int max_entities;		/* maximum number of elements */
-    xmlEntityPtr table;	        /* the table of entities */
+    xmlEntityPtr *table;	/* the table of entities */
 };</PRE
 ></TD
 ></TR
@@ -646,7 +549,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6040"
+NAME="AEN6243"
 ></A
 ><H3
 ><A
@@ -672,7 +575,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6045"
+NAME="AEN6248"
 ></A
 ><H3
 ><A
@@ -688,7 +591,10 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        xmlAddDocEntity                 (<A
+><A
+HREF="gnome-xml-entities.html#XMLENTITYPTR"
+>xmlEntityPtr</A
+> xmlAddDocEntity                (<A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
 >xmlDocPtr</A
 > doc,
@@ -829,6 +735,21 @@
 VALIGN="TOP"
 >  the entity 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 entity or NULL in case of error</TD
+></TR
 ></TABLE
 ><P
 ></P
@@ -837,7 +758,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6085"
+NAME="AEN6293"
 ></A
 ><H3
 ><A
@@ -853,7 +774,10 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        xmlAddDtdEntity                 (<A
+><A
+HREF="gnome-xml-entities.html#XMLENTITYPTR"
+>xmlEntityPtr</A
+> xmlAddDtdEntity                (<A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
 >xmlDocPtr</A
 > doc,
@@ -878,7 +802,7 @@
 ></TR
 ></TABLE
 ><P
->Register a new entity for this document DTD.</P
+>Register a new entity for this document DTD external subset.</P
 ><P
 ></P
 ><DIV
@@ -994,6 +918,21 @@
 VALIGN="TOP"
 >  the entity 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 entity or NULL in case of error</TD
+></TR
 ></TABLE
 ><P
 ></P
@@ -1002,7 +941,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6125"
+NAME="AEN6338"
 ></A
 ><H3
 ><A
@@ -1083,7 +1022,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6146"
+NAME="AEN6359"
 ></A
 ><H3
 ><A
@@ -1187,7 +1126,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6172"
+NAME="AEN6385"
 ></A
 ><H3
 ><A
@@ -1290,7 +1229,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6198"
+NAME="AEN6411"
 ></A
 ><H3
 ><A
@@ -1393,7 +1332,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6224"
+NAME="AEN6437"
 ></A
 ><H3
 ><A
@@ -1502,7 +1441,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6252"
+NAME="AEN6465"
 ></A
 ><H3
 ><A
@@ -1610,7 +1549,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6279"
+NAME="AEN6492"
 ></A
 ><H3
 ><A
@@ -1671,7 +1610,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6295"
+NAME="AEN6508"
 ></A
 ><H3
 ><A
@@ -1752,7 +1691,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6316"
+NAME="AEN6529"
 ></A
 ><H3
 ><A
@@ -1815,7 +1754,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6332"
+NAME="AEN6545"
 ></A
 ><H3
 ><A
@@ -1899,7 +1838,91 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6353"
+NAME="AEN6566"
+></A
+><H3
+><A
+NAME="XMLDUMPENTITYDECL"
+></A
+>xmlDumpEntityDecl ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlDumpEntityDecl               (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             <A
+HREF="gnome-xml-entities.html#XMLENTITYPTR"
+>xmlEntityPtr</A
+> ent);</PRE
+></TD
+></TR
+></TABLE
+><P
+>This will dump the content of the entity table as an XML DTD definition</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
+>buf</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  An XML buffer.</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ent</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  An entity table</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6587"
 ></A
 ><H3
 ><A
@@ -1924,6 +1947,108 @@
 ><P
 ></P
 ></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6593"
+></A
+><H3
+><A
+NAME="XMLENTITYADDREFERENCE"
+></A
+>xmlEntityAddReference ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlEntityAddReference           (<A
+HREF="gnome-xml-entities.html#XMLENTITYPTR"
+>xmlEntityPtr</A
+> ent,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *to);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Function to register reuse of an existing entity from a (new) one
+Used to keep track of references and detect cycles (well formedness 
+errors !).</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
+>ent</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an existing entity</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>to</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the entity name it's referencing</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> 0 if Okay, -1 in case of general error, 1 in case of loop 
+detection.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
 ></DIV
 ><DIV
 CLASS="NAVFOOTER"