Updated the docs, and configuratio/spec stuff to release is at libxml2 , daniel.
diff --git a/ChangeLog b/ChangeLog
index 6a9f277..3419785 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Mar 14 20:52:35 CET 2000 Daniel Veillard <Daniel.Veillard@w3.org>
+
+	* configure.in, libxml.spec.in : libxml2
+	* doc/* : updated the doc page, rebuilt the docs
+
 Tue Mar 14 19:11:29 CET 2000 Daniel Veillard <Daniel.Veillard@w3.org>
 
 	* all: tagged LIB_XML_1_X
diff --git a/configure.in b/configure.in
index 55d67a9..01e8dfd 100644
--- a/configure.in
+++ b/configure.in
@@ -15,9 +15,9 @@
 AC_SUBST(LIBXML_VERSION)
 AC_SUBST(LIBXML_VERSION_INFO)
 
-VERSION=$LIBXML_VERSION-beta
+VERSION=${LIBXML_VERSION}beta
 
-AM_INIT_AUTOMAKE(libxml, $VERSION)
+AM_INIT_AUTOMAKE(libxml2, $VERSION)
 
 AC_ARG_WITH(html-dir, [  --with-html-dir=PATH path to installed docs ])
 
diff --git a/doc/html/gnome-xml-debugxml.html b/doc/html/gnome-xml-debugxml.html
index 9769458..addee22 100644
--- a/doc/html/gnome-xml-debugxml.html
+++ b/doc/html/gnome-xml-debugxml.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN12456"
+NAME="AEN13002"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN12459"
+NAME="AEN13005"
 ></A
 ><H2
 >Synopsis</H2
@@ -304,7 +304,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN12503"
+NAME="AEN13049"
 ></A
 ><H2
 >Description</H2
@@ -314,14 +314,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN12506"
+NAME="AEN13052"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12508"
+NAME="AEN13054"
 ></A
 ><H3
 ><A
@@ -403,7 +403,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12528"
+NAME="AEN13074"
 ></A
 ><H3
 ><A
@@ -503,7 +503,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12552"
+NAME="AEN13098"
 ></A
 ><H3
 ><A
@@ -603,7 +603,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12576"
+NAME="AEN13122"
 ></A
 ><H3
 ><A
@@ -703,7 +703,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12600"
+NAME="AEN13146"
 ></A
 ><H3
 ><A
@@ -803,7 +803,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12624"
+NAME="AEN13170"
 ></A
 ><H3
 ><A
@@ -903,7 +903,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12648"
+NAME="AEN13194"
 ></A
 ><H3
 ><A
@@ -985,7 +985,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12668"
+NAME="AEN13214"
 ></A
 ><H3
 ><A
@@ -1067,7 +1067,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12688"
+NAME="AEN13234"
 ></A
 ><H3
 ><A
@@ -1149,7 +1149,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12708"
+NAME="AEN13254"
 ></A
 ><H3
 ><A
@@ -1231,7 +1231,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12728"
+NAME="AEN13274"
 ></A
 ><H3
 ><A
@@ -1304,7 +1304,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12746"
+NAME="AEN13292"
 ></A
 ><H3
 ><A
@@ -1338,7 +1338,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12751"
+NAME="AEN13297"
 ></A
 ><H3
 ><A
@@ -1364,7 +1364,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12756"
+NAME="AEN13302"
 ></A
 ><H3
 ><A
@@ -1500,7 +1500,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12789"
+NAME="AEN13335"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-encoding.html b/doc/html/gnome-xml-encoding.html
index b255976..2591484 100644
--- a/doc/html/gnome-xml-encoding.html
+++ b/doc/html/gnome-xml-encoding.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN12239"
+NAME="AEN12758"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN12242"
+NAME="AEN12761"
 ></A
 ><H2
 >Synopsis</H2
@@ -148,14 +148,14 @@
 >)     (unsigned char *out,
                                              int outlen,
                                              unsigned char *in,
-                                             int inlen);
+                                             int *inlen);
 int         (<A
 HREF="gnome-xml-encoding.html#XMLCHARENCODINGOUTPUTFUNC"
 >*xmlCharEncodingOutputFunc</A
 >)    (unsigned char *out,
                                              int outlen,
                                              unsigned char *in,
-                                             int inlen);
+                                             int *inlen);
 struct      <A
 HREF="gnome-xml-encoding.html#XMLCHARENCODINGHANDLER"
 >xmlCharEncodingHandler</A
@@ -185,7 +185,8 @@
 > <A
 HREF="gnome-xml-encoding.html#XMLDETECTCHARENCODING"
 >xmlDetectCharEncoding</A
->       (unsigned char *in);
+>       (unsigned char *in,
+                                             int len);
 <A
 HREF="gnome-xml-encoding.html#XMLCHARENCODING"
 >xmlCharEncoding</A
@@ -211,7 +212,11 @@
 HREF="gnome-xml-encoding.html#XMLFINDCHARENCODINGHANDLER"
 >xmlFindCharEncodingHandler</A
 >
-                                            (const char *name);</PRE
+                                            (const char *name);
+int         <A
+HREF="gnome-xml-encoding.html#XMLCHECKUTF8"
+>xmlCheckUTF8</A
+>                    (unsigned char *utf);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -219,7 +224,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN12263"
+NAME="AEN12783"
 ></A
 ><H2
 >Description</H2
@@ -229,14 +234,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN12266"
+NAME="AEN12786"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12268"
+NAME="AEN12788"
 ></A
 ><H3
 ><A
@@ -286,7 +291,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12273"
+NAME="AEN12793"
 ></A
 ><H3
 ><A
@@ -305,7 +310,7 @@
 >int         (*xmlCharEncodingInputFunc)     (unsigned char *out,
                                              int outlen,
                                              unsigned char *in,
-                                             int inlen);</PRE
+                                             int *inlen);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -413,7 +418,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12303"
+NAME="AEN12823"
 ></A
 ><H3
 ><A
@@ -432,7 +437,7 @@
 >int         (*xmlCharEncodingOutputFunc)    (unsigned char *out,
                                              int outlen,
                                              unsigned char *in,
-                                             int inlen);</PRE
+                                             int *inlen);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -540,7 +545,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12333"
+NAME="AEN12853"
 ></A
 ><H3
 ><A
@@ -570,7 +575,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12338"
+NAME="AEN12858"
 ></A
 ><H3
 ><A
@@ -596,7 +601,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12343"
+NAME="AEN12863"
 ></A
 ><H3
 ><A
@@ -627,7 +632,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12349"
+NAME="AEN12869"
 ></A
 ><H3
 ><A
@@ -656,7 +661,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12355"
+NAME="AEN12875"
 ></A
 ><H3
 ><A
@@ -719,7 +724,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12371"
+NAME="AEN12891"
 ></A
 ><H3
 ><A
@@ -738,7 +743,8 @@
 ><A
 HREF="gnome-xml-encoding.html#XMLCHARENCODING"
 >xmlCharEncoding</A
-> xmlDetectCharEncoding       (unsigned char *in);</PRE
+> xmlDetectCharEncoding       (unsigned char *in,
+                                             int len);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -781,6 +787,23 @@
 WIDTH="20%"
 ALIGN="RIGHT"
 VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>len</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  pointer to the length of the buffer</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
 ><I
 CLASS="EMPHASIS"
 >Returns</I
@@ -799,7 +822,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12391"
+NAME="AEN12915"
 ></A
 ><H3
 ><A
@@ -880,7 +903,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12411"
+NAME="AEN12935"
 ></A
 ><H3
 ><A
@@ -962,7 +985,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12432"
+NAME="AEN12956"
 ></A
 ><H3
 ><A
@@ -1036,6 +1059,101 @@
 ></P
 ></DIV
 ></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN12975"
+></A
+><H3
+><A
+NAME="XMLCHECKUTF8"
+></A
+>xmlCheckUTF8 ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlCheckUTF8                    (unsigned char *utf);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Checks <TT
+CLASS="PARAMETER"
+><I
+>utf</I
+></TT
+> for being valid utf-8. <TT
+CLASS="PARAMETER"
+><I
+>utf</I
+></TT
+> is assumed to be
+null-terminated. This function is not super-strict, as it will
+allow longer utf-8 sequences than necessary. Note that Java is
+capable of producing these sequences if provoked. Also note, this
+routine checks for the 4-byte maxiumum size, but does not check for
+0x10ffff maximum value.</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
+>utf</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> Pointer to putative utf-8 encoded string.</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> true if <TT
+CLASS="PARAMETER"
+><I
+>utf</I
+></TT
+> is valid.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
 ></DIV
 ><DIV
 CLASS="NAVFOOTER"
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"
diff --git a/doc/html/gnome-xml-htmlparser.html b/doc/html/gnome-xml-htmlparser.html
index 30deaaf..8e63df4 100644
--- a/doc/html/gnome-xml-htmlparser.html
+++ b/doc/html/gnome-xml-htmlparser.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN8109"
+NAME="AEN8547"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN8112"
+NAME="AEN8550"
 ></A
 ><H2
 >Synopsis</H2
@@ -354,7 +354,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN8169"
+NAME="AEN8607"
 ></A
 ><H2
 >Description</H2
@@ -364,14 +364,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN8172"
+NAME="AEN8610"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8174"
+NAME="AEN8612"
 ></A
 ><H3
 ><A
@@ -397,7 +397,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8179"
+NAME="AEN8617"
 ></A
 ><H3
 ><A
@@ -423,7 +423,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8184"
+NAME="AEN8622"
 ></A
 ><H3
 ><A
@@ -449,7 +449,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8189"
+NAME="AEN8627"
 ></A
 ><H3
 ><A
@@ -475,7 +475,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8194"
+NAME="AEN8632"
 ></A
 ><H3
 ><A
@@ -501,7 +501,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8199"
+NAME="AEN8637"
 ></A
 ><H3
 ><A
@@ -527,7 +527,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8204"
+NAME="AEN8642"
 ></A
 ><H3
 ><A
@@ -553,7 +553,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8209"
+NAME="AEN8647"
 ></A
 ><H3
 ><A
@@ -579,7 +579,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8214"
+NAME="AEN8652"
 ></A
 ><H3
 ><A
@@ -605,7 +605,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8219"
+NAME="AEN8657"
 ></A
 ><H3
 ><A
@@ -639,7 +639,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8224"
+NAME="AEN8662"
 ></A
 ><H3
 ><A
@@ -665,7 +665,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8229"
+NAME="AEN8667"
 ></A
 ><H3
 ><A
@@ -695,7 +695,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8234"
+NAME="AEN8672"
 ></A
 ><H3
 ><A
@@ -721,7 +721,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8239"
+NAME="AEN8677"
 ></A
 ><H3
 ><A
@@ -802,7 +802,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8260"
+NAME="AEN8698"
 ></A
 ><H3
 ><A
@@ -885,7 +885,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8282"
+NAME="AEN8720"
 ></A
 ><H3
 ><A
@@ -986,7 +986,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8307"
+NAME="AEN8745"
 ></A
 ><H3
 ><A
@@ -1109,7 +1109,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8337"
+NAME="AEN8775"
 ></A
 ><H3
 ><A
@@ -1214,7 +1214,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8364"
+NAME="AEN8802"
 ></A
 ><H3
 ><A
@@ -1298,7 +1298,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8386"
+NAME="AEN8824"
 ></A
 ><H3
 ><A
@@ -1365,7 +1365,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8404"
+NAME="AEN8842"
 ></A
 ><H3
 ><A
@@ -1505,7 +1505,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8438"
+NAME="AEN8876"
 ></A
 ><H3
 ><A
@@ -1604,7 +1604,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8463"
+NAME="AEN8901"
 ></A
 ><H3
 ><A
@@ -1742,7 +1742,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8496"
+NAME="AEN8934"
 ></A
 ><H3
 ><A
@@ -1839,7 +1839,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8520"
+NAME="AEN8958"
 ></A
 ><H3
 ><A
@@ -1903,7 +1903,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8536"
+NAME="AEN8974"
 ></A
 ><H3
 ><A
@@ -2090,7 +2090,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8580"
+NAME="AEN9018"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-htmltree.html b/doc/html/gnome-xml-htmltree.html
index 31731c8..f4fcbc5 100644
--- a/doc/html/gnome-xml-htmltree.html
+++ b/doc/html/gnome-xml-htmltree.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN8617"
+NAME="AEN9055"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN8620"
+NAME="AEN9058"
 ></A
 ><H2
 >Synopsis</H2
@@ -218,7 +218,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN8642"
+NAME="AEN9080"
 ></A
 ><H2
 >Description</H2
@@ -228,14 +228,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN8645"
+NAME="AEN9083"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8647"
+NAME="AEN9085"
 ></A
 ><H3
 ><A
@@ -261,7 +261,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8652"
+NAME="AEN9090"
 ></A
 ><H3
 ><A
@@ -287,7 +287,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8657"
+NAME="AEN9095"
 ></A
 ><H3
 ><A
@@ -313,7 +313,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8662"
+NAME="AEN9100"
 ></A
 ><H3
 ><A
@@ -416,7 +416,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8687"
+NAME="AEN9125"
 ></A
 ><H3
 ><A
@@ -500,7 +500,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8708"
+NAME="AEN9146"
 ></A
 ><H3
 ><A
@@ -596,7 +596,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8732"
+NAME="AEN9170"
 ></A
 ><H3
 ><A
@@ -701,7 +701,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8758"
+NAME="AEN9196"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-nanoftp.html b/doc/html/gnome-xml-nanoftp.html
index 75b293e..22822bd 100644
--- a/doc/html/gnome-xml-nanoftp.html
+++ b/doc/html/gnome-xml-nanoftp.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN9432"
+NAME="AEN9870"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN9435"
+NAME="AEN9873"
 ></A
 ><H2
 >Synopsis</H2
@@ -275,7 +275,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN9464"
+NAME="AEN9902"
 ></A
 ><H2
 >Description</H2
@@ -285,14 +285,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN9467"
+NAME="AEN9905"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9469"
+NAME="AEN9907"
 ></A
 ><H3
 ><A
@@ -551,7 +551,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9528"
+NAME="AEN9966"
 ></A
 ><H3
 ><A
@@ -645,7 +645,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9550"
+NAME="AEN9988"
 ></A
 ><H3
 ><A
@@ -675,7 +675,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9556"
+NAME="AEN9994"
 ></A
 ><H3
 ><A
@@ -701,7 +701,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9561"
+NAME="AEN9999"
 ></A
 ><H3
 ><A
@@ -761,7 +761,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9576"
+NAME="AEN10014"
 ></A
 ><H3
 ><A
@@ -821,7 +821,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9591"
+NAME="AEN10029"
 ></A
 ><H3
 ><A
@@ -899,7 +899,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9610"
+NAME="AEN10048"
 ></A
 ><H3
 ><A
@@ -959,7 +959,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9625"
+NAME="AEN10063"
 ></A
 ><H3
 ><A
@@ -1034,7 +1034,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9644"
+NAME="AEN10082"
 ></A
 ><H3
 ><A
@@ -1109,7 +1109,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9663"
+NAME="AEN10101"
 ></A
 ><H3
 ><A
@@ -1184,7 +1184,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9682"
+NAME="AEN10120"
 ></A
 ><H3
 ><A
@@ -1247,7 +1247,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9697"
+NAME="AEN10135"
 ></A
 ><H3
 ><A
@@ -1386,7 +1386,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9729"
+NAME="AEN10167"
 ></A
 ><H3
 ><A
@@ -1483,7 +1483,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9752"
+NAME="AEN10190"
 ></A
 ><H3
 ><A
@@ -1558,7 +1558,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9771"
+NAME="AEN10209"
 ></A
 ><H3
 ><A
@@ -1633,7 +1633,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9790"
+NAME="AEN10228"
 ></A
 ><H3
 ><A
@@ -1724,7 +1724,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9812"
+NAME="AEN10250"
 ></A
 ><H3
 ><A
@@ -1800,7 +1800,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9831"
+NAME="AEN10269"
 ></A
 ><H3
 ><A
@@ -1875,7 +1875,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9850"
+NAME="AEN10288"
 ></A
 ><H3
 ><A
@@ -2008,7 +2008,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9882"
+NAME="AEN10320"
 ></A
 ><H3
 ><A
@@ -2101,7 +2101,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9905"
+NAME="AEN10343"
 ></A
 ><H3
 ><A
@@ -2234,7 +2234,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9937"
+NAME="AEN10375"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-nanohttp.html b/doc/html/gnome-xml-nanohttp.html
index 64876cf..7cb66a0 100644
--- a/doc/html/gnome-xml-nanohttp.html
+++ b/doc/html/gnome-xml-nanohttp.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN9216"
+NAME="AEN9654"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN9219"
+NAME="AEN9657"
 ></A
 ><H2
 >Synopsis</H2
@@ -195,7 +195,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN9232"
+NAME="AEN9670"
 ></A
 ><H2
 >Description</H2
@@ -205,14 +205,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN9235"
+NAME="AEN9673"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9237"
+NAME="AEN9675"
 ></A
 ><H3
 ><A
@@ -241,7 +241,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9243"
+NAME="AEN9681"
 ></A
 ><H3
 ><A
@@ -267,7 +267,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9248"
+NAME="AEN9686"
 ></A
 ><H3
 ><A
@@ -330,7 +330,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9263"
+NAME="AEN9701"
 ></A
 ><H3
 ><A
@@ -444,7 +444,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9290"
+NAME="AEN9728"
 ></A
 ><H3
 ><A
@@ -583,7 +583,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9322"
+NAME="AEN9760"
 ></A
 ><H3
 ><A
@@ -663,7 +663,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9341"
+NAME="AEN9779"
 ></A
 ><H3
 ><A
@@ -738,7 +738,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9360"
+NAME="AEN9798"
 ></A
 ><H3
 ><A
@@ -861,7 +861,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9389"
+NAME="AEN9827"
 ></A
 ><H3
 ><A
@@ -955,7 +955,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9412"
+NAME="AEN9850"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-parser.html b/doc/html/gnome-xml-parser.html
index 0336fcf..c6ad817 100644
--- a/doc/html/gnome-xml-parser.html
+++ b/doc/html/gnome-xml-parser.html
@@ -224,6 +224,22 @@
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *SystemID);
+void        (<A
+HREF="gnome-xml-parser.html#EXTERNALSUBSETSAXFUNC"
+>*externalSubsetSAXFunc</A
+>)        (void *ctx,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *ExternalID,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *SystemID);
 <A
 HREF="gnome-xml-entities.html#XMLENTITYPTR"
 >xmlEntityPtr</A
@@ -512,6 +528,10 @@
 HREF="gnome-xml-parser.html#XMLSUBSTITUTEENTITIESDEFAULTVALUE"
 >xmlSubstituteEntitiesDefaultValue</A
 >;
+extern      int <A
+HREF="gnome-xml-parser.html#XMLGETWARNINGSDEFAULTVALUE"
+>xmlGetWarningsDefaultValue</A
+>;
 void        <A
 HREF="gnome-xml-parser.html#XMLCLEANUPPARSER"
 >xmlCleanupParser</A
@@ -808,6 +828,52 @@
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *SystemID);
+int         <A
+HREF="gnome-xml-parser.html#XMLPARSEBALANCEDCHUNKMEMORY"
+>xmlParseBalancedChunkMemory</A
+>     (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-parser.html#XMLSAXHANDLERPTR"
+>xmlSAXHandlerPtr</A
+> sax,
+                                             void *user_data,
+                                             int depth,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *string,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> *list);
+int         <A
+HREF="gnome-xml-parser.html#XMLPARSEEXTERNALENTITY"
+>xmlParseExternalEntity</A
+>          (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-parser.html#XMLSAXHANDLERPTR"
+>xmlSAXHandlerPtr</A
+> sax,
+                                             void *user_data,
+                                             int depth,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *URL,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *ID,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> *list);
 void        <A
 HREF="gnome-xml-parser.html#XMLDEFAULTSAXHANDLERINIT"
 >xmlDefaultSAXHandlerInit</A
@@ -971,7 +1037,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN248"
+NAME="AEN264"
 ></A
 ><H2
 >Description</H2
@@ -981,14 +1047,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN251"
+NAME="AEN267"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN253"
+NAME="AEN269"
 ></A
 ><H3
 ><A
@@ -1014,7 +1080,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN258"
+NAME="AEN274"
 ></A
 ><H3
 ><A
@@ -1075,7 +1141,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN273"
+NAME="AEN289"
 ></A
 ><H3
 ><A
@@ -1104,6 +1170,9 @@
     int col;                          /* Current column */
     int consumed;                     /* How many xmlChars already consumed */
     xmlParserInputDeallocate free;    /* function to deallocate the base */
+    const xmlChar *encoding;          /* the encoding string for entity */
+    const xmlChar *version;           /* the version string for entity */
+    int standalone;                   /* Was that entity marked standalone */
 };</PRE
 ></TD
 ></TR
@@ -1114,7 +1183,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN278"
+NAME="AEN294"
 ></A
 ><H3
 ><A
@@ -1140,7 +1209,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN283"
+NAME="AEN299"
 ></A
 ><H3
 ><A
@@ -1173,7 +1242,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN288"
+NAME="AEN304"
 ></A
 ><H3
 ><A
@@ -1199,7 +1268,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN293"
+NAME="AEN309"
 ></A
 ><H3
 ><A
@@ -1229,7 +1298,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN298"
+NAME="AEN314"
 ></A
 ><H3
 ><A
@@ -1255,7 +1324,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN303"
+NAME="AEN319"
 ></A
 ><H3
 ><A
@@ -1286,6 +1355,7 @@
     XML_PARSER_ENTITY_DECL,	/* within an entity declaration */
     XML_PARSER_ENTITY_VALUE,	/* within an entity value in a decl */
     XML_PARSER_ATTRIBUTE_VALUE,	/* within an attribute value */
+    XML_PARSER_SYSTEM_LITERAL,	/* within a SYSTEM value */
     XML_PARSER_EPILOG 		/* the Misc* after the last end tag */
 } xmlParserInputState;</PRE
 ></TD
@@ -1297,7 +1367,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN308"
+NAME="AEN324"
 ></A
 ><H3
 ><A
@@ -1354,7 +1424,7 @@
 
     char           *directory;        /* the data directory */
 
-    /* Node name stack only used for HTML parsing */
+    /* Node name stack */
     xmlChar           *name;          /* Current parsed Node */
     int                nameNr;        /* Depth of the parsing stack */
     int                nameMax;       /* Max depth of the parsing stack */
@@ -1363,6 +1433,20 @@
     long               nbChars;       /* number of xmlChar processed */
     long            checkIndex;       /* used by progressive parsing lookup */
     int             keepBlanks;       /* ugly but ... */
+    int             disableSAX;       /* SAX callbacks are disabled */
+    int               inSubset;       /* Parsing is in int 1/ext 2 subset */
+    xmlChar *          intSubName;    /* name of subset */
+    xmlChar *          extSubURI;     /* URI of external subset */
+    xmlChar *          extSubSystem;  /* SYSTEM ID of external subset */
+
+    /* xml:space values */
+    int *              space;         /* Should the parser preserve spaces */
+    int                spaceNr;       /* Depth of the parsing stack */
+    int                spaceMax;      /* Max depth of the parsing stack */
+    int *              spaceTab;      /* array of space infos */
+
+    int                depth;         /* to prevent entity substitution loops */
+    xmlParserInputPtr  entity;      /* used to check entities boundaries */
 };</PRE
 ></TD
 ></TR
@@ -1373,7 +1457,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN313"
+NAME="AEN329"
 ></A
 ><H3
 ><A
@@ -1399,7 +1483,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN318"
+NAME="AEN334"
 ></A
 ><H3
 ><A
@@ -1430,7 +1514,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN323"
+NAME="AEN339"
 ></A
 ><H3
 ><A
@@ -1456,7 +1540,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN328"
+NAME="AEN344"
 ></A
 ><H3
 ><A
@@ -1574,7 +1658,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN357"
+NAME="AEN373"
 ></A
 ><H3
 ><A
@@ -1695,7 +1779,128 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN386"
+NAME="AEN402"
+></A
+><H3
+><A
+NAME="EXTERNALSUBSETSAXFUNC"
+></A
+>externalSubsetSAXFunc ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        (*externalSubsetSAXFunc)        (void *ctx,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *ExternalID,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *SystemID);</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
+>ctx</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
+>name</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
+>ExternalID</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
+>SystemID</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN431"
 ></A
 ><H3
 ><A
@@ -1792,7 +1997,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN410"
+NAME="AEN455"
 ></A
 ><H3
 ><A
@@ -1889,7 +2094,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN434"
+NAME="AEN479"
 ></A
 ><H3
 ><A
@@ -2049,7 +2254,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN472"
+NAME="AEN517"
 ></A
 ><H3
 ><A
@@ -2170,7 +2375,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN501"
+NAME="AEN546"
 ></A
 ><H3
 ><A
@@ -2348,7 +2553,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN543"
+NAME="AEN588"
 ></A
 ><H3
 ><A
@@ -2466,7 +2671,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN571"
+NAME="AEN616"
 ></A
 ><H3
 ><A
@@ -2608,7 +2813,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN605"
+NAME="AEN650"
 ></A
 ><H3
 ><A
@@ -2687,7 +2892,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN624"
+NAME="AEN669"
 ></A
 ><H3
 ><A
@@ -2745,7 +2950,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN638"
+NAME="AEN683"
 ></A
 ><H3
 ><A
@@ -2803,7 +3008,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN652"
+NAME="AEN697"
 ></A
 ><H3
 ><A
@@ -2903,7 +3108,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN676"
+NAME="AEN721"
 ></A
 ><H3
 ><A
@@ -2982,7 +3187,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN695"
+NAME="AEN740"
 ></A
 ><H3
 ><A
@@ -3082,7 +3287,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN719"
+NAME="AEN764"
 ></A
 ><H3
 ><A
@@ -3161,7 +3366,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN738"
+NAME="AEN783"
 ></A
 ><H3
 ><A
@@ -3258,7 +3463,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN761"
+NAME="AEN806"
 ></A
 ><H3
 ><A
@@ -3355,7 +3560,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN784"
+NAME="AEN829"
 ></A
 ><H3
 ><A
@@ -3455,7 +3660,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN808"
+NAME="AEN853"
 ></A
 ><H3
 ><A
@@ -3534,7 +3739,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN827"
+NAME="AEN872"
 ></A
 ><H3
 ><A
@@ -3631,7 +3836,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN850"
+NAME="AEN895"
 ></A
 ><H3
 ><A
@@ -3725,7 +3930,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN872"
+NAME="AEN917"
 ></A
 ><H3
 ><A
@@ -3819,7 +4024,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN894"
+NAME="AEN939"
 ></A
 ><H3
 ><A
@@ -3913,7 +4118,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN916"
+NAME="AEN961"
 ></A
 ><H3
 ><A
@@ -3986,7 +4191,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN934"
+NAME="AEN979"
 ></A
 ><H3
 ><A
@@ -4059,7 +4264,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN952"
+NAME="AEN997"
 ></A
 ><H3
 ><A
@@ -4132,7 +4337,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN970"
+NAME="AEN1015"
 ></A
 ><H3
 ><A
@@ -4175,6 +4380,7 @@
     fatalErrorSAXFunc fatalError;
     getParameterEntitySAXFunc getParameterEntity;
     cdataBlockSAXFunc cdataBlock;
+    externalSubsetSAXFunc externalSubset;
 };</PRE
 ></TD
 ></TR
@@ -4185,7 +4391,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN975"
+NAME="AEN1020"
 ></A
 ><H3
 ><A
@@ -4211,7 +4417,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN980"
+NAME="AEN1025"
 ></A
 ><H3
 ><A
@@ -4327,7 +4533,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1008"
+NAME="AEN1053"
 ></A
 ><H3
 ><A
@@ -4353,7 +4559,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1013"
+NAME="AEN1058"
 ></A
 ><H3
 ><A
@@ -4379,7 +4585,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1018"
+NAME="AEN1063"
 ></A
 ><H3
 ><A
@@ -4405,7 +4611,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1023"
+NAME="AEN1068"
 ></A
 ><H3
 ><A
@@ -4431,7 +4637,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1028"
+NAME="AEN1073"
 ></A
 ><H3
 ><A
@@ -4457,7 +4663,33 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1033"
+NAME="AEN1078"
+></A
+><H3
+><A
+NAME="XMLGETWARNINGSDEFAULTVALUE"
+></A
+>xmlGetWarningsDefaultValue</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>extern int xmlGetWarningsDefaultValue;</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN1083"
 ></A
 ><H3
 ><A
@@ -4488,7 +4720,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1039"
+NAME="AEN1089"
 ></A
 ><H3
 ><A
@@ -4586,7 +4818,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1063"
+NAME="AEN1113"
 ></A
 ><H3
 ><A
@@ -4684,7 +4916,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1087"
+NAME="AEN1137"
 ></A
 ><H3
 ><A
@@ -4711,7 +4943,9 @@
 ></TR
 ></TABLE
 ><P
->a strdup for array of xmlChar's</P
+>a strdup for array of xmlChar's. Since they are supposed to be
+encoded in UTF-8 or an encoding with 8bit based chars, we assume
+a termination mark of '0'.</P
 ><P
 ></P
 ><DIV
@@ -4765,7 +4999,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1108"
+NAME="AEN1158"
 ></A
 ><H3
 ><A
@@ -4869,7 +5103,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1134"
+NAME="AEN1184"
 ></A
 ><H3
 ><A
@@ -4986,7 +5220,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1163"
+NAME="AEN1213"
 ></A
 ><H3
 ><A
@@ -5088,7 +5322,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1189"
+NAME="AEN1239"
 ></A
 ><H3
 ><A
@@ -5190,7 +5424,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1215"
+NAME="AEN1265"
 ></A
 ><H3
 ><A
@@ -5289,7 +5523,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1240"
+NAME="AEN1290"
 ></A
 ><H3
 ><A
@@ -5406,7 +5640,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1269"
+NAME="AEN1319"
 ></A
 ><H3
 ><A
@@ -5484,7 +5718,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1289"
+NAME="AEN1339"
 ></A
 ><H3
 ><A
@@ -5515,7 +5749,9 @@
 ></TR
 ></TABLE
 ><P
->a strcat for array of xmlChar's</P
+>a strcat for array of xmlChar's. Since they are supposed to be
+encoded in UTF-8 or an encoding with 8bit based chars, we assume
+a termination mark of '0'.</P
 ><P
 ></P
 ><DIV
@@ -5586,7 +5822,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1315"
+NAME="AEN1365"
 ></A
 ><H3
 ><A
@@ -5711,7 +5947,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1346"
+NAME="AEN1396"
 ></A
 ><H3
 ><A
@@ -5792,7 +6028,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1367"
+NAME="AEN1417"
 ></A
 ><H3
 ><A
@@ -5888,7 +6124,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1391"
+NAME="AEN1441"
 ></A
 ><H3
 ><A
@@ -5967,7 +6203,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1411"
+NAME="AEN1461"
 ></A
 ><H3
 ><A
@@ -6050,7 +6286,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1431"
+NAME="AEN1481"
 ></A
 ><H3
 ><A
@@ -6152,7 +6388,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1454"
+NAME="AEN1504"
 ></A
 ><H3
 ><A
@@ -6234,7 +6470,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1475"
+NAME="AEN1525"
 ></A
 ><H3
 ><A
@@ -6331,7 +6567,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1499"
+NAME="AEN1549"
 ></A
 ><H3
 ><A
@@ -6411,7 +6647,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1519"
+NAME="AEN1569"
 ></A
 ><H3
 ><A
@@ -6495,7 +6731,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1541"
+NAME="AEN1591"
 ></A
 ><H3
 ><A
@@ -6618,7 +6854,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1571"
+NAME="AEN1621"
 ></A
 ><H3
 ><A
@@ -6733,7 +6969,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1599"
+NAME="AEN1649"
 ></A
 ><H3
 ><A
@@ -6866,7 +7102,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1631"
+NAME="AEN1681"
 ></A
 ><H3
 ><A
@@ -7004,7 +7240,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1664"
+NAME="AEN1714"
 ></A
 ><H3
 ><A
@@ -7125,7 +7361,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1693"
+NAME="AEN1743"
 ></A
 ><H3
 ><A
@@ -7227,7 +7463,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1719"
+NAME="AEN1769"
 ></A
 ><H3
 ><A
@@ -7350,7 +7586,385 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1750"
+NAME="AEN1800"
+></A
+><H3
+><A
+NAME="XMLPARSEBALANCEDCHUNKMEMORY"
+></A
+>xmlParseBalancedChunkMemory ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlParseBalancedChunkMemory     (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-parser.html#XMLSAXHANDLERPTR"
+>xmlSAXHandlerPtr</A
+> sax,
+                                             void *user_data,
+                                             int depth,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *string,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> *list);</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
+>doc</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
+>sax</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
+>user_data</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
+>depth</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
+>string</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
+>list</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="AEN1842"
+></A
+><H3
+><A
+NAME="XMLPARSEEXTERNALENTITY"
+></A
+>xmlParseExternalEntity ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlParseExternalEntity          (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-parser.html#XMLSAXHANDLERPTR"
+>xmlSAXHandlerPtr</A
+> sax,
+                                             void *user_data,
+                                             int depth,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *URL,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *ID,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> *list);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Parse an external general entity
+An external general parsed entity is well-formed if it matches the
+production labeled extParsedEnt.</P
+><P
+>[78] extParsedEnt ::= TextDecl? content</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 the chunk pertains to</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>sax</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the SAX handler bloc (possibly NULL)</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>user_data</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  The user data returned on SAX callbacks (possibly NULL)</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>depth</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  Used for loop detection, use 0</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>URL</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the URL for the entity to load</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 System ID for the entity to load</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>list</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the return value for the set of parsed nodes</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>0 if the entity is well formed, -1 in case of args problem and
+the parser error code otherwise</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN1891"
 ></A
 ><H3
 ><A
@@ -7378,7 +7992,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1756"
+NAME="AEN1897"
 ></A
 ><H3
 ><A
@@ -7406,7 +8020,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1762"
+NAME="AEN1903"
 ></A
 ><H3
 ><A
@@ -7469,7 +8083,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1778"
+NAME="AEN1919"
 ></A
 ><H3
 ><A
@@ -7532,7 +8146,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1794"
+NAME="AEN1935"
 ></A
 ><H3
 ><A
@@ -7596,7 +8210,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1810"
+NAME="AEN1951"
 ></A
 ><H3
 ><A
@@ -7700,7 +8314,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1835"
+NAME="AEN1976"
 ></A
 ><H3
 ><A
@@ -7781,7 +8395,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1856"
+NAME="AEN1997"
 ></A
 ><H3
 ><A
@@ -7947,7 +8561,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1895"
+NAME="AEN2036"
 ></A
 ><H3
 ><A
@@ -8079,7 +8693,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1927"
+NAME="AEN2068"
 ></A
 ><H3
 ><A
@@ -8182,7 +8796,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1953"
+NAME="AEN2094"
 ></A
 ><H3
 ><A
@@ -8245,7 +8859,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1969"
+NAME="AEN2110"
 ></A
 ><H3
 ><A
@@ -8309,7 +8923,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1985"
+NAME="AEN2126"
 ></A
 ><H3
 ><A
@@ -8412,7 +9026,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2011"
+NAME="AEN2152"
 ></A
 ><H3
 ><A
@@ -8496,7 +9110,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2032"
+NAME="AEN2173"
 ></A
 ><H3
 ><A
@@ -8557,7 +9171,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2047"
+NAME="AEN2188"
 ></A
 ><H3
 ><A
@@ -8617,7 +9231,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2062"
+NAME="AEN2203"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-parserinternals.html b/doc/html/gnome-xml-parserinternals.html
index 5cc73b6..19bc64c 100644
--- a/doc/html/gnome-xml-parserinternals.html
+++ b/doc/html/gnome-xml-parserinternals.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN10228"
+NAME="AEN10666"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN10231"
+NAME="AEN10669"
 ></A
 ><H2
 >Synopsis</H2
@@ -142,18 +142,6 @@
 HREF="gnome-xml-parserinternals.html#XML-MAX-NAMELEN"
 >XML_MAX_NAMELEN</A
 >
-typedef     <A
-HREF="gnome-xml-parserinternals.html#CHARVAL"
->CHARVAL</A
->;
-#define     <A
-HREF="gnome-xml-parserinternals.html#NEXTCHARVAL"
->NEXTCHARVAL</A
->                     (p)
-#define     <A
-HREF="gnome-xml-parserinternals.html#SKIPCHARVAL"
->SKIPCHARVAL</A
->                     (p)
 #define     <A
 HREF="gnome-xml-parserinternals.html#IS-CHAR"
 >IS_CHAR</A
@@ -227,13 +215,6 @@
 >xmlCreateMemoryParserCtxt</A
 >  (char *buffer,
                                              int size);
-void        <A
-HREF="gnome-xml-parser.html#XMLFREEPARSERCTXT"
->xmlFreeParserCtxt</A
->               (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt);
 <A
 HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
 >xmlParserCtxtPtr</A
@@ -241,6 +222,24 @@
 HREF="gnome-xml-parserinternals.html#XMLNEWPARSERCTXT"
 >xmlNewParserCtxt</A
 >           (void);
+<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> <A
+HREF="gnome-xml-parserinternals.html#XMLCREATEENTITYPARSERCTXT"
+>xmlCreateEntityParserCtxt</A
+>  (const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *URL,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *ID,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *base);
 void        <A
 HREF="gnome-xml-parserinternals.html#XMLSWITCHENCODING"
 >xmlSwitchEncoding</A
@@ -253,6 +252,13 @@
 >xmlCharEncoding</A
 > enc);
 void        <A
+HREF="gnome-xml-parser.html#XMLFREEPARSERCTXT"
+>xmlFreeParserCtxt</A
+>               (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt);
+void        <A
 HREF="gnome-xml-parserinternals.html#XMLHANDLEENTITY"
 >xmlHandleEntity</A
 >                 (<A
@@ -322,7 +328,11 @@
 >*    <A
 HREF="gnome-xml-parserinternals.html#XMLSPLITQNAME"
 >xmlSplitQName</A
->                   (const <A
+>                   (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt,
+                                             const <A
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *name,
@@ -772,6 +782,13 @@
 >xmlParserCtxtPtr</A
 > ctxt);
 void        <A
+HREF="gnome-xml-parserinternals.html#XMLPARSETEXTDECL"
+>xmlParseTextDecl</A
+>                (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt);
+void        <A
 HREF="gnome-xml-parserinternals.html#XMLPARSEMISC"
 >xmlParseMisc</A
 >                    (<A
@@ -833,6 +850,33 @@
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > end3);
+<A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+>*    <A
+HREF="gnome-xml-parserinternals.html#XMLSTRINGDECODEENTITIES"
+>xmlStringDecodeEntities</A
+>         (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *str,
+                                             int what,
+                                             <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> end,
+                                             <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> end2,
+                                             <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> end3);
 int         <A
 HREF="gnome-xml-parserinternals.html#NODEPUSH"
 >nodePush</A
@@ -882,7 +926,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN10441"
+NAME="AEN10891"
 ></A
 ><H2
 >Description</H2
@@ -892,14 +936,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN10444"
+NAME="AEN10894"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10446"
+NAME="AEN10896"
 ></A
 ><H3
 ><A
@@ -925,136 +969,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10451"
-></A
-><H3
-><A
-NAME="CHARVAL"
-></A
->CHARVAL</H3
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10455"
-></A
-><H3
-><A
-NAME="NEXTCHARVAL"
-></A
->NEXTCHARVAL()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define     NEXTCHARVAL(p)</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
->p</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10469"
-></A
-><H3
-><A
-NAME="SKIPCHARVAL"
-></A
->SKIPCHARVAL()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define SKIPCHARVAL(p) (p)++;</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
->p</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10483"
+NAME="AEN10901"
 ></A
 ><H3
 ><A
@@ -1112,7 +1027,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10497"
+NAME="AEN10915"
 ></A
 ><H3
 ><A
@@ -1170,7 +1085,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10511"
+NAME="AEN10929"
 ></A
 ><H3
 ><A
@@ -1228,7 +1143,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10525"
+NAME="AEN10943"
 ></A
 ><H3
 ><A
@@ -1286,7 +1201,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10539"
+NAME="AEN10957"
 ></A
 ><H3
 ><A
@@ -1344,7 +1259,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10553"
+NAME="AEN10971"
 ></A
 ><H3
 ><A
@@ -1402,7 +1317,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10567"
+NAME="AEN10985"
 ></A
 ><H3
 ><A
@@ -1460,7 +1375,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10581"
+NAME="AEN10999"
 ></A
 ><H3
 ><A
@@ -1476,7 +1391,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define     IS_LETTER(c)</PRE
+>#define IS_LETTER(c) (IS_BASECHAR(c) || IS_IDEOGRAPHIC(c))</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1518,7 +1433,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10595"
+NAME="AEN11013"
 ></A
 ><H3
 ><A
@@ -1576,7 +1491,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10609"
+NAME="AEN11027"
 ></A
 ><H3
 ><A
@@ -1634,7 +1549,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10623"
+NAME="AEN11041"
 ></A
 ><H3
 ><A
@@ -1692,7 +1607,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10637"
+NAME="AEN11055"
 ></A
 ><H3
 ><A
@@ -1750,7 +1665,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10651"
+NAME="AEN11069"
 ></A
 ><H3
 ><A
@@ -1831,7 +1746,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10672"
+NAME="AEN11090"
 ></A
 ><H3
 ><A
@@ -1911,7 +1826,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10692"
+NAME="AEN11110"
 ></A
 ><H3
 ><A
@@ -1965,7 +1880,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an pointer to a zero terminated char array</TD
+>  a pointer to a zero terminated char array</TD
 ></TR
 ><TR
 ><TD
@@ -2007,71 +1922,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10716"
-></A
-><H3
-><A
-NAME="XMLFREEPARSERCTXT"
-></A
->xmlFreeParserCtxt ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void        xmlFreeParserCtxt               (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt);</PRE
-></TD
-></TR
-></TABLE
-><P
->Free all the memory used by a parser context. However the parsed
-document in ctxt-&gt;myDoc is not freed.</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"
->&nbsp;</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN10732"
+NAME="AEN11134"
 ></A
 ><H3
 ><A
@@ -2132,7 +1983,132 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10748"
+NAME="AEN11150"
+></A
+><H3
+><A
+NAME="XMLCREATEENTITYPARSERCTXT"
+></A
+>xmlCreateEntityParserCtxt ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> xmlCreateEntityParserCtxt  (const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *URL,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *ID,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *base);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Create a parser context for an external entity
+Automatic support for ZLIB/Compress compressed document is provided
+by default if found at compile-time.</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
+>URL</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the entity URL</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 entity PUBLIC ID</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>base</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a posible base for the target URI</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the new parser context or NULL</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11181"
 ></A
 ><H3
 ><A
@@ -2217,7 +2193,71 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10769"
+NAME="AEN11202"
+></A
+><H3
+><A
+NAME="XMLFREEPARSERCTXT"
+></A
+>xmlFreeParserCtxt ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlFreeParserCtxt               (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Free all the memory used by a parser context. However the parsed
+document in ctxt-&gt;myDoc is not freed.</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"
+>&nbsp;</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN11218"
 ></A
 ><H3
 ><A
@@ -2304,7 +2344,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10791"
+NAME="AEN11240"
 ></A
 ><H3
 ><A
@@ -2406,7 +2446,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10817"
+NAME="AEN11266"
 ></A
 ><H3
 ><A
@@ -2491,7 +2531,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10838"
+NAME="AEN11287"
 ></A
 ><H3
 ><A
@@ -2573,7 +2613,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10859"
+NAME="AEN11308"
 ></A
 ><H3
 ><A
@@ -2636,7 +2676,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10875"
+NAME="AEN11324"
 ></A
 ><H3
 ><A
@@ -2735,7 +2775,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10900"
+NAME="AEN11349"
 ></A
 ><H3
 ><A
@@ -2754,7 +2794,11 @@
 ><A
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
->*    xmlSplitQName                   (const <A
+>*    xmlSplitQName                   (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt,
+                                             const <A
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *name,
@@ -2794,6 +2838,23 @@
 ><TT
 CLASS="PARAMETER"
 ><I
+>ctxt</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
 >name</I
 ></TT
 >&nbsp;:</TD
@@ -2844,7 +2905,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10929"
+NAME="AEN11383"
 ></A
 ><H3
 ><A
@@ -2930,7 +2991,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10952"
+NAME="AEN11406"
 ></A
 ><H3
 ><A
@@ -3039,7 +3100,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10981"
+NAME="AEN11435"
 ></A
 ><H3
 ><A
@@ -3124,7 +3185,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11004"
+NAME="AEN11458"
 ></A
 ><H3
 ><A
@@ -3206,7 +3267,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11025"
+NAME="AEN11479"
 ></A
 ><H3
 ><A
@@ -3275,7 +3336,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11043"
+NAME="AEN11497"
 ></A
 ><H3
 ><A
@@ -3364,7 +3425,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11067"
+NAME="AEN11521"
 ></A
 ><H3
 ><A
@@ -3452,7 +3513,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11091"
+NAME="AEN11545"
 ></A
 ><H3
 ><A
@@ -3537,7 +3598,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11114"
+NAME="AEN11568"
 ></A
 ><H3
 ><A
@@ -3642,7 +3703,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11141"
+NAME="AEN11595"
 ></A
 ><H3
 ><A
@@ -3780,7 +3841,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11175"
+NAME="AEN11629"
 ></A
 ><H3
 ><A
@@ -3863,7 +3924,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11197"
+NAME="AEN11651"
 ></A
 ><H3
 ><A
@@ -3946,7 +4007,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11219"
+NAME="AEN11673"
 ></A
 ><H3
 ><A
@@ -3974,6 +4035,11 @@
 >parse a CharData section.
 if we are within a CDATA section ']]&gt;' marks an end of section.</P
 ><P
+>The right angle bracket (&gt;) may be represented using the string "&amp;gt;",
+and must, for compatibility, be escaped using "&amp;gt;" or a character
+reference when it appears in the string "]]&gt;" in content, when that
+string is not marking the end of a CDATA section. </P
+><P
 >[14] CharData ::= [^&lt;&amp;]* - ([^&lt;&amp;]* ']]&gt;' [^&lt;&amp;]*)</P
 ><P
 ></P
@@ -4030,7 +4096,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11240"
+NAME="AEN11695"
 ></A
 ><H3
 ><A
@@ -4161,7 +4227,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11273"
+NAME="AEN11728"
 ></A
 ><H3
 ><A
@@ -4228,7 +4294,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11290"
+NAME="AEN11745"
 ></A
 ><H3
 ><A
@@ -4311,7 +4377,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11312"
+NAME="AEN11767"
 ></A
 ><H3
 ><A
@@ -4378,7 +4444,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11330"
+NAME="AEN11785"
 ></A
 ><H3
 ><A
@@ -4453,7 +4519,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11350"
+NAME="AEN11805"
 ></A
 ><H3
 ><A
@@ -4531,7 +4597,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11373"
+NAME="AEN11828"
 ></A
 ><H3
 ><A
@@ -4670,7 +4736,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11410"
+NAME="AEN11865"
 ></A
 ><H3
 ><A
@@ -4759,7 +4825,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11434"
+NAME="AEN11889"
 ></A
 ><H3
 ><A
@@ -4846,7 +4912,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11457"
+NAME="AEN11912"
 ></A
 ><H3
 ><A
@@ -4949,7 +5015,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11484"
+NAME="AEN11939"
 ></A
 ><H3
 ><A
@@ -5093,7 +5159,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11522"
+NAME="AEN11977"
 ></A
 ><H3
 ><A
@@ -5160,7 +5226,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11540"
+NAME="AEN11995"
 ></A
 ><H3
 ><A
@@ -5258,7 +5324,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11566"
+NAME="AEN12021"
 ></A
 ><H3
 ><A
@@ -5361,7 +5427,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11592"
+NAME="AEN12047"
 ></A
 ><H3
 ><A
@@ -5484,7 +5550,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11623"
+NAME="AEN12078"
 ></A
 ><H3
 ><A
@@ -5567,7 +5633,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11645"
+NAME="AEN12100"
 ></A
 ><H3
 ><A
@@ -5646,7 +5712,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11664"
+NAME="AEN12119"
 ></A
 ><H3
 ><A
@@ -5734,7 +5800,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11687"
+NAME="AEN12142"
 ></A
 ><H3
 ><A
@@ -5835,7 +5901,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11711"
+NAME="AEN12166"
 ></A
 ><H3
 ><A
@@ -5909,7 +5975,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11730"
+NAME="AEN12185"
 ></A
 ><H3
 ><A
@@ -5995,7 +6061,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11751"
+NAME="AEN12206"
 ></A
 ><H3
 ><A
@@ -6065,7 +6131,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11769"
+NAME="AEN12224"
 ></A
 ><H3
 ><A
@@ -6190,7 +6256,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11803"
+NAME="AEN12258"
 ></A
 ><H3
 ><A
@@ -6292,7 +6358,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11832"
+NAME="AEN12287"
 ></A
 ><H3
 ><A
@@ -6361,7 +6427,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11851"
+NAME="AEN12306"
 ></A
 ><H3
 ><A
@@ -6432,7 +6498,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11871"
+NAME="AEN12326"
 ></A
 ><H3
 ><A
@@ -6497,7 +6563,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11888"
+NAME="AEN12343"
 ></A
 ><H3
 ><A
@@ -6579,7 +6645,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11907"
+NAME="AEN12362"
 ></A
 ><H3
 ><A
@@ -6662,7 +6728,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11929"
+NAME="AEN12384"
 ></A
 ><H3
 ><A
@@ -6747,7 +6813,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11952"
+NAME="AEN12407"
 ></A
 ><H3
 ><A
@@ -6830,7 +6896,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11974"
+NAME="AEN12429"
 ></A
 ><H3
 ><A
@@ -6915,7 +6981,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11997"
+NAME="AEN12452"
 ></A
 ><H3
 ><A
@@ -7010,7 +7076,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12019"
+NAME="AEN12474"
 ></A
 ><H3
 ><A
@@ -7075,7 +7141,74 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12036"
+NAME="AEN12491"
+></A
+><H3
+><A
+NAME="XMLPARSETEXTDECL"
+></A
+>xmlParseTextDecl ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlParseTextDecl                (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt);</PRE
+></TD
+></TR
+></TABLE
+><P
+>parse an XML declaration header for external entities</P
+><P
+>[77] TextDecl ::= '&lt;?xml' VersionInfo? EncodingDecl S? '?&gt;'</P
+><P
+>Question: Seems that EncodingDecl is mandatory ? Is that a typo ?</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"
+>  an XML parser context</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN12509"
 ></A
 ><H3
 ><A
@@ -7140,7 +7273,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12053"
+NAME="AEN12526"
 ></A
 ><H3
 ><A
@@ -7249,7 +7382,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12081"
+NAME="AEN12554"
 ></A
 ><H3
 ><A
@@ -7275,7 +7408,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12086"
+NAME="AEN12559"
 ></A
 ><H3
 ><A
@@ -7301,7 +7434,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12091"
+NAME="AEN12564"
 ></A
 ><H3
 ><A
@@ -7327,7 +7460,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12096"
+NAME="AEN12569"
 ></A
 ><H3
 ><A
@@ -7353,7 +7486,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12101"
+NAME="AEN12574"
 ></A
 ><H3
 ><A
@@ -7536,7 +7669,193 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12146"
+NAME="AEN12619"
+></A
+><H3
+><A
+NAME="XMLSTRINGDECODEENTITIES"
+></A
+>xmlStringDecodeEntities ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+>*    xmlStringDecodeEntities         (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *str,
+                                             int what,
+                                             <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> end,
+                                             <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> end2,
+                                             <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> end3);</PRE
+></TD
+></TR
+></TABLE
+><P
+>[67] Reference ::= EntityRef | CharRef</P
+><P
+>[69] PEReference ::= '%' Name ';'</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 parser context</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>str</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the input string</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>what</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>end</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an end marker xmlChar, 0 if none</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>end2</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an end marker xmlChar, 0 if none</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>end3</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  an end marker xmlChar, 0 if none</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>A newly allocated string with the substitution done. The caller
+must deallocate it !</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN12665"
 ></A
 ><H3
 ><A
@@ -7633,7 +7952,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12170"
+NAME="AEN12689"
 ></A
 ><H3
 ><A
@@ -7712,7 +8031,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12190"
+NAME="AEN12709"
 ></A
 ><H3
 ><A
@@ -7809,7 +8128,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12214"
+NAME="AEN12733"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-sax.html b/doc/html/gnome-xml-sax.html
index 533e539..983b055 100644
--- a/doc/html/gnome-xml-sax.html
+++ b/doc/html/gnome-xml-sax.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2095"
+NAME="AEN2236"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2098"
+NAME="AEN2239"
 ></A
 ><H2
 >Synopsis</H2
@@ -486,7 +486,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2186"
+NAME="AEN2327"
 ></A
 ><H2
 >Description</H2
@@ -496,14 +496,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2189"
+NAME="AEN2330"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2191"
+NAME="AEN2332"
 ></A
 ><H3
 ><A
@@ -529,7 +529,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2196"
+NAME="AEN2337"
 ></A
 ><H3
 ><A
@@ -607,7 +607,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2216"
+NAME="AEN2357"
 ></A
 ><H3
 ><A
@@ -686,7 +686,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2236"
+NAME="AEN2377"
 ></A
 ><H3
 ><A
@@ -768,7 +768,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2256"
+NAME="AEN2397"
 ></A
 ><H3
 ><A
@@ -843,7 +843,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2275"
+NAME="AEN2416"
 ></A
 ><H3
 ><A
@@ -918,7 +918,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2294"
+NAME="AEN2435"
 ></A
 ><H3
 ><A
@@ -993,7 +993,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2313"
+NAME="AEN2454"
 ></A
 ><H3
 ><A
@@ -1068,7 +1068,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2332"
+NAME="AEN2473"
 ></A
 ><H3
 ><A
@@ -1143,7 +1143,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2351"
+NAME="AEN2492"
 ></A
 ><H3
 ><A
@@ -1266,7 +1266,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2381"
+NAME="AEN2522"
 ></A
 ><H3
 ><A
@@ -1365,7 +1365,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2406"
+NAME="AEN2547"
 ></A
 ><H3
 ><A
@@ -1464,7 +1464,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2431"
+NAME="AEN2572"
 ></A
 ><H3
 ><A
@@ -1594,7 +1594,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2463"
+NAME="AEN2604"
 ></A
 ><H3
 ><A
@@ -1756,7 +1756,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2502"
+NAME="AEN2643"
 ></A
 ><H3
 ><A
@@ -1858,7 +1858,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute name </TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1936,7 +1936,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2545"
+NAME="AEN2686"
 ></A
 ><H3
 ><A
@@ -2056,7 +2056,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2574"
+NAME="AEN2715"
 ></A
 ><H3
 ><A
@@ -2179,7 +2179,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2604"
+NAME="AEN2745"
 ></A
 ><H3
 ><A
@@ -2323,7 +2323,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2639"
+NAME="AEN2780"
 ></A
 ><H3
 ><A
@@ -2383,7 +2383,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2654"
+NAME="AEN2795"
 ></A
 ><H3
 ><A
@@ -2443,7 +2443,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2669"
+NAME="AEN2810"
 ></A
 ><H3
 ><A
@@ -2548,7 +2548,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2694"
+NAME="AEN2835"
 ></A
 ><H3
 ><A
@@ -2650,7 +2650,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2719"
+NAME="AEN2860"
 ></A
 ><H3
 ><A
@@ -2731,7 +2731,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2739"
+NAME="AEN2880"
 ></A
 ><H3
 ><A
@@ -2812,7 +2812,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2759"
+NAME="AEN2900"
 ></A
 ><H3
 ><A
@@ -2912,7 +2912,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2783"
+NAME="AEN2924"
 ></A
 ><H3
 ><A
@@ -3012,7 +3012,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2807"
+NAME="AEN2948"
 ></A
 ><H3
 ><A
@@ -3114,7 +3114,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2832"
+NAME="AEN2973"
 ></A
 ><H3
 ><A
@@ -3216,7 +3216,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2857"
+NAME="AEN2998"
 ></A
 ><H3
 ><A
@@ -3297,7 +3297,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2877"
+NAME="AEN3018"
 ></A
 ><H3
 ><A
@@ -3375,7 +3375,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2897"
+NAME="AEN3038"
 ></A
 ><H3
 ><A
@@ -3472,7 +3472,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2921"
+NAME="AEN3062"
 ></A
 ><H3
 ><A
@@ -3574,7 +3574,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2946"
+NAME="AEN3087"
 ></A
 ><H3
 ><A
@@ -3655,7 +3655,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2966"
+NAME="AEN3107"
 ></A
 ><H3
 ><A
@@ -3754,7 +3754,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2990"
+NAME="AEN3131"
 ></A
 ><H3
 ><A
@@ -3782,7 +3782,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2996"
+NAME="AEN3137"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-tree.html b/doc/html/gnome-xml-tree.html
index bd5d08f..e46c3a7 100644
--- a/doc/html/gnome-xml-tree.html
+++ b/doc/html/gnome-xml-tree.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3007"
+NAME="AEN3148"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3010"
+NAME="AEN3151"
 ></A
 ><H2
 >Synopsis</H2
@@ -863,6 +863,20 @@
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 >  <A
+HREF="gnome-xml-tree.html#XMLNEWCHARREF"
+>xmlNewCharRef</A
+>                   (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name);
+<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+>  <A
 HREF="gnome-xml-tree.html#XMLNEWREFERENCE"
 >xmlNewReference</A
 >                 (<A
@@ -1339,6 +1353,13 @@
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *lang);
+int         <A
+HREF="gnome-xml-tree.html#XMLNODEGETSPACEPRESERVE"
+>xmlNodeGetSpacePreserve</A
+>         (<A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> cur);
 <A
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
@@ -1390,6 +1411,17 @@
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *string);
+int         <A
+HREF="gnome-xml-tree.html#XMLRECONCILIATENS"
+>xmlReconciliateNs</A
+>               (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> tree);
 void        <A
 HREF="gnome-xml-tree.html#XMLDOCDUMPMEMORY"
 >xmlDocDumpMemory</A
@@ -1466,7 +1498,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3376"
+NAME="AEN3526"
 ></A
 ><H2
 >Description</H2
@@ -1476,14 +1508,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3379"
+NAME="AEN3529"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3381"
+NAME="AEN3531"
 ></A
 ><H3
 ><A
@@ -1512,7 +1544,11 @@
     XML_DOCUMENT_TYPE_NODE=	10,
     XML_DOCUMENT_FRAG_NODE=	11,
     XML_NOTATION_NODE=		12,
-    XML_HTML_DOCUMENT_NODE=	13
+    XML_HTML_DOCUMENT_NODE=	13,
+    XML_DTD_NODE=		14,
+    XML_ELEMENT_DECL=		15,
+    XML_ATTRIBUTE_DECL=		16,
+    XML_ENTITY_DECL=		17
 } xmlElementType;</PRE
 ></TD
 ></TR
@@ -1523,20 +1559,33 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3386"
+NAME="AEN3536"
 ></A
 ><H3
 ><A
 NAME="XMLCHAR"
 ></A
 >xmlChar</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>typedef unsigned char xmlChar;</PRE
+></TD
+></TR
+></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3390"
+NAME="AEN3541"
 ></A
 ><H3
 ><A
@@ -1562,7 +1611,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3395"
+NAME="AEN3546"
 ></A
 ><H3
 ><A
@@ -1588,7 +1637,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3400"
+NAME="AEN3551"
 ></A
 ><H3
 ><A
@@ -1618,7 +1667,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3405"
+NAME="AEN3556"
 ></A
 ><H3
 ><A
@@ -1644,7 +1693,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3410"
+NAME="AEN3561"
 ></A
 ><H3
 ><A
@@ -1681,7 +1730,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3415"
+NAME="AEN3566"
 ></A
 ><H3
 ><A
@@ -1712,7 +1761,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3420"
+NAME="AEN3571"
 ></A
 ><H3
 ><A
@@ -1741,7 +1790,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3425"
+NAME="AEN3576"
 ></A
 ><H3
 ><A
@@ -1767,7 +1816,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3430"
+NAME="AEN3581"
 ></A
 ><H3
 ><A
@@ -1784,14 +1833,25 @@
 ><PRE
 CLASS="PROGRAMLISTING"
 >struct xmlAttribute {
-    const xmlChar         *elem;	/* Element holding the attribute */
-    const xmlChar         *name;	/* Attribute name */
-    struct _xmlAttribute   *next;       /* list of attributes of an element */
-    xmlAttributeType       type;	/* The type */
-    xmlAttributeDefault    def;		/* the default */
-    const xmlChar         *defaultValue;/* or the default value */
-    xmlEnumerationPtr      tree;        /* or the enumeration tree if any */
-    const xmlChar         *prefix;      /* the namespace prefix if any */
+#ifndef XML_WITHOUT_CORBA
+    void           *_private;	        /* for Corba, must be first ! */
+#endif
+    xmlElementType          type;       /* XML_ATTRIBUTE_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 */
+
+    struct _xmlAttribute  *nexth;	/* next in hash table */
+    xmlAttributeType       atype;	/* The attribute type */
+    xmlAttributeDefault      def;	/* the default */
+    const xmlChar  *defaultValue;	/* or the default value */
+    xmlEnumerationPtr       tree;       /* or the enumeration tree if any */
+    const xmlChar        *prefix;	/* the namespace prefix if any */
+    const xmlChar          *elem;	/* Element holding the attribute */
 };</PRE
 ></TD
 ></TR
@@ -1802,7 +1862,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3435"
+NAME="AEN3586"
 ></A
 ><H3
 ><A
@@ -1828,7 +1888,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3440"
+NAME="AEN3591"
 ></A
 ><H3
 ><A
@@ -1859,7 +1919,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3445"
+NAME="AEN3596"
 ></A
 ><H3
 ><A
@@ -1890,7 +1950,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3450"
+NAME="AEN3601"
 ></A
 ><H3
 ><A
@@ -1922,7 +1982,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3455"
+NAME="AEN3606"
 ></A
 ><H3
 ><A
@@ -1948,7 +2008,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3460"
+NAME="AEN3611"
 ></A
 ><H3
 ><A
@@ -1979,7 +2039,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3465"
+NAME="AEN3616"
 ></A
 ><H3
 ><A
@@ -1996,8 +2056,19 @@
 ><PRE
 CLASS="PROGRAMLISTING"
 >struct xmlElement {
+#ifndef XML_WITHOUT_CORBA
+    void           *_private;	        /* for Corba, must be first ! */
+#endif
+    xmlElementType          type;       /* XML_ELEMENT_DECL, must be second ! */
     const xmlChar          *name;	/* Element name */
-    xmlElementTypeVal       type;	/* The type */
+    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 */
+
+    xmlElementTypeVal      etype;	/* The type */
     xmlElementContentPtr content;	/* the allowed element content */
     xmlAttributePtr   attributes;	/* List of the declared attributes */
 };</PRE
@@ -2010,7 +2081,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3470"
+NAME="AEN3621"
 ></A
 ><H3
 ><A
@@ -2036,7 +2107,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3475"
+NAME="AEN3626"
 ></A
 ><H3
 ><A
@@ -2065,7 +2136,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3480"
+NAME="AEN3631"
 ></A
 ><H3
 ><A
@@ -2096,7 +2167,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3485"
+NAME="AEN3636"
 ></A
 ><H3
 ><A
@@ -2122,7 +2193,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3490"
+NAME="AEN3641"
 ></A
 ><H3
 ><A
@@ -2139,14 +2210,25 @@
 ><PRE
 CLASS="PROGRAMLISTING"
 >struct xmlDtd {
+#ifndef XML_WITHOUT_CORBA
+    void           *_private;	/* for Corba, must be first ! */
+#endif
+    xmlElementType  type;       /* XML_DTD_NODE, must be second ! */
     const xmlChar *name;	/* Name of the DTD */
-    const xmlChar *ExternalID;	/* External identifier for PUBLIC DTD */
-    const xmlChar *SystemID;	/* URI for a SYSTEM or PUBLIC DTD */
+    struct _xmlNode *children;	/* the value of the property link */
+    struct _xmlNode *last;	/* last child link */
+    struct _xmlDoc  *parent;	/* child-&gt;parent link */
+    struct _xmlNode *next;	/* next sibling link  */
+    struct _xmlNode *prev;	/* previous sibling link  */
+    struct _xmlDoc  *doc;	/* the containing document */
+
+    /* End of common part */
     void          *notations;   /* Hash table for notations if any */
     void          *elements;    /* Hash table for elements if any */
     void          *attributes;  /* Hash table for attributes if any */
     void          *entities;    /* Hash table for entities if any */
-    /* struct xmlDtd *next;	 * next  link for this document  */
+    const xmlChar *ExternalID;	/* External identifier for PUBLIC DTD */
+    const xmlChar *SystemID;	/* URI for a SYSTEM or PUBLIC DTD */
 };</PRE
 ></TD
 ></TR
@@ -2157,7 +2239,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3495"
+NAME="AEN3646"
 ></A
 ><H3
 ><A
@@ -2183,7 +2265,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3500"
+NAME="AEN3651"
 ></A
 ><H3
 ><A
@@ -2202,14 +2284,17 @@
 >struct xmlAttr {
 #ifndef XML_WITHOUT_CORBA
     void           *_private;	/* for Corba, must be first ! */
-    void           *vepv;	/* for Corba, must be next ! */
 #endif
-    xmlElementType  type;       /* XML_ATTRIBUTE_NODE, must be third ! */
-    struct _xmlNode *node;	/* attr-&gt;node link */
-    struct _xmlAttr *next;	/* attribute list link */
+    xmlElementType   type;      /* XML_ATTRIBUTE_NODE, must be second ! */
     const xmlChar   *name;      /* the name of the property */
-    struct _xmlNode *val;       /* the value of the property */
+    struct _xmlNode *children;	/* the value of the property */
+    struct _xmlNode *last;	/* NULL */
+    struct _xmlNode *parent;	/* child-&gt;parent link */
+    struct _xmlAttr *next;	/* next sibling link  */
+    struct _xmlAttr *prev;	/* previous sibling link  */
+    struct _xmlDoc  *doc;	/* the containing document */
     xmlNs           *ns;        /* pointer to the associated namespace */
+    xmlAttributeType atype;     /* the attribute type if validating */
 };</PRE
 ></TD
 ></TR
@@ -2220,7 +2305,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3505"
+NAME="AEN3656"
 ></A
 ><H3
 ><A
@@ -2246,7 +2331,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3510"
+NAME="AEN3661"
 ></A
 ><H3
 ><A
@@ -2276,7 +2361,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3515"
+NAME="AEN3666"
 ></A
 ><H3
 ><A
@@ -2302,7 +2387,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3520"
+NAME="AEN3671"
 ></A
 ><H3
 ><A
@@ -2332,7 +2417,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3525"
+NAME="AEN3676"
 ></A
 ><H3
 ><A
@@ -2358,7 +2443,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3530"
+NAME="AEN3681"
 ></A
 ><H3
 ><A
@@ -2389,7 +2474,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3536"
+NAME="AEN3687"
 ></A
 ><H3
 ><A
@@ -2420,7 +2505,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3541"
+NAME="AEN3692"
 ></A
 ><H3
 ><A
@@ -2446,7 +2531,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3546"
+NAME="AEN3697"
 ></A
 ><H3
 ><A
@@ -2465,24 +2550,25 @@
 >struct xmlNode {
 #ifndef XML_WITHOUT_CORBA
     void           *_private;	/* for Corba, must be first ! */
-    void           *vepv;	/* for Corba, must be next ! */
 #endif
-    xmlElementType  type;	/* type number in the DTD, must be third ! */
-    struct _xmlDoc  *doc;	/* the containing document */
+    xmlElementType   type;	/* type number, must be second ! */
+    const xmlChar   *name;      /* the name of the node, or the entity */
+    struct _xmlNode *children;	/* parent-&gt;childs link */
+    struct _xmlNode *last;	/* last child link */
     struct _xmlNode *parent;	/* child-&gt;parent link */
     struct _xmlNode *next;	/* next sibling link  */
     struct _xmlNode *prev;	/* previous sibling link  */
-    struct _xmlNode *childs;	/* parent-&gt;childs link */
-    struct _xmlNode *last;	/* last child link */
-    struct _xmlAttr *properties;/* properties list */
-    const xmlChar  *name;       /* the name of the node, or the entity */
-    xmlNs          *ns;         /* pointer to the associated namespace */
-    xmlNs          *nsDef;      /* namespace definitions on this node */
+    struct _xmlDoc  *doc;	/* the containing document */
+    xmlNs           *ns;        /* pointer to the associated namespace */
 #ifndef XML_USE_BUFFER_CONTENT    
-    xmlChar        *content;    /* the content */
+    xmlChar         *content;   /* the content */
 #else
-    xmlBufferPtr   content;     /* the content in a buffer */
+    xmlBufferPtr     content;   /* the content in a buffer */
 #endif
+
+    /* End of common part */
+    struct _xmlAttr *properties;/* properties list */
+    xmlNs           *nsDef;     /* namespace definitions on this node */
 };</PRE
 ></TD
 ></TR
@@ -2493,7 +2579,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3551"
+NAME="AEN3702"
 ></A
 ><H3
 ><A
@@ -2519,7 +2605,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3556"
+NAME="AEN3707"
 ></A
 ><H3
 ><A
@@ -2538,20 +2624,27 @@
 >struct xmlDoc {
 #ifndef XML_WITHOUT_CORBA
     void           *_private;	/* for Corba, must be first ! */
-    void           *vepv;	/* for Corba, must be next ! */
 #endif
     xmlElementType  type;       /* XML_DOCUMENT_NODE, must be second ! */
     char           *name;	/* name/filename/URI of the document */
-    const xmlChar  *version;	/* the XML version string */
-    const xmlChar  *encoding;   /* encoding, if any */
+    struct _xmlNode *children;	/* the document tree */
+    struct _xmlNode *last;	/* last child link */
+    struct _xmlNode *parent;	/* child-&gt;parent link */
+    struct _xmlNode *next;	/* next sibling link  */
+    struct _xmlNode *prev;	/* previous sibling link  */
+    struct _xmlDoc  *doc;	/* autoreference to itself */
+
+    /* End of common part */
     int             compression;/* level of zlib compression */
     int             standalone; /* standalone document (no external refs) */
     struct _xmlDtd  *intSubset;	/* the document internal subset */
     struct _xmlDtd  *extSubset;	/* the document external subset */
     struct _xmlNs   *oldNs;	/* Global namespace, the old way */
-    struct _xmlNode *root;	/* the document tree */
+    const xmlChar  *version;	/* the XML version string */
+    const xmlChar  *encoding;   /* encoding, if any */
     void           *ids;        /* Hash table for ID attributes if any */
     void           *refs;       /* Hash table for IDREFs attributes if any */
+    const xmlChar  *URL;	/* The URI for that document */
 };</PRE
 ></TD
 ></TR
@@ -2562,7 +2655,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3561"
+NAME="AEN3712"
 ></A
 ><H3
 ><A
@@ -2588,7 +2681,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3566"
+NAME="AEN3717"
 ></A
 ><H3
 ><A
@@ -2614,7 +2707,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3571"
+NAME="AEN3722"
 ></A
 ><H3
 ><A
@@ -2640,7 +2733,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3576"
+NAME="AEN3727"
 ></A
 ><H3
 ><A
@@ -2666,7 +2759,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3581"
+NAME="AEN3732"
 ></A
 ><H3
 ><A
@@ -2692,7 +2785,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3586"
+NAME="AEN3737"
 ></A
 ><H3
 ><A
@@ -2718,7 +2811,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3591"
+NAME="AEN3742"
 ></A
 ><H3
 ><A
@@ -2779,7 +2872,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3607"
+NAME="AEN3758"
 ></A
 ><H3
 ><A
@@ -2860,7 +2953,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3628"
+NAME="AEN3779"
 ></A
 ><H3
 ><A
@@ -2923,7 +3016,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3644"
+NAME="AEN3795"
 ></A
 ><H3
 ><A
@@ -3022,7 +3115,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3669"
+NAME="AEN3820"
 ></A
 ><H3
 ><A
@@ -3125,7 +3218,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3694"
+NAME="AEN3845"
 ></A
 ><H3
 ><A
@@ -3209,7 +3302,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3715"
+NAME="AEN3866"
 ></A
 ><H3
 ><A
@@ -3290,7 +3383,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3735"
+NAME="AEN3886"
 ></A
 ><H3
 ><A
@@ -3386,7 +3479,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3759"
+NAME="AEN3910"
 ></A
 ><H3
 ><A
@@ -3449,7 +3542,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3775"
+NAME="AEN3926"
 ></A
 ><H3
 ><A
@@ -3530,7 +3623,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3796"
+NAME="AEN3947"
 ></A
 ><H3
 ><A
@@ -3606,7 +3699,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3815"
+NAME="AEN3966"
 ></A
 ><H3
 ><A
@@ -3688,7 +3781,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3835"
+NAME="AEN3986"
 ></A
 ><H3
 ><A
@@ -3766,7 +3859,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3855"
+NAME="AEN4006"
 ></A
 ><H3
 ><A
@@ -3910,7 +4003,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3891"
+NAME="AEN4042"
 ></A
 ><H3
 ><A
@@ -3949,7 +4042,11 @@
 ></TR
 ></TABLE
 ><P
->Creation of a new DTD.</P
+>Creation of a new DTD for the external subset. To create an
+internal subset, use <A
+HREF="gnome-xml-tree.html#XMLCREATEINTSUBSET"
+>xmlCreateIntSubset</A
+>().</P
 ><P
 ></P
 ><DIV
@@ -4054,7 +4151,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3927"
+NAME="AEN4079"
 ></A
 ><H3
 ><A
@@ -4117,7 +4214,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3943"
+NAME="AEN4095"
 ></A
 ><H3
 ><A
@@ -4242,7 +4339,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3974"
+NAME="AEN4126"
 ></A
 ><H3
 ><A
@@ -4367,7 +4464,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4005"
+NAME="AEN4157"
 ></A
 ><H3
 ><A
@@ -4430,7 +4527,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4021"
+NAME="AEN4173"
 ></A
 ><H3
 ><A
@@ -4511,7 +4608,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4042"
+NAME="AEN4194"
 ></A
 ><H3
 ><A
@@ -4575,7 +4672,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4058"
+NAME="AEN4210"
 ></A
 ><H3
 ><A
@@ -4698,7 +4795,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4089"
+NAME="AEN4241"
 ></A
 ><H3
 ><A
@@ -4821,7 +4918,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4120"
+NAME="AEN4272"
 ></A
 ><H3
 ><A
@@ -4965,7 +5062,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4156"
+NAME="AEN4308"
 ></A
 ><H3
 ><A
@@ -4989,7 +5086,7 @@
 ></TR
 ></TABLE
 ><P
->Free a property and all its siblings, all the childs are freed too.</P
+>Free a property and all its siblings, all the children are freed too.</P
 ><P
 ></P
 ><DIV
@@ -5028,7 +5125,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4172"
+NAME="AEN4324"
 ></A
 ><H3
 ><A
@@ -5091,7 +5188,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4188"
+NAME="AEN4340"
 ></A
 ><H3
 ><A
@@ -5193,7 +5290,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4214"
+NAME="AEN4366"
 ></A
 ><H3
 ><A
@@ -5295,7 +5392,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4240"
+NAME="AEN4392"
 ></A
 ><H3
 ><A
@@ -5376,7 +5473,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4261"
+NAME="AEN4413"
 ></A
 ><H3
 ><A
@@ -5476,7 +5573,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4286"
+NAME="AEN4438"
 ></A
 ><H3
 ><A
@@ -5646,7 +5743,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4327"
+NAME="AEN4479"
 ></A
 ><H3
 ><A
@@ -5801,7 +5898,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4365"
+NAME="AEN4517"
 ></A
 ><H3
 ><A
@@ -5915,7 +6012,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4393"
+NAME="AEN4545"
 ></A
 ><H3
 ><A
@@ -5959,7 +6056,7 @@
 ><I
 >parent</I
 ></TT
-> childs list.
+> children list.
 <TT
 CLASS="PARAMETER"
 ><I
@@ -6091,7 +6188,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4435"
+NAME="AEN4587"
 ></A
 ><H3
 ><A
@@ -6135,7 +6232,7 @@
 ><I
 >parent</I
 ></TT
-> childs list.
+> children list.
 <TT
 CLASS="PARAMETER"
 ><I
@@ -6252,7 +6349,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4474"
+NAME="AEN4626"
 ></A
 ><H3
 ><A
@@ -6354,7 +6451,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4500"
+NAME="AEN4652"
 ></A
 ><H3
 ><A
@@ -6435,7 +6532,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4521"
+NAME="AEN4673"
 ></A
 ><H3
 ><A
@@ -6537,7 +6634,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4547"
+NAME="AEN4699"
 ></A
 ><H3
 ><A
@@ -6658,7 +6755,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4577"
+NAME="AEN4729"
 ></A
 ><H3
 ><A
@@ -6757,7 +6854,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4602"
+NAME="AEN4754"
 ></A
 ><H3
 ><A
@@ -6859,7 +6956,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4628"
+NAME="AEN4780"
 ></A
 ><H3
 ><A
@@ -6940,7 +7037,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4649"
+NAME="AEN4801"
 ></A
 ><H3
 ><A
@@ -7060,7 +7157,109 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4679"
+NAME="AEN4831"
+></A
+><H3
+><A
+NAME="XMLNEWCHARREF"
+></A
+>xmlNewCharRef ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+>  xmlNewCharRef                   (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Creation of a new character reference 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
+>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
+>name</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the char ref string, starting with # or "&amp;# ... ;"</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="AEN4857"
 ></A
 ><H3
 ><A
@@ -7162,7 +7361,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4705"
+NAME="AEN4883"
 ></A
 ><H3
 ><A
@@ -7261,7 +7460,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4730"
+NAME="AEN4908"
 ></A
 ><H3
 ><A
@@ -7342,7 +7541,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4751"
+NAME="AEN4929"
 ></A
 ><H3
 ><A
@@ -7423,7 +7622,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4772"
+NAME="AEN4950"
 ></A
 ><H3
 ><A
@@ -7450,7 +7649,7 @@
 ></TR
 ></TABLE
 ><P
->Get the root element of the document (doc-&gt;root is a list
+>Get the root element of the document (doc-&gt;children is a list
 containing possibly comments, PIs, etc ...).</P
 ><P
 ></P
@@ -7505,7 +7704,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4793"
+NAME="AEN4971"
 ></A
 ><H3
 ><A
@@ -7586,7 +7785,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4814"
+NAME="AEN4992"
 ></A
 ><H3
 ><A
@@ -7664,7 +7863,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4834"
+NAME="AEN5012"
 ></A
 ><H3
 ><A
@@ -7742,7 +7941,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4854"
+NAME="AEN5032"
 ></A
 ><H3
 ><A
@@ -7773,7 +7972,7 @@
 ></TR
 ></TABLE
 ><P
->Set the root element of the document (doc-&gt;root is a list
+>Set the root element of the document (doc-&gt;children is a list
 containing possibly comments, PIs, etc ...).</P
 ><P
 ></P
@@ -7845,7 +8044,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4880"
+NAME="AEN5058"
 ></A
 ><H3
 ><A
@@ -7930,7 +8129,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4901"
+NAME="AEN5079"
 ></A
 ><H3
 ><A
@@ -8037,7 +8236,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4928"
+NAME="AEN5106"
 ></A
 ><H3
 ><A
@@ -8141,7 +8340,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4954"
+NAME="AEN5132"
 ></A
 ><H3
 ><A
@@ -8255,7 +8454,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4982"
+NAME="AEN5160"
 ></A
 ><H3
 ><A
@@ -8369,7 +8568,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5010"
+NAME="AEN5188"
 ></A
 ><H3
 ><A
@@ -8483,7 +8682,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5038"
+NAME="AEN5216"
 ></A
 ><H3
 ><A
@@ -8546,7 +8745,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5054"
+NAME="AEN5232"
 ></A
 ><H3
 ><A
@@ -8648,7 +8847,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5080"
+NAME="AEN5258"
 ></A
 ><H3
 ><A
@@ -8755,7 +8954,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5106"
+NAME="AEN5284"
 ></A
 ><H3
 ><A
@@ -8780,7 +8979,7 @@
 ></TABLE
 ><P
 >Free a node and all its siblings, this is a recursive behaviour, all
-the childs are freed too.</P
+the children are freed too.</P
 ><P
 ></P
 ><DIV
@@ -8819,7 +9018,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5122"
+NAME="AEN5300"
 ></A
 ><H3
 ><A
@@ -8843,7 +9042,11 @@
 ></TR
 ></TABLE
 ><P
->Free a node, this is a recursive behaviour, all the childs are freed too.</P
+>Free a node, this is a recursive behaviour, all the children are freed too.
+This doesn't unlink the child from the list, use <A
+HREF="gnome-xml-tree.html#XMLUNLINKNODE"
+>xmlUnlinkNode</A
+>() first.</P
 ><P
 ></P
 ><DIV
@@ -8882,7 +9085,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5138"
+NAME="AEN5317"
 ></A
 ><H3
 ><A
@@ -8961,7 +9164,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5158"
+NAME="AEN5337"
 ></A
 ><H3
 ><A
@@ -9092,7 +9295,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5190"
+NAME="AEN5369"
 ></A
 ><H3
 ><A
@@ -9216,7 +9419,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5221"
+NAME="AEN5400"
 ></A
 ><H3
 ><A
@@ -9320,7 +9523,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5247"
+NAME="AEN5426"
 ></A
 ><H3
 ><A
@@ -9404,7 +9607,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5268"
+NAME="AEN5447"
 ></A
 ><H3
 ><A
@@ -9485,7 +9688,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5289"
+NAME="AEN5468"
 ></A
 ><H3
 ><A
@@ -9566,7 +9769,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5310"
+NAME="AEN5489"
 ></A
 ><H3
 ><A
@@ -9689,7 +9892,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5341"
+NAME="AEN5520"
 ></A
 ><H3
 ><A
@@ -9798,7 +10001,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5368"
+NAME="AEN5547"
 ></A
 ><H3
 ><A
@@ -9929,7 +10132,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5400"
+NAME="AEN5579"
 ></A
 ><H3
 ><A
@@ -10032,7 +10235,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5426"
+NAME="AEN5605"
 ></A
 ><H3
 ><A
@@ -10153,7 +10356,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5456"
+NAME="AEN5635"
 ></A
 ><H3
 ><A
@@ -10274,7 +10477,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5486"
+NAME="AEN5665"
 ></A
 ><H3
 ><A
@@ -10358,7 +10561,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5507"
+NAME="AEN5686"
 ></A
 ><H3
 ><A
@@ -10465,7 +10668,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5533"
+NAME="AEN5712"
 ></A
 ><H3
 ><A
@@ -10549,7 +10752,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5554"
+NAME="AEN5733"
 ></A
 ><H3
 ><A
@@ -10656,7 +10859,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5580"
+NAME="AEN5759"
 ></A
 ><H3
 ><A
@@ -10741,7 +10944,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5601"
+NAME="AEN5780"
 ></A
 ><H3
 ><A
@@ -10824,7 +11027,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5622"
+NAME="AEN5801"
 ></A
 ><H3
 ><A
@@ -10909,7 +11112,86 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5643"
+NAME="AEN5822"
+></A
+><H3
+><A
+NAME="XMLNODEGETSPACEPRESERVE"
+></A
+>xmlNodeGetSpacePreserve ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlNodeGetSpacePreserve         (<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:space
+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"
+>-1 if xml:space is not inheried, 0 if "default", 1 if "preserve"</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5842"
 ></A
 ><H3
 ><A
@@ -11013,7 +11295,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5669"
+NAME="AEN5868"
 ></A
 ><H3
 ><A
@@ -11089,7 +11371,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5688"
+NAME="AEN5887"
 ></A
 ><H3
 ><A
@@ -11174,7 +11456,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5709"
+NAME="AEN5908"
 ></A
 ><H3
 ><A
@@ -11256,7 +11538,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5729"
+NAME="AEN5928"
 ></A
 ><H3
 ><A
@@ -11342,7 +11624,117 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5750"
+NAME="AEN5949"
+></A
+><H3
+><A
+NAME="XMLRECONCILIATENS"
+></A
+>xmlReconciliateNs ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlReconciliateNs               (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> tree);</PRE
+></TD
+></TR
+></TABLE
+><P
+>This function checks that all the namespaces declared within the given
+tree are properly declared. This is needed for example after Copy or Cut
+and then paste operations. The subtree may still hold pointers to
+namespace declarations outside the subtree or invalid/masked. As much
+as possible the function try tu reuse the existing namespaces found in
+the new environment. If not possible the new namespaces are redeclared
+on <TT
+CLASS="PARAMETER"
+><I
+>tree</I
+></TT
+> at the top of the given subtree.</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
+>tree</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a node defining the subtree to reconciliate</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the number of namespace declarations created or -1 in case of error.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5975"
 ></A
 ><H3
 ><A
@@ -11445,7 +11837,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5775"
+NAME="AEN6000"
 ></A
 ><H3
 ><A
@@ -11529,7 +11921,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5796"
+NAME="AEN6021"
 ></A
 ><H3
 ><A
@@ -11634,7 +12026,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5822"
+NAME="AEN6047"
 ></A
 ><H3
 ><A
@@ -11737,7 +12129,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5847"
+NAME="AEN6072"
 ></A
 ><H3
 ><A
@@ -11815,7 +12207,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5867"
+NAME="AEN6092"
 ></A
 ><H3
 ><A
@@ -11897,7 +12289,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5887"
+NAME="AEN6112"
 ></A
 ><H3
 ><A
@@ -11955,7 +12347,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5902"
+NAME="AEN6127"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-valid.html b/doc/html/gnome-xml-valid.html
index 6540bf4..5c472c2 100644
--- a/doc/html/gnome-xml-valid.html
+++ b/doc/html/gnome-xml-valid.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN6364"
+NAME="AEN6623"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN6367"
+NAME="AEN6626"
 ></A
 ><H2
 >Synopsis</H2
@@ -262,6 +262,17 @@
 >xmlNotationTablePtr</A
 > table);
 void        <A
+HREF="gnome-xml-valid.html#XMLDUMPNOTATIONDECL"
+>xmlDumpNotationDecl</A
+>             (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNOTATIONPTR"
+>xmlNotationPtr</A
+> nota);
+void        <A
 HREF="gnome-xml-valid.html#XMLDUMPNOTATIONTABLE"
 >xmlDumpNotationTable</A
 >            (<A
@@ -303,6 +314,15 @@
 HREF="gnome-xml-tree.html#XMLELEMENTCONTENTPTR"
 >xmlElementContentPtr</A
 > cur);
+void        <A
+HREF="gnome-xml-valid.html#XMLSPRINTFELEMENTCONTENT"
+>xmlSprintfElementContent</A
+>        (char *buf,
+                                             <A
+HREF="gnome-xml-tree.html#XMLELEMENTCONTENTPTR"
+>xmlElementContentPtr</A
+> content,
+                                             int glob);
 <A
 HREF="gnome-xml-tree.html#XMLELEMENTPTR"
 >xmlElementPtr</A
@@ -357,6 +377,17 @@
 HREF="gnome-xml-valid.html#XMLELEMENTTABLEPTR"
 >xmlElementTablePtr</A
 > table);
+void        <A
+HREF="gnome-xml-valid.html#XMLDUMPELEMENTDECL"
+>xmlDumpElementDecl</A
+>              (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             <A
+HREF="gnome-xml-tree.html#XMLELEMENTPTR"
+>xmlElementPtr</A
+> elem);
 <A
 HREF="gnome-xml-tree.html#XMLENUMERATIONPTR"
 >xmlEnumerationPtr</A
@@ -406,6 +437,10 @@
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *name,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *prefix,
                                              <A
 HREF="gnome-xml-tree.html#XMLATTRIBUTETYPE"
 >xmlAttributeType</A
@@ -450,6 +485,17 @@
 HREF="gnome-xml-valid.html#XMLATTRIBUTETABLEPTR"
 >xmlAttributeTablePtr</A
 > table);
+void        <A
+HREF="gnome-xml-valid.html#XMLDUMPATTRIBUTEDECL"
+>xmlDumpAttributeDecl</A
+>            (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             <A
+HREF="gnome-xml-tree.html#XMLATTRIBUTEPTR"
+>xmlAttributePtr</A
+> attr);
 <A
 HREF="gnome-xml-tree.html#XMLIDPTR"
 >xmlIDPtr</A
@@ -620,6 +666,28 @@
 HREF="gnome-xml-tree.html#XMLELEMENTPTR"
 >xmlElementPtr</A
 > elem);
+<A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+>*    <A
+HREF="gnome-xml-valid.html#XMLVALIDNORMALIZEATTRIBUTEVALUE"
+>xmlValidNormalizeAttributeValue</A
+> (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> elem,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *value);
 int         <A
 HREF="gnome-xml-valid.html#XMLVALIDATEATTRIBUTEDECL"
 >xmlValidateAttributeDecl</A
@@ -677,6 +745,17 @@
 >xmlDtdPtr</A
 > dtd);
 int         <A
+HREF="gnome-xml-valid.html#XMLVALIDATEDTDFINAL"
+>xmlValidateDtdFinal</A
+>             (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
+> ctxt,
+                                             <A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc);
+int         <A
 HREF="gnome-xml-valid.html#XMLVALIDATEDOCUMENT"
 >xmlValidateDocument</A
 >             (<A
@@ -859,7 +938,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN6563"
+NAME="AEN6843"
 ></A
 ><H2
 >Description</H2
@@ -869,14 +948,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN6566"
+NAME="AEN6846"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6568"
+NAME="AEN6848"
 ></A
 ><H3
 ><A
@@ -970,7 +1049,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6590"
+NAME="AEN6870"
 ></A
 ><H3
 ><A
@@ -1064,7 +1143,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6612"
+NAME="AEN6892"
 ></A
 ><H3
 ><A
@@ -1084,6 +1163,14 @@
     void *userData;			/* user specific data block */
     xmlValidityErrorFunc error;		/* the callback in case of errors */
     xmlValidityWarningFunc warning;	/* the callback in case of warning */
+
+    /* Node analysis stack used when validating within entities */
+    xmlNodePtr         node;          /* Current parsed Node */
+    int                nodeNr;        /* Depth of the parsing stack */
+    int                nodeMax;       /* Max depth of the parsing stack */
+    xmlNodePtr        *nodeTab;       /* array of nodes */
+
+    int              finishDtd;       /* finished validating the Dtd ? */
 };</PRE
 ></TD
 ></TR
@@ -1094,7 +1181,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6617"
+NAME="AEN6897"
 ></A
 ><H3
 ><A
@@ -1120,7 +1207,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6622"
+NAME="AEN6902"
 ></A
 ><H3
 ><A
@@ -1146,7 +1233,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6627"
+NAME="AEN6907"
 ></A
 ><H3
 ><A
@@ -1176,7 +1263,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6632"
+NAME="AEN6912"
 ></A
 ><H3
 ><A
@@ -1202,7 +1289,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6637"
+NAME="AEN6917"
 ></A
 ><H3
 ><A
@@ -1228,7 +1315,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6642"
+NAME="AEN6922"
 ></A
 ><H3
 ><A
@@ -1258,7 +1345,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6647"
+NAME="AEN6927"
 ></A
 ><H3
 ><A
@@ -1284,7 +1371,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6652"
+NAME="AEN6932"
 ></A
 ><H3
 ><A
@@ -1310,7 +1397,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6657"
+NAME="AEN6937"
 ></A
 ><H3
 ><A
@@ -1340,7 +1427,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6662"
+NAME="AEN6942"
 ></A
 ><H3
 ><A
@@ -1366,7 +1453,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6667"
+NAME="AEN6947"
 ></A
 ><H3
 ><A
@@ -1392,7 +1479,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6672"
+NAME="AEN6952"
 ></A
 ><H3
 ><A
@@ -1422,7 +1509,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6677"
+NAME="AEN6957"
 ></A
 ><H3
 ><A
@@ -1448,7 +1535,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6682"
+NAME="AEN6962"
 ></A
 ><H3
 ><A
@@ -1474,7 +1561,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6687"
+NAME="AEN6967"
 ></A
 ><H3
 ><A
@@ -1504,7 +1591,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6692"
+NAME="AEN6972"
 ></A
 ><H3
 ><A
@@ -1530,7 +1617,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6697"
+NAME="AEN6977"
 ></A
 ><H3
 ><A
@@ -1695,7 +1782,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6738"
+NAME="AEN7018"
 ></A
 ><H3
 ><A
@@ -1776,7 +1863,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6759"
+NAME="AEN7039"
 ></A
 ><H3
 ><A
@@ -1839,7 +1926,91 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6775"
+NAME="AEN7055"
+></A
+><H3
+><A
+NAME="XMLDUMPNOTATIONDECL"
+></A
+>xmlDumpNotationDecl ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlDumpNotationDecl             (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNOTATIONPTR"
+>xmlNotationPtr</A
+> nota);</PRE
+></TD
+></TR
+></TABLE
+><P
+>This will dump the content the notation declaration 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"
+>  the XML buffer output</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>nota</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  A notation declaration</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN7076"
 ></A
 ><H3
 ><A
@@ -1923,7 +2094,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6796"
+NAME="AEN7097"
 ></A
 ><H3
 ><A
@@ -2025,7 +2196,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6822"
+NAME="AEN7123"
 ></A
 ><H3
 ><A
@@ -2106,7 +2277,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6843"
+NAME="AEN7144"
 ></A
 ><H3
 ><A
@@ -2169,7 +2340,107 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6859"
+NAME="AEN7160"
+></A
+><H3
+><A
+NAME="XMLSPRINTFELEMENTCONTENT"
+></A
+>xmlSprintfElementContent ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlSprintfElementContent        (char *buf,
+                                             <A
+HREF="gnome-xml-tree.html#XMLELEMENTCONTENTPTR"
+>xmlElementContentPtr</A
+> content,
+                                             int glob);</PRE
+></TD
+></TR
+></TABLE
+><P
+>This will dump the content of the element content definition
+Intended just for the debug routine</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 output buffer</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"
+>  An element table</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>glob</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+> 1 if one must print the englobing parenthesis, 0 otherwise</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN7184"
 ></A
 ><H3
 ><A
@@ -2334,7 +2605,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6900"
+NAME="AEN7225"
 ></A
 ><H3
 ><A
@@ -2415,7 +2686,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6921"
+NAME="AEN7246"
 ></A
 ><H3
 ><A
@@ -2478,7 +2749,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6937"
+NAME="AEN7262"
 ></A
 ><H3
 ><A
@@ -2562,7 +2833,92 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6958"
+NAME="AEN7283"
+></A
+><H3
+><A
+NAME="XMLDUMPELEMENTDECL"
+></A
+>xmlDumpElementDecl ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlDumpElementDecl              (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             <A
+HREF="gnome-xml-tree.html#XMLELEMENTPTR"
+>xmlElementPtr</A
+> elem);</PRE
+></TD
+></TR
+></TABLE
+><P
+>This will dump the content of the element declaration 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"
+>  the XML buffer output</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"
+>  An element table</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN7304"
 ></A
 ><H3
 ><A
@@ -2644,7 +3000,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6979"
+NAME="AEN7325"
 ></A
 ><H3
 ><A
@@ -2707,7 +3063,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6995"
+NAME="AEN7341"
 ></A
 ><H3
 ><A
@@ -2789,7 +3145,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7016"
+NAME="AEN7362"
 ></A
 ><H3
 ><A
@@ -2824,6 +3180,10 @@
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *name,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *prefix,
                                              <A
 HREF="gnome-xml-tree.html#XMLATTRIBUTETYPE"
 >xmlAttributeType</A
@@ -2934,6 +3294,23 @@
 ><TT
 CLASS="PARAMETER"
 ><I
+>prefix</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
 >type</I
 ></TT
 >&nbsp;:</TD
@@ -3017,7 +3394,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7072"
+NAME="AEN7423"
 ></A
 ><H3
 ><A
@@ -3098,7 +3475,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7093"
+NAME="AEN7444"
 ></A
 ><H3
 ><A
@@ -3161,7 +3538,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7109"
+NAME="AEN7460"
 ></A
 ><H3
 ><A
@@ -3245,7 +3622,92 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7130"
+NAME="AEN7481"
+></A
+><H3
+><A
+NAME="XMLDUMPATTRIBUTEDECL"
+></A
+>xmlDumpAttributeDecl ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlDumpAttributeDecl            (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             <A
+HREF="gnome-xml-tree.html#XMLATTRIBUTEPTR"
+>xmlAttributePtr</A
+> attr);</PRE
+></TD
+></TR
+></TABLE
+><P
+>This will dump the content of the attribute declaration 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"
+>  the XML buffer output</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"
+>  An attribute declaration</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN7502"
 ></A
 ><H3
 ><A
@@ -3389,7 +3851,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7166"
+NAME="AEN7538"
 ></A
 ><H3
 ><A
@@ -3468,7 +3930,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7186"
+NAME="AEN7558"
 ></A
 ><H3
 ><A
@@ -3531,7 +3993,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7202"
+NAME="AEN7574"
 ></A
 ><H3
 ><A
@@ -3633,7 +4095,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7228"
+NAME="AEN7600"
 ></A
 ><H3
 ><A
@@ -3755,7 +4217,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7258"
+NAME="AEN7630"
 ></A
 ><H3
 ><A
@@ -3854,7 +4316,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7283"
+NAME="AEN7655"
 ></A
 ><H3
 ><A
@@ -3998,7 +4460,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7319"
+NAME="AEN7691"
 ></A
 ><H3
 ><A
@@ -4077,7 +4539,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7339"
+NAME="AEN7711"
 ></A
 ><H3
 ><A
@@ -4140,7 +4602,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7355"
+NAME="AEN7727"
 ></A
 ><H3
 ><A
@@ -4262,7 +4724,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7385"
+NAME="AEN7757"
 ></A
 ><H3
 ><A
@@ -4361,7 +4823,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7410"
+NAME="AEN7782"
 ></A
 ><H3
 ><A
@@ -4464,7 +4926,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7435"
+NAME="AEN7807"
 ></A
 ><H3
 ><A
@@ -4589,7 +5051,167 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7465"
+NAME="AEN7837"
+></A
+><H3
+><A
+NAME="XMLVALIDNORMALIZEATTRIBUTEVALUE"
+></A
+>xmlValidNormalizeAttributeValue ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+>*    xmlValidNormalizeAttributeValue (<A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc,
+                                             <A
+HREF="gnome-xml-tree.html#XMLNODEPTR"
+>xmlNodePtr</A
+> elem,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *name,
+                                             const <A
+HREF="gnome-xml-tree.html#XMLCHAR"
+>xmlChar</A
+> *value);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Does the validation related extra step of the normalization of attribute
+values:</P
+><P
+>If the declared value is not CDATA, then the XML processor must further
+process the normalized attribute value by discarding any leading and
+trailing space (<GTKDOCLINK
+HREF="X20"
+>x20</GTKDOCLINK
+>) characters, and by replacing sequences of space
+(<GTKDOCLINK
+HREF="X20"
+>x20</GTKDOCLINK
+>) characters by single space (<GTKDOCLINK
+HREF="X20"
+>x20</GTKDOCLINK
+>) character.</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 parent</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"
+><TT
+CLASS="PARAMETER"
+><I
+>value</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the 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"
+>a new normalized string if normalization is needed, NULL otherwise
+the caller must free the returned value.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN7877"
 ></A
 ><H3
 ><A
@@ -4716,7 +5338,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7496"
+NAME="AEN7908"
 ></A
 ><H3
 ><A
@@ -4830,7 +5452,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7525"
+NAME="AEN7937"
 ></A
 ><H3
 ><A
@@ -4954,7 +5576,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7555"
+NAME="AEN7967"
 ></A
 ><H3
 ><A
@@ -5076,7 +5698,113 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7586"
+NAME="AEN7998"
+></A
+><H3
+><A
+NAME="XMLVALIDATEDTDFINAL"
+></A
+>xmlValidateDtdFinal ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlValidateDtdFinal             (<A
+HREF="gnome-xml-valid.html#XMLVALIDCTXTPTR"
+>xmlValidCtxtPtr</A
+> ctxt,
+                                             <A
+HREF="gnome-xml-tree.html#XMLDOCPTR"
+>xmlDocPtr</A
+> doc);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Does the final step for the dtds validation once all the
+subsets have been parsed</P
+><P
+>basically it does the following checks described by the XML Rec
+- check that ENTITY and ENTITIES type attributes default or 
+possible values matches one of the defined entities.
+- check that NOTATION type attributes default or 
+possible values matches one of the defined notations.</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"
+>  a document instance</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="AEN8024"
 ></A
 ><H3
 ><A
@@ -5179,7 +5907,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7612"
+NAME="AEN8050"
 ></A
 ><H3
 ><A
@@ -5299,7 +6027,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7642"
+NAME="AEN8080"
 ></A
 ><H3
 ><A
@@ -5429,7 +6157,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7674"
+NAME="AEN8112"
 ></A
 ><H3
 ><A
@@ -5470,7 +6198,7 @@
 ></TABLE
 ><P
 >Try to validate a single attribute for an element
-basically it * does the following checks as described by the
+basically it does the following checks as described by the
 XML-1.0 recommendation:
 - [ VC: Attribute Value Type ]
 - [ VC: Fixed Attribute Default ]
@@ -5603,7 +6331,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7715"
+NAME="AEN8153"
 ></A
 ><H3
 ><A
@@ -5705,7 +6433,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7741"
+NAME="AEN8179"
 ></A
 ><H3
 ><A
@@ -5826,7 +6554,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7771"
+NAME="AEN8209"
 ></A
 ><H3
 ><A
@@ -5926,7 +6654,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7796"
+NAME="AEN8234"
 ></A
 ><H3
 ><A
@@ -6050,7 +6778,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7827"
+NAME="AEN8265"
 ></A
 ><H3
 ><A
@@ -6152,7 +6880,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7853"
+NAME="AEN8291"
 ></A
 ><H3
 ><A
@@ -6254,7 +6982,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7879"
+NAME="AEN8317"
 ></A
 ><H3
 ><A
@@ -6420,7 +7148,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7917"
+NAME="AEN8355"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-xml-error.html b/doc/html/gnome-xml-xml-error.html
index 30dcac7..c7b1c21 100644
--- a/doc/html/gnome-xml-xml-error.html
+++ b/doc/html/gnome-xml-xml-error.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN7955"
+NAME="AEN8393"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN7958"
+NAME="AEN8396"
 ></A
 ><H2
 >Synopsis</H2
@@ -187,7 +187,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7970"
+NAME="AEN8408"
 ></A
 ><H2
 >Description</H2
@@ -197,14 +197,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7973"
+NAME="AEN8411"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7975"
+NAME="AEN8413"
 ></A
 ><H3
 ><A
@@ -329,8 +329,22 @@
 
     XML_ERR_ENCODING_NAME, /* 80 */
 
-    XML_ERR_HYPHEN_IN_COMMENT /* 81 */
+    XML_ERR_HYPHEN_IN_COMMENT, /* 81 */
 
+    XML_ERR_INVALID_ENCODING, /* 82 */
+
+    XML_ERR_EXT_ENTITY_STANDALONE, /* 83 */
+
+    XML_ERR_CONDSEC_INVALID, /* 84 */
+
+    XML_ERR_VALUE_REQUIRED, /* 85 */
+
+    XML_ERR_NOT_WELL_BALANCED, /* 86 */
+    XML_ERR_EXTRA_CONTENT, /* 87 */
+    XML_ERR_ENTITY_CHAR_ERROR, /* 88 */
+    XML_ERR_ENTITY_PE_INTERNAL, /* 88 */
+    XML_ERR_ENTITY_LOOP, /* 89 */
+    XML_ERR_ENTITY_BOUNDARY /* 90 */
 }xmlParserErrors;</PRE
 ></TD
 ></TR
@@ -341,7 +355,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7980"
+NAME="AEN8418"
 ></A
 ><H3
 ><A
@@ -438,7 +452,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8003"
+NAME="AEN8441"
 ></A
 ><H3
 ><A
@@ -535,7 +549,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8026"
+NAME="AEN8464"
 ></A
 ><H3
 ><A
@@ -632,7 +646,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8049"
+NAME="AEN8487"
 ></A
 ><H3
 ><A
@@ -729,7 +743,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8072"
+NAME="AEN8510"
 ></A
 ><H3
 ><A
@@ -792,7 +806,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8088"
+NAME="AEN8526"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-xmlio.html b/doc/html/gnome-xml-xmlio.html
index 5a10568..14d4c07 100644
--- a/doc/html/gnome-xml-xmlio.html
+++ b/doc/html/gnome-xml-xmlio.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN9971"
+NAME="AEN10409"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN9974"
+NAME="AEN10412"
 ></A
 ><H2
 >Synopsis</H2
@@ -239,7 +239,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN10001"
+NAME="AEN10439"
 ></A
 ><H2
 >Description</H2
@@ -249,14 +249,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN10004"
+NAME="AEN10442"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10006"
+NAME="AEN10444"
 ></A
 ><H3
 ><A
@@ -293,7 +293,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10011"
+NAME="AEN10449"
 ></A
 ><H3
 ><A
@@ -319,7 +319,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10016"
+NAME="AEN10454"
 ></A
 ><H3
 ><A
@@ -401,7 +401,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10037"
+NAME="AEN10475"
 ></A
 ><H3
 ><A
@@ -433,7 +433,8 @@
 >Create a buffered parser input for the progressive parsing of a file
 If filename is "-' then we use stdin as the input.
 Automatic support for ZLIB/Compress compressed document is provided
-by default if found at compile-time.</P
+by default if found at compile-time.
+Do an encoding check if enc == XML_CHAR_ENCODING_NONE</P
 ><P
 ></P
 ><DIV
@@ -504,7 +505,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10062"
+NAME="AEN10500"
 ></A
 ><H3
 ><A
@@ -608,7 +609,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10088"
+NAME="AEN10526"
 ></A
 ><H3
 ><A
@@ -709,7 +710,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10113"
+NAME="AEN10551"
 ></A
 ><H3
 ><A
@@ -808,7 +809,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10137"
+NAME="AEN10575"
 ></A
 ><H3
 ><A
@@ -908,7 +909,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10161"
+NAME="AEN10599"
 ></A
 ><H3
 ><A
@@ -1025,7 +1026,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10189"
+NAME="AEN10627"
 ></A
 ><H3
 ><A
@@ -1088,7 +1089,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10205"
+NAME="AEN10643"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-xmlmemory.html b/doc/html/gnome-xml-xmlmemory.html
index ae258cd..98d075e 100644
--- a/doc/html/gnome-xml-xmlmemory.html
+++ b/doc/html/gnome-xml-xmlmemory.html
@@ -103,7 +103,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN12824"
+NAME="AEN13370"
 ></A
 ><H2
 >Name</H2
@@ -111,7 +111,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN12827"
+NAME="AEN13373"
 ></A
 ><H2
 >Synopsis</H2
@@ -212,7 +212,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN12848"
+NAME="AEN13394"
 ></A
 ><H2
 >Description</H2
@@ -222,14 +222,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN12851"
+NAME="AEN13397"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12853"
+NAME="AEN13399"
 ></A
 ><H3
 ><A
@@ -255,7 +255,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12858"
+NAME="AEN13404"
 ></A
 ><H3
 ><A
@@ -318,7 +318,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12874"
+NAME="AEN13420"
 ></A
 ><H3
 ><A
@@ -381,7 +381,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12890"
+NAME="AEN13436"
 ></A
 ><H3
 ><A
@@ -462,7 +462,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12910"
+NAME="AEN13456"
 ></A
 ><H3
 ><A
@@ -540,7 +540,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12930"
+NAME="AEN13476"
 ></A
 ><H3
 ><A
@@ -598,7 +598,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12945"
+NAME="AEN13491"
 ></A
 ><H3
 ><A
@@ -656,7 +656,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12960"
+NAME="AEN13506"
 ></A
 ><H3
 ><A
@@ -684,7 +684,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12966"
+NAME="AEN13512"
 ></A
 ><H3
 ><A
@@ -748,7 +748,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12982"
+NAME="AEN13528"
 ></A
 ><H3
 ><A
@@ -835,7 +835,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13003"
+NAME="AEN13549"
 ></A
 ><H3
 ><A
@@ -861,7 +861,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13008"
+NAME="AEN13554"
 ></A
 ><H3
 ><A
@@ -887,7 +887,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13013"
+NAME="AEN13559"
 ></A
 ><H3
 ><A
@@ -913,7 +913,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13018"
+NAME="AEN13564"
 ></A
 ><H3
 ><A
@@ -1018,7 +1018,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13043"
+NAME="AEN13589"
 ></A
 ><H3
 ><A
@@ -1135,7 +1135,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN13071"
+NAME="AEN13617"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-xpath.html b/doc/html/gnome-xml-xpath.html
index 647cf0a..ca37590 100644
--- a/doc/html/gnome-xml-xpath.html
+++ b/doc/html/gnome-xml-xpath.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN8789"
+NAME="AEN9227"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN8792"
+NAME="AEN9230"
 ></A
 ><H2
 >Synopsis</H2
@@ -347,7 +347,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN8849"
+NAME="AEN9287"
 ></A
 ><H2
 >Description</H2
@@ -357,14 +357,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN8852"
+NAME="AEN9290"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8854"
+NAME="AEN9292"
 ></A
 ><H3
 ><A
@@ -415,7 +415,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8859"
+NAME="AEN9297"
 ></A
 ><H3
 ><A
@@ -441,7 +441,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8864"
+NAME="AEN9302"
 ></A
 ><H3
 ><A
@@ -478,7 +478,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8869"
+NAME="AEN9307"
 ></A
 ><H3
 ><A
@@ -504,7 +504,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8874"
+NAME="AEN9312"
 ></A
 ><H3
 ><A
@@ -534,7 +534,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8879"
+NAME="AEN9317"
 ></A
 ><H3
 ><A
@@ -560,7 +560,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8884"
+NAME="AEN9322"
 ></A
 ><H3
 ><A
@@ -586,7 +586,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8889"
+NAME="AEN9327"
 ></A
 ><H3
 ><A
@@ -612,7 +612,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8894"
+NAME="AEN9332"
 ></A
 ><H3
 ><A
@@ -638,7 +638,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8899"
+NAME="AEN9337"
 ></A
 ><H3
 ><A
@@ -664,7 +664,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8904"
+NAME="AEN9342"
 ></A
 ><H3
 ><A
@@ -690,7 +690,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8909"
+NAME="AEN9347"
 ></A
 ><H3
 ><A
@@ -716,7 +716,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8914"
+NAME="AEN9352"
 ></A
 ><H3
 ><A
@@ -749,7 +749,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8919"
+NAME="AEN9357"
 ></A
 ><H3
 ><A
@@ -775,7 +775,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8924"
+NAME="AEN9362"
 ></A
 ><H3
 ><A
@@ -869,7 +869,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8947"
+NAME="AEN9385"
 ></A
 ><H3
 ><A
@@ -898,7 +898,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8952"
+NAME="AEN9390"
 ></A
 ><H3
 ><A
@@ -924,7 +924,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8957"
+NAME="AEN9395"
 ></A
 ><H3
 ><A
@@ -953,7 +953,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8962"
+NAME="AEN9400"
 ></A
 ><H3
 ><A
@@ -979,7 +979,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8967"
+NAME="AEN9405"
 ></A
 ><H3
 ><A
@@ -1058,7 +1058,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8986"
+NAME="AEN9424"
 ></A
 ><H3
 ><A
@@ -1087,7 +1087,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8991"
+NAME="AEN9429"
 ></A
 ><H3
 ><A
@@ -1113,7 +1113,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8996"
+NAME="AEN9434"
 ></A
 ><H3
 ><A
@@ -1213,7 +1213,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9021"
+NAME="AEN9459"
 ></A
 ><H3
 ><A
@@ -1242,7 +1242,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9026"
+NAME="AEN9464"
 ></A
 ><H3
 ><A
@@ -1268,7 +1268,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9031"
+NAME="AEN9469"
 ></A
 ><H3
 ><A
@@ -1347,7 +1347,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9050"
+NAME="AEN9488"
 ></A
 ><H3
 ><A
@@ -1428,7 +1428,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9071"
+NAME="AEN9509"
 ></A
 ><H3
 ><A
@@ -1491,7 +1491,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9087"
+NAME="AEN9525"
 ></A
 ><H3
 ><A
@@ -1594,7 +1594,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9113"
+NAME="AEN9551"
 ></A
 ><H3
 ><A
@@ -1657,7 +1657,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9129"
+NAME="AEN9567"
 ></A
 ><H3
 ><A
@@ -1760,7 +1760,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9155"
+NAME="AEN9593"
 ></A
 ><H3
 ><A
@@ -1846,7 +1846,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9177"
+NAME="AEN9615"
 ></A
 ><H3
 ><A
@@ -1918,7 +1918,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9195"
+NAME="AEN9633"
 ></A
 ><H3
 ><A
diff --git a/doc/html/index.sgml b/doc/html/index.sgml
index 65e8d9e..b462123 100644
--- a/doc/html/index.sgml
+++ b/doc/html/index.sgml
@@ -14,6 +14,7 @@
 <ANCHOR id ="XMLSAXLOCATORPTR" href="gnome-xml/gnome-xml-parser.html#XMLSAXLOCATORPTR">
 <ANCHOR id ="RESOLVEENTITYSAXFUNC" href="gnome-xml/gnome-xml-parser.html#RESOLVEENTITYSAXFUNC">
 <ANCHOR id ="INTERNALSUBSETSAXFUNC" href="gnome-xml/gnome-xml-parser.html#INTERNALSUBSETSAXFUNC">
+<ANCHOR id ="EXTERNALSUBSETSAXFUNC" href="gnome-xml/gnome-xml-parser.html#EXTERNALSUBSETSAXFUNC">
 <ANCHOR id ="GETENTITYSAXFUNC" href="gnome-xml/gnome-xml-parser.html#GETENTITYSAXFUNC">
 <ANCHOR id ="GETPARAMETERENTITYSAXFUNC" href="gnome-xml/gnome-xml-parser.html#GETPARAMETERENTITYSAXFUNC">
 <ANCHOR id ="ENTITYDECLSAXFUNC" href="gnome-xml/gnome-xml-parser.html#ENTITYDECLSAXFUNC">
@@ -47,6 +48,7 @@
 <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 ="XMLGETWARNINGSDEFAULTVALUE" href="gnome-xml/gnome-xml-parser.html#XMLGETWARNINGSDEFAULTVALUE">
 <ANCHOR id ="XMLCLEANUPPARSER" href="gnome-xml/gnome-xml-parser.html#XMLCLEANUPPARSER">
 <ANCHOR id ="XMLPARSERINPUTREAD" href="gnome-xml/gnome-xml-parser.html#XMLPARSERINPUTREAD">
 <ANCHOR id ="XMLPARSERINPUTGROW" href="gnome-xml/gnome-xml-parser.html#XMLPARSERINPUTGROW">
@@ -76,6 +78,8 @@
 <ANCHOR id ="XMLSAXPARSEFILE" href="gnome-xml/gnome-xml-parser.html#XMLSAXPARSEFILE">
 <ANCHOR id ="XMLPARSEDTD" href="gnome-xml/gnome-xml-parser.html#XMLPARSEDTD">
 <ANCHOR id ="XMLSAXPARSEDTD" href="gnome-xml/gnome-xml-parser.html#XMLSAXPARSEDTD">
+<ANCHOR id ="XMLPARSEBALANCEDCHUNKMEMORY" href="gnome-xml/gnome-xml-parser.html#XMLPARSEBALANCEDCHUNKMEMORY">
+<ANCHOR id ="XMLPARSEEXTERNALENTITY" href="gnome-xml/gnome-xml-parser.html#XMLPARSEEXTERNALENTITY">
 <ANCHOR id ="XMLDEFAULTSAXHANDLERINIT" href="gnome-xml/gnome-xml-parser.html#XMLDEFAULTSAXHANDLERINIT">
 <ANCHOR id ="HTMLDEFAULTSAXHANDLERINIT" href="gnome-xml/gnome-xml-parser.html#HTMLDEFAULTSAXHANDLERINIT">
 <ANCHOR id ="XMLINITPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLINITPARSERCTXT">
@@ -216,6 +220,7 @@
 <ANCHOR id ="XMLNEWDOCCOMMENT" href="gnome-xml/gnome-xml-tree.html#XMLNEWDOCCOMMENT">
 <ANCHOR id ="XMLNEWCOMMENT" href="gnome-xml/gnome-xml-tree.html#XMLNEWCOMMENT">
 <ANCHOR id ="XMLNEWCDATABLOCK" href="gnome-xml/gnome-xml-tree.html#XMLNEWCDATABLOCK">
+<ANCHOR id ="XMLNEWCHARREF" href="gnome-xml/gnome-xml-tree.html#XMLNEWCHARREF">
 <ANCHOR id ="XMLNEWREFERENCE" href="gnome-xml/gnome-xml-tree.html#XMLNEWREFERENCE">
 <ANCHOR id ="XMLCOPYNODE" href="gnome-xml/gnome-xml-tree.html#XMLCOPYNODE">
 <ANCHOR id ="XMLCOPYNODELIST" href="gnome-xml/gnome-xml-tree.html#XMLCOPYNODELIST">
@@ -256,11 +261,13 @@
 <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 ="XMLNODEGETSPACEPRESERVE" href="gnome-xml/gnome-xml-tree.html#XMLNODEGETSPACEPRESERVE">
 <ANCHOR id ="XMLNODEGETBASE" href="gnome-xml/gnome-xml-tree.html#XMLNODEGETBASE">
 <ANCHOR id ="XMLREMOVENODE" href="gnome-xml/gnome-xml-tree.html#XMLREMOVENODE">
 <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">
+<ANCHOR id ="XMLRECONCILIATENS" href="gnome-xml/gnome-xml-tree.html#XMLRECONCILIATENS">
 <ANCHOR id ="XMLDOCDUMPMEMORY" href="gnome-xml/gnome-xml-tree.html#XMLDOCDUMPMEMORY">
 <ANCHOR id ="XMLDOCDUMP" href="gnome-xml/gnome-xml-tree.html#XMLDOCDUMP">
 <ANCHOR id ="XMLELEMDUMP" href="gnome-xml/gnome-xml-tree.html#XMLELEMDUMP">
@@ -270,12 +277,7 @@
 <ANCHOR id ="XMLGETCOMPRESSMODE" href="gnome-xml/gnome-xml-tree.html#XMLGETCOMPRESSMODE">
 <ANCHOR id ="XMLSETCOMPRESSMODE" href="gnome-xml/gnome-xml-tree.html#XMLSETCOMPRESSMODE">
 <ANCHOR id ="GNOME-XML-ENTITIES" href="gnome-xml/gnome-xml-entities.html">
-<ANCHOR id ="XML-INTERNAL-GENERAL-ENTITY" href="gnome-xml/gnome-xml-entities.html#XML-INTERNAL-GENERAL-ENTITY">
-<ANCHOR id ="XML-EXTERNAL-GENERAL-PARSED-ENTITY" href="gnome-xml/gnome-xml-entities.html#XML-EXTERNAL-GENERAL-PARSED-ENTITY">
-<ANCHOR id ="XML-EXTERNAL-GENERAL-UNPARSED-ENTITY" href="gnome-xml/gnome-xml-entities.html#XML-EXTERNAL-GENERAL-UNPARSED-ENTITY">
-<ANCHOR id ="XML-INTERNAL-PARAMETER-ENTITY" href="gnome-xml/gnome-xml-entities.html#XML-INTERNAL-PARAMETER-ENTITY">
-<ANCHOR id ="XML-EXTERNAL-PARAMETER-ENTITY" href="gnome-xml/gnome-xml-entities.html#XML-EXTERNAL-PARAMETER-ENTITY">
-<ANCHOR id ="XML-INTERNAL-PREDEFINED-ENTITY" href="gnome-xml/gnome-xml-entities.html#XML-INTERNAL-PREDEFINED-ENTITY">
+<ANCHOR id ="XMLENTITYTYPE" href="gnome-xml/gnome-xml-entities.html#XMLENTITYTYPE">
 <ANCHOR id ="XMLENTITY" href="gnome-xml/gnome-xml-entities.html#XMLENTITY">
 <ANCHOR id ="XMLENTITYPTR" href="gnome-xml/gnome-xml-entities.html#XMLENTITYPTR">
 <ANCHOR id ="XML-MIN-ENTITIES-TABLE" href="gnome-xml/gnome-xml-entities.html#XML-MIN-ENTITIES-TABLE">
@@ -293,7 +295,9 @@
 <ANCHOR id ="XMLCOPYENTITIESTABLE" href="gnome-xml/gnome-xml-entities.html#XMLCOPYENTITIESTABLE">
 <ANCHOR id ="XMLFREEENTITIESTABLE" href="gnome-xml/gnome-xml-entities.html#XMLFREEENTITIESTABLE">
 <ANCHOR id ="XMLDUMPENTITIESTABLE" href="gnome-xml/gnome-xml-entities.html#XMLDUMPENTITIESTABLE">
+<ANCHOR id ="XMLDUMPENTITYDECL" href="gnome-xml/gnome-xml-entities.html#XMLDUMPENTITYDECL">
 <ANCHOR id ="XMLCLEANUPPREDEFINEDENTITIES" href="gnome-xml/gnome-xml-entities.html#XMLCLEANUPPREDEFINEDENTITIES">
+<ANCHOR id ="XMLENTITYADDREFERENCE" href="gnome-xml/gnome-xml-entities.html#XMLENTITYADDREFERENCE">
 <ANCHOR id ="GNOME-XML-VALID" href="gnome-xml/gnome-xml-valid.html">
 <ANCHOR id ="XMLVALIDITYERRORFUNC" href="gnome-xml/gnome-xml-valid.html#XMLVALIDITYERRORFUNC">
 <ANCHOR id ="XMLVALIDITYWARNINGFUNC" href="gnome-xml/gnome-xml-valid.html#XMLVALIDITYWARNINGFUNC">
@@ -317,14 +321,17 @@
 <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">
+<ANCHOR id ="XMLDUMPNOTATIONDECL" href="gnome-xml/gnome-xml-valid.html#XMLDUMPNOTATIONDECL">
 <ANCHOR id ="XMLDUMPNOTATIONTABLE" href="gnome-xml/gnome-xml-valid.html#XMLDUMPNOTATIONTABLE">
 <ANCHOR id ="XMLNEWELEMENTCONTENT" href="gnome-xml/gnome-xml-valid.html#XMLNEWELEMENTCONTENT">
 <ANCHOR id ="XMLCOPYELEMENTCONTENT" href="gnome-xml/gnome-xml-valid.html#XMLCOPYELEMENTCONTENT">
 <ANCHOR id ="XMLFREEELEMENTCONTENT" href="gnome-xml/gnome-xml-valid.html#XMLFREEELEMENTCONTENT">
+<ANCHOR id ="XMLSPRINTFELEMENTCONTENT" href="gnome-xml/gnome-xml-valid.html#XMLSPRINTFELEMENTCONTENT">
 <ANCHOR id ="XMLADDELEMENTDECL" href="gnome-xml/gnome-xml-valid.html#XMLADDELEMENTDECL">
 <ANCHOR id ="XMLCOPYELEMENTTABLE" href="gnome-xml/gnome-xml-valid.html#XMLCOPYELEMENTTABLE">
 <ANCHOR id ="XMLFREEELEMENTTABLE" href="gnome-xml/gnome-xml-valid.html#XMLFREEELEMENTTABLE">
 <ANCHOR id ="XMLDUMPELEMENTTABLE" href="gnome-xml/gnome-xml-valid.html#XMLDUMPELEMENTTABLE">
+<ANCHOR id ="XMLDUMPELEMENTDECL" href="gnome-xml/gnome-xml-valid.html#XMLDUMPELEMENTDECL">
 <ANCHOR id ="XMLCREATEENUMERATION" href="gnome-xml/gnome-xml-valid.html#XMLCREATEENUMERATION">
 <ANCHOR id ="XMLFREEENUMERATION" href="gnome-xml/gnome-xml-valid.html#XMLFREEENUMERATION">
 <ANCHOR id ="XMLCOPYENUMERATION" href="gnome-xml/gnome-xml-valid.html#XMLCOPYENUMERATION">
@@ -332,6 +339,7 @@
 <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 ="XMLDUMPATTRIBUTEDECL" href="gnome-xml/gnome-xml-valid.html#XMLDUMPATTRIBUTEDECL">
 <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">
@@ -345,10 +353,12 @@
 <ANCHOR id ="XMLREMOVEREF" href="gnome-xml/gnome-xml-valid.html#XMLREMOVEREF">
 <ANCHOR id ="XMLVALIDATEROOT" href="gnome-xml/gnome-xml-valid.html#XMLVALIDATEROOT">
 <ANCHOR id ="XMLVALIDATEELEMENTDECL" href="gnome-xml/gnome-xml-valid.html#XMLVALIDATEELEMENTDECL">
+<ANCHOR id ="XMLVALIDNORMALIZEATTRIBUTEVALUE" href="gnome-xml/gnome-xml-valid.html#XMLVALIDNORMALIZEATTRIBUTEVALUE">
 <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 ="XMLVALIDATEDTDFINAL" href="gnome-xml/gnome-xml-valid.html#XMLVALIDATEDTDFINAL">
 <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">
@@ -490,9 +500,6 @@
 <ANCHOR id ="XMLPARSERGETDIRECTORY" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERGETDIRECTORY">
 <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">
 <ANCHOR id ="IS-CHAR" href="gnome-xml/gnome-xml-parserinternals.html#IS-CHAR">
 <ANCHOR id ="IS-BLANK" href="gnome-xml/gnome-xml-parserinternals.html#IS-BLANK">
 <ANCHOR id ="IS-BASECHAR" href="gnome-xml/gnome-xml-parserinternals.html#IS-BASECHAR">
@@ -508,9 +515,10 @@
 <ANCHOR id ="XMLCREATEDOCPARSERCTXT" href="gnome-xml/gnome-xml-parserinternals.html#XMLCREATEDOCPARSERCTXT">
 <ANCHOR id ="XMLCREATEFILEPARSERCTXT" href="gnome-xml/gnome-xml-parserinternals.html#XMLCREATEFILEPARSERCTXT">
 <ANCHOR id ="XMLCREATEMEMORYPARSERCTXT" href="gnome-xml/gnome-xml-parserinternals.html#XMLCREATEMEMORYPARSERCTXT">
-<ANCHOR id ="XMLFREEPARSERCTXT" href="gnome-xml/gnome-xml-parserinternals.html#XMLFREEPARSERCTXT">
 <ANCHOR id ="XMLNEWPARSERCTXT" href="gnome-xml/gnome-xml-parserinternals.html#XMLNEWPARSERCTXT">
+<ANCHOR id ="XMLCREATEENTITYPARSERCTXT" href="gnome-xml/gnome-xml-parserinternals.html#XMLCREATEENTITYPARSERCTXT">
 <ANCHOR id ="XMLSWITCHENCODING" href="gnome-xml/gnome-xml-parserinternals.html#XMLSWITCHENCODING">
+<ANCHOR id ="XMLFREEPARSERCTXT" href="gnome-xml/gnome-xml-parserinternals.html#XMLFREEPARSERCTXT">
 <ANCHOR id ="XMLHANDLEENTITY" href="gnome-xml/gnome-xml-parserinternals.html#XMLHANDLEENTITY">
 <ANCHOR id ="XMLNEWENTITYINPUTSTREAM" href="gnome-xml/gnome-xml-parserinternals.html#XMLNEWENTITYINPUTSTREAM">
 <ANCHOR id ="XMLPUSHINPUT" href="gnome-xml/gnome-xml-parserinternals.html#XMLPUSHINPUT">
@@ -565,6 +573,7 @@
 <ANCHOR id ="XMLPARSEENCODINGDECL" href="gnome-xml/gnome-xml-parserinternals.html#XMLPARSEENCODINGDECL">
 <ANCHOR id ="XMLPARSESDDECL" href="gnome-xml/gnome-xml-parserinternals.html#XMLPARSESDDECL">
 <ANCHOR id ="XMLPARSEXMLDECL" href="gnome-xml/gnome-xml-parserinternals.html#XMLPARSEXMLDECL">
+<ANCHOR id ="XMLPARSETEXTDECL" href="gnome-xml/gnome-xml-parserinternals.html#XMLPARSETEXTDECL">
 <ANCHOR id ="XMLPARSEMISC" href="gnome-xml/gnome-xml-parserinternals.html#XMLPARSEMISC">
 <ANCHOR id ="XMLPARSEEXTERNALSUBSET" href="gnome-xml/gnome-xml-parserinternals.html#XMLPARSEEXTERNALSUBSET">
 <ANCHOR id ="XML-SUBSTITUTE-NONE" href="gnome-xml/gnome-xml-parserinternals.html#XML-SUBSTITUTE-NONE">
@@ -572,6 +581,7 @@
 <ANCHOR id ="XML-SUBSTITUTE-PEREF" href="gnome-xml/gnome-xml-parserinternals.html#XML-SUBSTITUTE-PEREF">
 <ANCHOR id ="XML-SUBSTITUTE-BOTH" href="gnome-xml/gnome-xml-parserinternals.html#XML-SUBSTITUTE-BOTH">
 <ANCHOR id ="XMLDECODEENTITIES" href="gnome-xml/gnome-xml-parserinternals.html#XMLDECODEENTITIES">
+<ANCHOR id ="XMLSTRINGDECODEENTITIES" href="gnome-xml/gnome-xml-parserinternals.html#XMLSTRINGDECODEENTITIES">
 <ANCHOR id ="NODEPUSH" href="gnome-xml/gnome-xml-parserinternals.html#NODEPUSH">
 <ANCHOR id ="NODEPOP" href="gnome-xml/gnome-xml-parserinternals.html#NODEPOP">
 <ANCHOR id ="INPUTPUSH" href="gnome-xml/gnome-xml-parserinternals.html#INPUTPUSH">
@@ -589,6 +599,7 @@
 <ANCHOR id ="XMLPARSECHARENCODING" href="gnome-xml/gnome-xml-encoding.html#XMLPARSECHARENCODING">
 <ANCHOR id ="XMLGETCHARENCODINGHANDLER" href="gnome-xml/gnome-xml-encoding.html#XMLGETCHARENCODINGHANDLER">
 <ANCHOR id ="XMLFINDCHARENCODINGHANDLER" href="gnome-xml/gnome-xml-encoding.html#XMLFINDCHARENCODINGHANDLER">
+<ANCHOR id ="XMLCHECKUTF8" href="gnome-xml/gnome-xml-encoding.html#XMLCHECKUTF8">
 <ANCHOR id ="GNOME-XML-DEBUGXML" href="gnome-xml/gnome-xml-debugxml.html">
 <ANCHOR id ="XMLDEBUGDUMPSTRING" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPSTRING">
 <ANCHOR id ="XMLDEBUGDUMPATTR" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPATTR">
diff --git a/doc/xml.html b/doc/xml.html
index 28cf5ea..e0403f3 100644
--- a/doc/xml.html
+++ b/doc/xml.html
@@ -3,7 +3,7 @@
 <html>
 <head>
   <title>The XML library for Gnome</title>
-  <meta name="GENERATOR" content="amaya V2.1">
+  <meta name="GENERATOR" content="amaya V2.4">
   <meta http-equiv="Content-Type" content="text/html">
 </head>
 
@@ -61,7 +61,7 @@
   <li>This library is released both under the W3C Copyright and the GNU LGPL.
     Basically, everybody should be happy; if not, drop me a mail.</li>
   <li>There is <a href="upgrade.html">a  first set of instruction</a>
-    concerning upgrade from libxml-1.x to libxml-2.x </li>
+    concerning upgrade from libxml-1.x to libxml-2.x</li>
 </ul>
 
 <h2><a name="Documentat">Documentation</a></h2>
@@ -163,25 +163,37 @@
 <ul>
   <li>working on HTML and XML links recognition layers, get in touch with me
     if you want to test those.</li>
-  <li>huge work toward libxml-2.0: This work is available only in W3C CVs base
-    for the moment. You get the <a
-    href="ftp://rpmfind.net/pub/libxml/cvs-snapshot.tar.gz">snapshot</a> for
-    the updated version:
+</ul>
+
+<h3>2.0.0beta: Mar 14 2000</h3>
+<ul>
+  <li>This is a first Beta release of libxml version 2</li>
+  <li>It's available only from<a href="ftp://rpmfind.net/pub/libxml/">
+    rpmfind.net FTP</a>, it's packaged as libxml2-2.0.0beta and available as
+    tar and RPMs</li>
+  <li>This version is now the head in the Gnome CVS base, the old one is
+    available under the tag LIB_XML_1_X</li>
+  <li>This includes a very large set of changes. Froma  programmatic point of
+    view applications should not have to be modified too much, check the <a
+    href="upgrade.html">upgrade page</a></li>
+  <li>Some interfaces may changes (especially a bit about encoding).</li>
+  <li>the updates includes:
     <ul>
-      <li>fix I18N support. ISO-Latin-x/UTF-8/UTF-16 seems correctly handled
-        now</li>
+      <li>fix I18N support. ISO-Latin-x/UTF-8/UTF-16 (nearly) seems correctly
+        handled now</li>
       <li>Better handling of entities, especially well formedness checking and
         proper PEref extensions in external subsets</li>
       <li>DTD conditional sections</li>
       <li>Validation now correcly handle entities content</li>
       <li><a href="http://rpmfind.net/tools/gdome/messages/0039.html">change
         structures to accomodate DOM</a></li>
-      <li>Lot of work toward a better compliance. I'm now running and
-        debugging regression tests agains the <a
-        href="http://www.oasis-open.org/committees/xmlconf-pub.html">OASIS
-        testsuite</a></li>
     </ul>
   </li>
+  <li>Serious progress were made toward compliance, <a
+    href="conf/result.html">here are the result of the test</a> against the
+    OASIS testsuite (except the japanese tests since I don't support that
+    encoding yet). This URL is rebuilt every couple of hours using the CVS
+    head version.</li>
 </ul>
 
 <h3>1.8.7: Mar 6 2000</h3>
@@ -1066,6 +1078,6 @@
 
 <p><a href="mailto:Daniel.Veillard@w3.org">Daniel Veillard</a></p>
 
-<p>$Id: xml.html,v 1.27 2000/03/02 00:15:55 veillard Exp $</p>
+<p>$Id: xml.html,v 1.28 2000/03/06 07:41:49 veillard Exp $</p>
 </body>
 </html>
diff --git a/libxml.spec.in b/libxml.spec.in
index 33706b5..fdd12c7 100644
--- a/libxml.spec.in
+++ b/libxml.spec.in
@@ -8,10 +8,10 @@
 Release: 1
 Copyright: LGPL
 Group: X11/Libraries
-Source: ftp://ftp.gnome.org/pub/GNOME/sources/libxml/libxml-%{ver}.tar.gz
-BuildRoot: /var/tmp/libxml-%{PACKAGE_VERSION}-root
+Source: ftp://ftp.gnome.org/pub/GNOME/sources/libxml/libxml2-%{ver}.tar.gz
+BuildRoot: /var/tmp/libxml2-%{PACKAGE_VERSION}-root
 
-URL: http://rpmfind.net/veillard/XML/
+URL: http://xmlsoft.org/
 Prereq: /sbin/install-info
 Docdir: %{prefix}/doc
 
@@ -21,7 +21,7 @@
 %package devel
 Summary: Libraries, includes, etc to develop libxml applications
 Group: X11/libraries
-Requires: libxml
+Requires: libxml2
 
 %description devel
 Libraries, include files, etc you can use to develop libxml applications.
@@ -79,15 +79,6 @@
 rm -rf $RPM_BUILD_ROOT
 
 make prefix=$RPM_BUILD_ROOT%{prefix} install
-#
-# hack to get libxml.so.0 too !
-# Get rid of it once deps to libxml.so.0 have disapeared.
-#
-if [ -f $RPM_BUILD_ROOT/%{prefix}/lib/libxml.so.@VERSION@ ]
-then
-    (cd $RPM_BUILD_ROOT/%{prefix}/lib/ ; cp libxml.so.@VERSION@ libxml.so.0.99.0 ; ln -sf libxml.so.0.99.0 libxml.so.0)
-fi
-
 
 %clean
 rm -rf $RPM_BUILD_ROOT