Release of libxml-1.1, Daniel.
diff --git a/doc/html/gnome-xml-entities.html b/doc/html/gnome-xml-entities.html
index c398709..5f326a1 100644
--- a/doc/html/gnome-xml-entities.html
+++ b/doc/html/gnome-xml-entities.html
@@ -65,7 +65,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3432"
+NAME="AEN3492"
 ></A
 ><H2
 >Name</H2
@@ -73,7 +73,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3435"
+NAME="AEN3495"
 ></A
 ><H2
 >Synopsis</H2
@@ -258,21 +258,7 @@
                                              <A
 HREF="gnome-xml-entities.html#XMLENTITIESTABLEPTR"
 >xmlEntitiesTablePtr</A
-> table);
-<A
-HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
->xmlParserInputPtr</A
-> <A
-HREF="gnome-xml-entities.html#XMLNEWENTITYINPUTSTREAM"
->xmlNewEntityInputStream</A
->   (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
-                                             <A
-HREF="gnome-xml-entities.html#XMLENTITYPTR"
->xmlEntityPtr</A
-> entity);</PRE
+> table);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -280,7 +266,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3488"
+NAME="AEN3544"
 ></A
 ><H2
 >Description</H2
@@ -290,14 +276,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3491"
+NAME="AEN3547"
 ></A
 ><H2
 >Details</H2
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3493"
+NAME="AEN3549"
 ></A
 ><H3
 ><A
@@ -323,7 +309,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3498"
+NAME="AEN3554"
 ></A
 ><H3
 ><A
@@ -349,7 +335,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3503"
+NAME="AEN3559"
 ></A
 ><H3
 ><A
@@ -375,7 +361,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3508"
+NAME="AEN3564"
 ></A
 ><H3
 ><A
@@ -401,7 +387,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3513"
+NAME="AEN3569"
 ></A
 ><H3
 ><A
@@ -427,7 +413,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3518"
+NAME="AEN3574"
 ></A
 ><H3
 ><A
@@ -453,7 +439,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3523"
+NAME="AEN3579"
 ></A
 ><H3
 ><A
@@ -479,7 +465,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3528"
+NAME="AEN3584"
 ></A
 ><H3
 ><A
@@ -505,7 +491,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3533"
+NAME="AEN3589"
 ></A
 ><H3
 ><A
@@ -531,7 +517,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3538"
+NAME="AEN3594"
 ></A
 ><H3
 ><A
@@ -696,7 +682,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3578"
+NAME="AEN3634"
 ></A
 ><H3
 ><A
@@ -861,7 +847,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3618"
+NAME="AEN3674"
 ></A
 ><H3
 ><A
@@ -942,7 +928,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3639"
+NAME="AEN3695"
 ></A
 ><H3
 ><A
@@ -1046,7 +1032,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3665"
+NAME="AEN3721"
 ></A
 ><H3
 ><A
@@ -1149,7 +1135,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3691"
+NAME="AEN3747"
 ></A
 ><H3
 ><A
@@ -1186,9 +1172,6 @@
 >TODO !!!! Once moved to UTF-8 internal encoding, the encoding of non-ascii
 get erroneous.</P
 ><P
->TODO This routine is not reentrant and this will be changed, the interface
-should not be modified though.</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
@@ -1258,7 +1241,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3719"
+NAME="AEN3774"
 ></A
 ><H3
 ><A
@@ -1319,7 +1302,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3735"
+NAME="AEN3790"
 ></A
 ><H3
 ><A
@@ -1400,7 +1383,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3756"
+NAME="AEN3811"
 ></A
 ><H3
 ><A
@@ -1463,7 +1446,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3772"
+NAME="AEN3827"
 ></A
 ><H3
 ><A
@@ -1544,108 +1527,6 @@
 ></P
 ></DIV
 ></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3793"
-></A
-><H3
-><A
-NAME="XMLNEWENTITYINPUTSTREAM"
-></A
->xmlNewEntityInputStream()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#E8E8F8"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
->xmlParserInputPtr</A
-> xmlNewEntityInputStream   (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
-                                             <A
-HREF="gnome-xml-entities.html#XMLENTITYPTR"
->xmlEntityPtr</A
-> entity);</PRE
-></TD
-></TR
-></TABLE
-><P
->Create a new input stream based on a memory buffer.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFE0E0"
-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
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->entity</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  an Entity pointer</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 input stream</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
 ></DIV
 ><DIV
 CLASS="NAVFOOTER"
diff --git a/doc/html/gnome-xml-parser.html b/doc/html/gnome-xml-parser.html
index 4497c3b..9424c0e 100644
--- a/doc/html/gnome-xml-parser.html
+++ b/doc/html/gnome-xml-parser.html
@@ -137,10 +137,7 @@
 > (<A
 HREF="gnome-xml-parser.html#RESOLVEENTITYSAXFUNC"
 >*resolveEntitySAXFunc</A
->)   (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>)   (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -152,10 +149,7 @@
 void        (<A
 HREF="gnome-xml-parser.html#INTERNALSUBSETSAXFUNC"
 >*internalSubsetSAXFunc</A
->)        (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>)        (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -174,10 +168,7 @@
 > (<A
 HREF="gnome-xml-parser.html#GETENTITYSAXFUNC"
 >*getEntitySAXFunc</A
->)            (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>)            (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -185,10 +176,7 @@
 void        (<A
 HREF="gnome-xml-parser.html#ENTITYDECLSAXFUNC"
 >*entityDeclSAXFunc</A
->)            (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>)            (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -209,10 +197,7 @@
 void        (<A
 HREF="gnome-xml-parser.html#NOTATIONDECLSAXFUNC"
 >*notationDeclSAXFunc</A
->)          (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>)          (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -228,10 +213,7 @@
 void        (<A
 HREF="gnome-xml-parser.html#ATTRIBUTEDECLSAXFUNC"
 >*attributeDeclSAXFunc</A
->)         (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>)         (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -253,10 +235,7 @@
 void        (<A
 HREF="gnome-xml-parser.html#ELEMENTDECLSAXFUNC"
 >*elementDeclSAXFunc</A
->)           (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>)           (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -269,10 +248,7 @@
 void        (<A
 HREF="gnome-xml-parser.html#UNPARSEDENTITYDECLSAXFUNC"
 >*unparsedEntityDeclSAXFunc</A
->)    (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>)    (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -292,10 +268,7 @@
 void        (<A
 HREF="gnome-xml-parser.html#SETDOCUMENTLOCATORSAXFUNC"
 >*setDocumentLocatorSAXFunc</A
->)    (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>)    (void *ctx,
                                              <A
 HREF="gnome-xml-parser.html#XMLSAXLOCATORPTR"
 >xmlSAXLocatorPtr</A
@@ -303,24 +276,15 @@
 void        (<A
 HREF="gnome-xml-parser.html#STARTDOCUMENTSAXFUNC"
 >*startDocumentSAXFunc</A
->)         (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt);
+>)         (void *ctx);
 void        (<A
 HREF="gnome-xml-parser.html#ENDDOCUMENTSAXFUNC"
 >*endDocumentSAXFunc</A
->)           (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt);
+>)           (void *ctx);
 void        (<A
 HREF="gnome-xml-parser.html#STARTELEMENTSAXFUNC"
 >*startElementSAXFunc</A
->)          (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>)          (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -332,10 +296,7 @@
 void        (<A
 HREF="gnome-xml-parser.html#ENDELEMENTSAXFUNC"
 >*endElementSAXFunc</A
->)            (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>)            (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -343,10 +304,7 @@
 void        (<A
 HREF="gnome-xml-parser.html#ATTRIBUTESAXFUNC"
 >*attributeSAXFunc</A
->)             (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>)             (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -358,10 +316,7 @@
 void        (<A
 HREF="gnome-xml-parser.html#REFERENCESAXFUNC"
 >*referenceSAXFunc</A
->)             (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>)             (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -369,10 +324,7 @@
 void        (<A
 HREF="gnome-xml-parser.html#CHARACTERSSAXFUNC"
 >*charactersSAXFunc</A
->)            (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>)            (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -381,10 +333,7 @@
 void        (<A
 HREF="gnome-xml-parser.html#IGNORABLEWHITESPACESAXFUNC"
 >*ignorableWhitespaceSAXFunc</A
->)   (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>)   (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -393,10 +342,7 @@
 void        (<A
 HREF="gnome-xml-parser.html#PROCESSINGINSTRUCTIONSAXFUNC"
 >*processingInstructionSAXFunc</A
->) (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>) (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -408,10 +354,7 @@
 void        (<A
 HREF="gnome-xml-parser.html#COMMENTSAXFUNC"
 >*commentSAXFunc</A
->)               (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>)               (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -419,51 +362,33 @@
 void        (<A
 HREF="gnome-xml-parser.html#WARNINGSAXFUNC"
 >*warningSAXFunc</A
->)               (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>)               (void *ctx,
                                              const char *msg,
                                              ...);
 void        (<A
 HREF="gnome-xml-parser.html#ERRORSAXFUNC"
 >*errorSAXFunc</A
->)                 (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>)                 (void *ctx,
                                              const char *msg,
                                              ...);
 void        (<A
 HREF="gnome-xml-parser.html#FATALERRORSAXFUNC"
 >*fatalErrorSAXFunc</A
->)            (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>)            (void *ctx,
                                              const char *msg,
                                              ...);
 int         (<A
 HREF="gnome-xml-parser.html#ISSTANDALONESAXFUNC"
 >*isStandaloneSAXFunc</A
->)          (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt);
+>)          (void *ctx);
 int         (<A
 HREF="gnome-xml-parser.html#HASINTERNALSUBSETSAXFUNC"
 >*hasInternalSubsetSAXFunc</A
->)     (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt);
+>)     (void *ctx);
 int         (<A
 HREF="gnome-xml-parser.html#HASEXTERNALSUBSETSAXFUNC"
 >*hasExternalSubsetSAXFunc</A
->)     (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt);
+>)     (void *ctx);
 typedef     <A
 HREF="gnome-xml-parser.html#XMLSAXHANDLERPTR"
 >xmlSAXHandlerPtr</A
@@ -587,6 +512,10 @@
 HREF="gnome-xml-parser.html#XMLPARSEFILE"
 >xmlParseFile</A
 >                    (const char *filename);
+int         <A
+HREF="gnome-xml-parser.html#XMLSUBSTITUTEENTITIESDEFAULT"
+>xmlSubstituteEntitiesDefault</A
+>    (int val);
 <A
 HREF="gnome-xml-tree.html#XMLDOCPTR"
 >xmlDocPtr</A
@@ -659,6 +588,38 @@
 > sax,
                                              const char *filename,
                                              int recovery);
+<A
+HREF="gnome-xml-tree.html#XMLDTDPTR"
+>xmlDtdPtr</A
+>   <A
+HREF="gnome-xml-parser.html#XMLPARSEDTD"
+>xmlParseDTD</A
+>                     (const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *ExternalID,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *SystemID);
+<A
+HREF="gnome-xml-tree.html#XMLDTDPTR"
+>xmlDtdPtr</A
+>   <A
+HREF="gnome-xml-parser.html#XMLSAXPARSEDTD"
+>xmlSAXParseDTD</A
+>                  (<A
+HREF="gnome-xml-parser.html#XMLSAXHANDLERPTR"
+>xmlSAXHandlerPtr</A
+> sax,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *ExternalID,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *SystemID);
 void        <A
 HREF="gnome-xml-parser.html#XMLINITPARSERCTXT"
 >xmlInitParserCtxt</A
@@ -750,7 +711,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN191"
+NAME="AEN176"
 ></A
 ><H2
 >Description</H2
@@ -760,14 +721,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN194"
+NAME="AEN179"
 ></A
 ><H2
 >Details</H2
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN196"
+NAME="AEN181"
 ></A
 ><H3
 ><A
@@ -793,7 +754,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN201"
+NAME="AEN186"
 ></A
 ><H3
 ><A
@@ -854,7 +815,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN216"
+NAME="AEN201"
 ></A
 ><H3
 ><A
@@ -880,7 +841,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN221"
+NAME="AEN206"
 ></A
 ><H3
 ><A
@@ -906,7 +867,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN226"
+NAME="AEN211"
 ></A
 ><H3
 ><A
@@ -932,7 +893,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN231"
+NAME="AEN216"
 ></A
 ><H3
 ><A
@@ -958,7 +919,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN236"
+NAME="AEN221"
 ></A
 ><H3
 ><A
@@ -984,7 +945,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN241"
+NAME="AEN226"
 ></A
 ><H3
 ><A
@@ -1010,7 +971,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN246"
+NAME="AEN231"
 ></A
 ><H3
 ><A
@@ -1036,7 +997,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN251"
+NAME="AEN236"
 ></A
 ><H3
 ><A
@@ -1062,7 +1023,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN256"
+NAME="AEN241"
 ></A
 ><H3
 ><A
@@ -1081,10 +1042,7 @@
 ><A
 HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
 >xmlParserInputPtr</A
-> (*resolveEntitySAXFunc)   (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+> (*resolveEntitySAXFunc)   (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -1117,7 +1075,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -1183,7 +1141,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN286"
+NAME="AEN270"
 ></A
 ><H3
 ><A
@@ -1199,10 +1157,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*internalSubsetSAXFunc)        (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>void        (*internalSubsetSAXFunc)        (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -1239,7 +1194,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -1307,7 +1262,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN316"
+NAME="AEN299"
 ></A
 ><H3
 ><A
@@ -1326,10 +1281,7 @@
 ><A
 HREF="gnome-xml-entities.html#XMLENTITYPTR"
 >xmlEntityPtr</A
-> (*getEntitySAXFunc)            (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+> (*getEntitySAXFunc)            (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -1358,7 +1310,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -1407,7 +1359,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN341"
+NAME="AEN323"
 ></A
 ><H3
 ><A
@@ -1423,10 +1375,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*entityDeclSAXFunc)            (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>void        (*entityDeclSAXFunc)            (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -1468,7 +1417,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -1570,7 +1519,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN380"
+NAME="AEN361"
 ></A
 ><H3
 ><A
@@ -1586,10 +1535,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*notationDeclSAXFunc)          (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>void        (*notationDeclSAXFunc)          (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -1626,7 +1572,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -1694,7 +1640,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN410"
+NAME="AEN390"
 ></A
 ><H3
 ><A
@@ -1710,10 +1656,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*attributeDeclSAXFunc)         (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>void        (*attributeDeclSAXFunc)         (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -1756,7 +1699,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -1875,7 +1818,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN453"
+NAME="AEN432"
 ></A
 ><H3
 ><A
@@ -1891,10 +1834,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*elementDeclSAXFunc)           (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>void        (*elementDeclSAXFunc)           (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -1928,7 +1868,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -1996,7 +1936,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN482"
+NAME="AEN460"
 ></A
 ><H3
 ><A
@@ -2012,10 +1952,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*unparsedEntityDeclSAXFunc)    (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>void        (*unparsedEntityDeclSAXFunc)    (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -2056,7 +1993,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -2141,7 +2078,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN517"
+NAME="AEN494"
 ></A
 ><H3
 ><A
@@ -2157,10 +2094,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*setDocumentLocatorSAXFunc)    (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>void        (*setDocumentLocatorSAXFunc)    (void *ctx,
                                              <A
 HREF="gnome-xml-parser.html#XMLSAXLOCATORPTR"
 >xmlSAXLocatorPtr</A
@@ -2189,7 +2123,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -2223,7 +2157,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN537"
+NAME="AEN513"
 ></A
 ><H3
 ><A
@@ -2239,10 +2173,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*startDocumentSAXFunc)         (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt);</PRE
+>void        (*startDocumentSAXFunc)         (void *ctx);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -2267,7 +2198,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -2284,7 +2215,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN552"
+NAME="AEN527"
 ></A
 ><H3
 ><A
@@ -2300,10 +2231,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*endDocumentSAXFunc)           (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt);</PRE
+>void        (*endDocumentSAXFunc)           (void *ctx);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -2328,7 +2256,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -2345,7 +2273,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN567"
+NAME="AEN541"
 ></A
 ><H3
 ><A
@@ -2361,10 +2289,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*startElementSAXFunc)          (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>void        (*startElementSAXFunc)          (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -2397,7 +2322,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -2448,7 +2373,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN592"
+NAME="AEN565"
 ></A
 ><H3
 ><A
@@ -2464,10 +2389,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*endElementSAXFunc)            (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>void        (*endElementSAXFunc)            (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -2496,7 +2418,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -2530,7 +2452,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN612"
+NAME="AEN584"
 ></A
 ><H3
 ><A
@@ -2546,10 +2468,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*attributeSAXFunc)             (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>void        (*attributeSAXFunc)             (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -2582,7 +2501,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -2633,7 +2552,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN637"
+NAME="AEN608"
 ></A
 ><H3
 ><A
@@ -2649,10 +2568,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*referenceSAXFunc)             (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>void        (*referenceSAXFunc)             (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -2681,7 +2597,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -2715,7 +2631,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN657"
+NAME="AEN627"
 ></A
 ><H3
 ><A
@@ -2731,10 +2647,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*charactersSAXFunc)            (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>void        (*charactersSAXFunc)            (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -2764,7 +2677,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -2815,7 +2728,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN681"
+NAME="AEN650"
 ></A
 ><H3
 ><A
@@ -2831,10 +2744,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*ignorableWhitespaceSAXFunc)   (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>void        (*ignorableWhitespaceSAXFunc)   (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -2864,7 +2774,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -2915,7 +2825,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN705"
+NAME="AEN673"
 ></A
 ><H3
 ><A
@@ -2931,10 +2841,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*processingInstructionSAXFunc) (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>void        (*processingInstructionSAXFunc) (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -2967,7 +2874,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -3018,7 +2925,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN730"
+NAME="AEN697"
 ></A
 ><H3
 ><A
@@ -3034,10 +2941,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*commentSAXFunc)               (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>void        (*commentSAXFunc)               (void *ctx,
                                              const <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -3066,7 +2970,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -3100,7 +3004,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN750"
+NAME="AEN716"
 ></A
 ><H3
 ><A
@@ -3116,10 +3020,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*warningSAXFunc)               (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>void        (*warningSAXFunc)               (void *ctx,
                                              const char *msg,
                                              ...);</PRE
 ></TD
@@ -3146,7 +3047,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -3197,7 +3098,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN773"
+NAME="AEN738"
 ></A
 ><H3
 ><A
@@ -3213,10 +3114,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*errorSAXFunc)                 (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>void        (*errorSAXFunc)                 (void *ctx,
                                              const char *msg,
                                              ...);</PRE
 ></TD
@@ -3243,7 +3141,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -3294,7 +3192,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN796"
+NAME="AEN760"
 ></A
 ><H3
 ><A
@@ -3310,10 +3208,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->void        (*fatalErrorSAXFunc)            (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
+>void        (*fatalErrorSAXFunc)            (void *ctx,
                                              const char *msg,
                                              ...);</PRE
 ></TD
@@ -3340,7 +3235,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -3391,7 +3286,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN819"
+NAME="AEN782"
 ></A
 ><H3
 ><A
@@ -3407,10 +3302,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->int         (*isStandaloneSAXFunc)          (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt);</PRE
+>int         (*isStandaloneSAXFunc)          (void *ctx);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -3435,7 +3327,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -3467,7 +3359,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN838"
+NAME="AEN800"
 ></A
 ><H3
 ><A
@@ -3483,10 +3375,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->int         (*hasInternalSubsetSAXFunc)     (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt);</PRE
+>int         (*hasInternalSubsetSAXFunc)     (void *ctx);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -3511,7 +3400,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -3543,7 +3432,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN857"
+NAME="AEN818"
 ></A
 ><H3
 ><A
@@ -3559,10 +3448,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->int         (*hasExternalSubsetSAXFunc)     (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt);</PRE
+>int         (*hasExternalSubsetSAXFunc)     (void *ctx);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -3587,7 +3473,7 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->ctxt</I
+>ctx</I
 ></TT
 >&nbsp;:</TD
 ><TD
@@ -3619,7 +3505,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN876"
+NAME="AEN836"
 ></A
 ><H3
 ><A
@@ -3645,7 +3531,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN881"
+NAME="AEN841"
 ></A
 ><H3
 ><A
@@ -3726,7 +3612,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN902"
+NAME="AEN862"
 ></A
 ><H3
 ><A
@@ -3830,7 +3716,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN928"
+NAME="AEN888"
 ></A
 ><H3
 ><A
@@ -3932,7 +3818,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN954"
+NAME="AEN914"
 ></A
 ><H3
 ><A
@@ -4031,7 +3917,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN979"
+NAME="AEN939"
 ></A
 ><H3
 ><A
@@ -4148,7 +4034,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1008"
+NAME="AEN968"
 ></A
 ><H3
 ><A
@@ -4226,7 +4112,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1028"
+NAME="AEN988"
 ></A
 ><H3
 ><A
@@ -4328,7 +4214,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1054"
+NAME="AEN1014"
 ></A
 ><H3
 ><A
@@ -4453,7 +4339,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1085"
+NAME="AEN1045"
 ></A
 ><H3
 ><A
@@ -4534,7 +4420,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1106"
+NAME="AEN1066"
 ></A
 ><H3
 ><A
@@ -4630,7 +4516,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1130"
+NAME="AEN1090"
 ></A
 ><H3
 ><A
@@ -4709,7 +4595,90 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1150"
+NAME="AEN1110"
+></A
+><H3
+><A
+NAME="XMLSUBSTITUTEENTITIESDEFAULT"
+></A
+>xmlSubstituteEntitiesDefault()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#E8E8F8"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>int         xmlSubstituteEntitiesDefault    (int val);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Set and return the previous value for default entity support.
+Initially the parser always keep entity references instead of substituting
+entity values in the output. This function has to be used to change the
+default parser behaviour
+SAX::<GTKDOCLINK
+HREF="SUBTITUTEENTITIES"
+>subtituteEntities</GTKDOCLINK
+>() has to be used for changing that on a file by
+file basis.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFE0E0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>val</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  int 0 or 1 </TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the last value for 0 for no substitution, 1 for substitution.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN1130"
 ></A
 ><H3
 ><A
@@ -4791,7 +4760,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1171"
+NAME="AEN1151"
 ></A
 ><H3
 ><A
@@ -4888,7 +4857,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1195"
+NAME="AEN1175"
 ></A
 ><H3
 ><A
@@ -4968,7 +4937,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1215"
+NAME="AEN1195"
 ></A
 ><H3
 ><A
@@ -5052,7 +5021,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1237"
+NAME="AEN1217"
 ></A
 ><H3
 ><A
@@ -5175,7 +5144,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1267"
+NAME="AEN1247"
 ></A
 ><H3
 ><A
@@ -5209,8 +5178,6 @@
 to handle the parsing callback. If sax is NULL, fallback to the default
 DOM tree building routines.</P
 ><P
->TODO : plug some encoding conversion routines here. !!!</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
@@ -5315,7 +5282,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1301"
+NAME="AEN1280"
 ></A
 ><H3
 ><A
@@ -5436,7 +5403,232 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1330"
+NAME="AEN1309"
+></A
+><H3
+><A
+NAME="XMLPARSEDTD"
+></A
+>xmlParseDTD()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#E8E8F8"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLDTDPTR"
+>xmlDtdPtr</A
+>   xmlParseDTD                     (const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *ExternalID,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *SystemID);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Load and parse an external subset.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFE0E0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ExternalID</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  a NAME* containing the External ID of the DTD</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"
+>  a NAME* containing the URL to the DTD</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the resulting xmlDtdPtr or NULL in case of error.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN1335"
+></A
+><H3
+><A
+NAME="XMLSAXPARSEDTD"
+></A
+>xmlSAXParseDTD()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#E8E8F8"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#XMLDTDPTR"
+>xmlDtdPtr</A
+>   xmlSAXParseDTD                  (<A
+HREF="gnome-xml-parser.html#XMLSAXHANDLERPTR"
+>xmlSAXHandlerPtr</A
+> sax,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *ExternalID,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *SystemID);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Load and parse an external subset.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFE0E0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><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 block</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"
+>  a NAME* containing the External ID of the DTD</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"
+>  a NAME* containing the URL to the DTD</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>the resulting xmlDtdPtr or NULL in case of error.</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN1366"
 ></A
 ><H3
 ><A
@@ -5499,7 +5691,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1346"
+NAME="AEN1382"
 ></A
 ><H3
 ><A
@@ -5562,7 +5754,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1362"
+NAME="AEN1398"
 ></A
 ><H3
 ><A
@@ -5666,7 +5858,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1387"
+NAME="AEN1423"
 ></A
 ><H3
 ><A
@@ -5769,7 +5961,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1413"
+NAME="AEN1449"
 ></A
 ><H3
 ><A
@@ -5832,7 +6024,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1429"
+NAME="AEN1465"
 ></A
 ><H3
 ><A
@@ -5896,7 +6088,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1445"
+NAME="AEN1481"
 ></A
 ><H3
 ><A
@@ -5999,7 +6191,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1471"
+NAME="AEN1507"
 ></A
 ><H3
 ><A
@@ -6083,7 +6275,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1492"
+NAME="AEN1528"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-parserinternals.html b/doc/html/gnome-xml-parserinternals.html
index 75e342e..7612d3b 100644
--- a/doc/html/gnome-xml-parserinternals.html
+++ b/doc/html/gnome-xml-parserinternals.html
@@ -59,7 +59,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4419"
+NAME="AEN4441"
 ></A
 ><H2
 >Name</H2
@@ -67,7 +67,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4422"
+NAME="AEN4444"
 ></A
 ><H2
 >Synopsis</H2
@@ -177,7 +177,7 @@
 HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
 >xmlParserInputPtr</A
 > <A
-HREF="gnome-xml-entities.html#XMLNEWENTITYINPUTSTREAM"
+HREF="gnome-xml-parserinternals.html#XMLNEWENTITYINPUTSTREAM"
 >xmlNewEntityInputStream</A
 >   (<A
 HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
@@ -216,6 +216,17 @@
 >xmlParserInputPtr</A
 > input);
 <A
+HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
+>xmlParserInputPtr</A
+> <A
+HREF="gnome-xml-parserinternals.html#XMLNEWINPUTFROMFILE"
+>xmlNewInputFromFile</A
+>       (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt,
+                                             const char *filename);
+<A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
 >*       <A
@@ -309,7 +320,11 @@
 >             (<A
 HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
 >xmlParserCtxtPtr</A
-> ctxt);
+> ctxt,
+                                             <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> **orig);
 <A
 HREF="gnome-xml-tree.html#CHAR"
 >CHAR</A
@@ -513,10 +528,7 @@
 HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
 >xmlParserCtxtPtr</A
 > ctxt);
-<A
-HREF="gnome-xml-tree.html#CHAR"
->CHAR</A
->*       <A
+int         <A
 HREF="gnome-xml-parserinternals.html#XMLPARSECHARREF"
 >xmlParseCharRef</A
 >                 (<A
@@ -524,29 +536,23 @@
 >xmlParserCtxtPtr</A
 > ctxt);
 <A
-HREF="gnome-xml-tree.html#CHAR"
->CHAR</A
->*       <A
+HREF="gnome-xml-entities.html#XMLENTITYPTR"
+>xmlEntityPtr</A
+> <A
 HREF="gnome-xml-parserinternals.html#XMLPARSEENTITYREF"
 >xmlParseEntityRef</A
->               (<A
+>              (<A
 HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
 >xmlParserCtxtPtr</A
 > ctxt);
-<A
-HREF="gnome-xml-tree.html#CHAR"
->CHAR</A
->*       <A
+void        <A
 HREF="gnome-xml-parserinternals.html#XMLPARSEREFERENCE"
 >xmlParseReference</A
 >               (<A
 HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
 >xmlParserCtxtPtr</A
 > ctxt);
-<A
-HREF="gnome-xml-tree.html#CHAR"
->CHAR</A
->*       <A
+void        <A
 HREF="gnome-xml-parserinternals.html#XMLPARSEPEREFERENCE"
 >xmlParsePEReference</A
 >             (<A
@@ -669,7 +675,47 @@
 >                    (<A
 HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
 >xmlParserCtxtPtr</A
-> ctxt);</PRE
+> ctxt);
+#define     <A
+HREF="gnome-xml-parserinternals.html#XML-SUBSTITUTE-NONE"
+>XML_SUBSTITUTE_NONE</A
+>
+#define     <A
+HREF="gnome-xml-parserinternals.html#XML-SUBSTITUTE-REF"
+>XML_SUBSTITUTE_REF</A
+>
+#define     <A
+HREF="gnome-xml-parserinternals.html#XML-SUBSTITUTE-PEREF"
+>XML_SUBSTITUTE_PEREF</A
+>
+#define     <A
+HREF="gnome-xml-parserinternals.html#XML-SUBSTITUTE-BOTH"
+>XML_SUBSTITUTE_BOTH</A
+>
+<A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+>*       <A
+HREF="gnome-xml-parserinternals.html#XMLDECODEENTITIES"
+>xmlDecodeEntities</A
+>               (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt,
+                                             int len,
+                                             int what,
+                                             <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> end,
+                                             <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> end2,
+                                             <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> end3);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -677,7 +723,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4592"
+NAME="AEN4625"
 ></A
 ><H2
 >Description</H2
@@ -687,14 +733,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4595"
+NAME="AEN4628"
 ></A
 ><H2
 >Details</H2
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4597"
+NAME="AEN4630"
 ></A
 ><H3
 ><A
@@ -752,7 +798,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4611"
+NAME="AEN4644"
 ></A
 ><H3
 ><A
@@ -810,7 +856,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4625"
+NAME="AEN4658"
 ></A
 ><H3
 ><A
@@ -868,7 +914,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4639"
+NAME="AEN4672"
 ></A
 ><H3
 ><A
@@ -926,7 +972,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4653"
+NAME="AEN4686"
 ></A
 ><H3
 ><A
@@ -984,7 +1030,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4667"
+NAME="AEN4700"
 ></A
 ><H3
 ><A
@@ -1042,7 +1088,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4681"
+NAME="AEN4714"
 ></A
 ><H3
 ><A
@@ -1104,7 +1150,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4695"
+NAME="AEN4728"
 ></A
 ><H3
 ><A
@@ -1162,7 +1208,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4709"
+NAME="AEN4742"
 ></A
 ><H3
 ><A
@@ -1229,7 +1275,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4723"
+NAME="AEN4756"
 ></A
 ><H3
 ><A
@@ -1289,7 +1335,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4737"
+NAME="AEN4770"
 ></A
 ><H3
 ><A
@@ -1348,7 +1394,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4751"
+NAME="AEN4784"
 ></A
 ><H3
 ><A
@@ -1407,7 +1453,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4765"
+NAME="AEN4798"
 ></A
 ><H3
 ><A
@@ -1486,7 +1532,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4785"
+NAME="AEN4818"
 ></A
 ><H3
 ><A
@@ -1566,7 +1612,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4805"
+NAME="AEN4838"
 ></A
 ><H3
 ><A
@@ -1662,7 +1708,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4829"
+NAME="AEN4862"
 ></A
 ><H3
 ><A
@@ -1726,7 +1772,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4845"
+NAME="AEN4878"
 ></A
 ><H3
 ><A
@@ -1812,7 +1858,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4866"
+NAME="AEN4899"
 ></A
 ><H3
 ><A
@@ -1843,7 +1889,7 @@
 ></TR
 ></TABLE
 ><P
->Create a new input stream based on a memory buffer.</P
+>Create a new input stream based on an xmlEntityPtr</P
 ><P
 ></P
 ><DIV
@@ -1872,7 +1918,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an XML parser context</TD
 ></TR
 ><TR
 ><TD
@@ -1889,7 +1935,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  an Entity pointer</TD
 ></TR
 ><TR
 ><TD
@@ -1904,7 +1950,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>the new input stream</TD
 ></TR
 ></TABLE
 ><P
@@ -1914,7 +1960,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4892"
+NAME="AEN4925"
 ></A
 ><H3
 ><A
@@ -1999,7 +2045,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4913"
+NAME="AEN4946"
 ></A
 ><H3
 ><A
@@ -2083,7 +2129,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4935"
+NAME="AEN4968"
 ></A
 ><H3
 ><A
@@ -2146,7 +2192,106 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4951"
+NAME="AEN4984"
+></A
+><H3
+><A
+NAME="XMLNEWINPUTFROMFILE"
+></A
+>xmlNewInputFromFile()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#E8E8F8"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
+>xmlParserInputPtr</A
+> xmlNewInputFromFile       (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt,
+                                             const char *filename);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Create a new input stream based on a file.</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFE0E0"
+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
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>filename</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the filename to use as entity</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 input stream or NULL in case of error</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN5009"
 ></A
 ><H3
 ><A
@@ -2255,7 +2400,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4980"
+NAME="AEN5038"
 ></A
 ><H3
 ><A
@@ -2341,7 +2486,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5003"
+NAME="AEN5061"
 ></A
 ><H3
 ><A
@@ -2450,7 +2595,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5032"
+NAME="AEN5090"
 ></A
 ><H3
 ><A
@@ -2535,7 +2680,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5055"
+NAME="AEN5113"
 ></A
 ><H3
 ><A
@@ -2616,7 +2761,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5076"
+NAME="AEN5134"
 ></A
 ><H3
 ><A
@@ -2683,7 +2828,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5093"
+NAME="AEN5151"
 ></A
 ><H3
 ><A
@@ -2771,7 +2916,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5117"
+NAME="AEN5175"
 ></A
 ><H3
 ><A
@@ -2856,7 +3001,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5140"
+NAME="AEN5198"
 ></A
 ><H3
 ><A
@@ -2878,7 +3023,11 @@
 >*       xmlParseEntityValue             (<A
 HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
 >xmlParserCtxtPtr</A
-> ctxt);</PRE
+> ctxt,
+                                             <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> **orig);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -2922,6 +3071,23 @@
 WIDTH="20%"
 ALIGN="RIGHT"
 VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>orig</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  if non-NULL store a copy of the original entity value</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
 ><I
 CLASS="EMPHASIS"
 >Returns</I
@@ -2930,7 +3096,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the EntityValue parsed or NULL</TD
+>the EntityValue parsed with reference substitued or NULL</TD
 ></TR
 ></TABLE
 ><P
@@ -2940,7 +3106,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5162"
+NAME="AEN5225"
 ></A
 ><H3
 ><A
@@ -2967,7 +3133,10 @@
 ></TR
 ></TABLE
 ><P
->parse a value for an attribute</P
+>parse a value for an attribute
+Note: the parser won't do substitution of entities here, this
+will be handled later in xmlStringGetNodeList, unless it was
+asked for ctxt-&gt;replaceEntities != 0 </P
 ><P
 >[10] AttValue ::= '"' ([^&lt;&amp;"] | Reference)* '"' |
 "'" ([^&lt;&amp;'] | Reference)* "'"</P
@@ -3024,7 +3193,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5184"
+NAME="AEN5247"
 ></A
 ><H3
 ><A
@@ -3107,7 +3276,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5206"
+NAME="AEN5269"
 ></A
 ><H3
 ><A
@@ -3190,7 +3359,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5228"
+NAME="AEN5291"
 ></A
 ><H3
 ><A
@@ -3274,7 +3443,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5249"
+NAME="AEN5312"
 ></A
 ><H3
 ><A
@@ -3405,7 +3574,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5282"
+NAME="AEN5345"
 ></A
 ><H3
 ><A
@@ -3491,7 +3660,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5303"
+NAME="AEN5366"
 ></A
 ><H3
 ><A
@@ -3574,7 +3743,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5325"
+NAME="AEN5388"
 ></A
 ><H3
 ><A
@@ -3641,7 +3810,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5343"
+NAME="AEN5406"
 ></A
 ><H3
 ><A
@@ -3716,7 +3885,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5363"
+NAME="AEN5426"
 ></A
 ><H3
 ><A
@@ -3791,7 +3960,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5385"
+NAME="AEN5448"
 ></A
 ><H3
 ><A
@@ -3902,7 +4071,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5414"
+NAME="AEN5477"
 ></A
 ><H3
 ><A
@@ -3987,7 +4156,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5437"
+NAME="AEN5500"
 ></A
 ><H3
 ><A
@@ -4070,7 +4239,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5459"
+NAME="AEN5522"
 ></A
 ><H3
 ><A
@@ -4173,7 +4342,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5486"
+NAME="AEN5549"
 ></A
 ><H3
 ><A
@@ -4279,7 +4448,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5514"
+NAME="AEN5577"
 ></A
 ><H3
 ><A
@@ -4346,7 +4515,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5532"
+NAME="AEN5595"
 ></A
 ><H3
 ><A
@@ -4438,7 +4607,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5556"
+NAME="AEN5619"
 ></A
 ><H3
 ><A
@@ -4530,7 +4699,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5581"
+NAME="AEN5644"
 ></A
 ><H3
 ><A
@@ -4653,7 +4822,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5612"
+NAME="AEN5675"
 ></A
 ><H3
 ><A
@@ -4735,7 +4904,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5634"
+NAME="AEN5697"
 ></A
 ><H3
 ><A
@@ -4803,7 +4972,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5652"
+NAME="AEN5715"
 ></A
 ><H3
 ><A
@@ -4819,10 +4988,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><A
-HREF="gnome-xml-tree.html#CHAR"
->CHAR</A
->*       xmlParseCharRef                 (<A
+>int         xmlParseCharRef                 (<A
 HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
 >xmlParserCtxtPtr</A
 > ctxt);</PRE
@@ -4880,7 +5046,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the value parsed</TD
+>the value parsed (as an int)</TD
 ></TR
 ></TABLE
 ><P
@@ -4890,7 +5056,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5675"
+NAME="AEN5737"
 ></A
 ><H3
 ><A
@@ -4907,9 +5073,9 @@
 ><PRE
 CLASS="PROGRAMLISTING"
 ><A
-HREF="gnome-xml-tree.html#CHAR"
->CHAR</A
->*       xmlParseEntityRef               (<A
+HREF="gnome-xml-entities.html#XMLENTITYPTR"
+>xmlEntityPtr</A
+> xmlParseEntityRef              (<A
 HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
 >xmlParserCtxtPtr</A
 > ctxt);</PRE
@@ -4963,7 +5129,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the entity ref string or NULL if directly as input stream.</TD
+>the xmlEntityPtr if found, or NULL otherwise.</TD
 ></TR
 ></TABLE
 ><P
@@ -4973,7 +5139,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5697"
+NAME="AEN5759"
 ></A
 ><H3
 ><A
@@ -4989,10 +5155,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><A
-HREF="gnome-xml-tree.html#CHAR"
->CHAR</A
->*       xmlParseReference               (<A
+>void        xmlParseReference               (<A
 HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
 >xmlParserCtxtPtr</A
 > ctxt);</PRE
@@ -5000,7 +5163,16 @@
 ></TR
 ></TABLE
 ><P
->parse Reference declarations</P
+>parse and handle entity references in content, depending on the SAX
+interface, this may end-up in a call to <GTKDOCLINK
+HREF="CHARACTER"
+>character</GTKDOCLINK
+>() if this is a
+CharRef, a predefined entity, if there is no <GTKDOCLINK
+HREF="REFERENCE"
+>reference</GTKDOCLINK
+>() callback.
+or if the parser was asked to switch to that mode.</P
 ><P
 >[67] Reference ::= EntityRef | CharRef</P
 ><P
@@ -5033,22 +5205,6 @@
 VALIGN="TOP"
 >  an XML parser context</TD
 ></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->the entity string or NULL if handled directly by pushing
-the entity value as the input.</TD
-></TR
 ></TABLE
 ><P
 ></P
@@ -5057,7 +5213,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5719"
+NAME="AEN5778"
 ></A
 ><H3
 ><A
@@ -5073,10 +5229,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><A
-HREF="gnome-xml-tree.html#CHAR"
->CHAR</A
->*       xmlParsePEReference             (<A
+>void        xmlParsePEReference             (<A
 HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
 >xmlParserCtxtPtr</A
 > ctxt);</PRE
@@ -5084,7 +5237,9 @@
 ></TR
 ></TABLE
 ><P
->parse PEReference declarations</P
+>parse PEReference declarations
+The entity content is handled directly by pushing it's content as
+a new input stream.</P
 ><P
 >[69] PEReference ::= '%' Name ';'</P
 ><P
@@ -5117,21 +5272,6 @@
 VALIGN="TOP"
 >  an XML parser context</TD
 ></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->the entity content or NULL if handled directly.</TD
-></TR
 ></TABLE
 ><P
 ></P
@@ -5140,7 +5280,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5741"
+NAME="AEN5795"
 ></A
 ><H3
 ><A
@@ -5206,7 +5346,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5758"
+NAME="AEN5812"
 ></A
 ><H3
 ><A
@@ -5319,7 +5459,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5789"
+NAME="AEN5843"
 ></A
 ><H3
 ><A
@@ -5393,7 +5533,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5810"
+NAME="AEN5864"
 ></A
 ><H3
 ><A
@@ -5462,7 +5602,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5829"
+NAME="AEN5883"
 ></A
 ><H3
 ><A
@@ -5533,7 +5673,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5849"
+NAME="AEN5903"
 ></A
 ><H3
 ><A
@@ -5598,7 +5738,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5866"
+NAME="AEN5920"
 ></A
 ><H3
 ><A
@@ -5665,7 +5805,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5884"
+NAME="AEN5938"
 ></A
 ><H3
 ><A
@@ -5748,7 +5888,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5906"
+NAME="AEN5960"
 ></A
 ><H3
 ><A
@@ -5833,7 +5973,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5929"
+NAME="AEN5983"
 ></A
 ><H3
 ><A
@@ -5916,7 +6056,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5951"
+NAME="AEN6005"
 ></A
 ><H3
 ><A
@@ -6001,7 +6141,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5974"
+NAME="AEN6028"
 ></A
 ><H3
 ><A
@@ -6082,7 +6222,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5995"
+NAME="AEN6049"
 ></A
 ><H3
 ><A
@@ -6147,7 +6287,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6012"
+NAME="AEN6066"
 ></A
 ><H3
 ><A
@@ -6209,6 +6349,293 @@
 ></P
 ></DIV
 ></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6083"
+></A
+><H3
+><A
+NAME="XML-SUBSTITUTE-NONE"
+></A
+>XML_SUBSTITUTE_NONE</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#E8E8F8"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define XML_SUBSTITUTE_NONE	0</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6088"
+></A
+><H3
+><A
+NAME="XML-SUBSTITUTE-REF"
+></A
+>XML_SUBSTITUTE_REF</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#E8E8F8"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define XML_SUBSTITUTE_REF	1</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6093"
+></A
+><H3
+><A
+NAME="XML-SUBSTITUTE-PEREF"
+></A
+>XML_SUBSTITUTE_PEREF</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#E8E8F8"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define XML_SUBSTITUTE_PEREF	2</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6098"
+></A
+><H3
+><A
+NAME="XML-SUBSTITUTE-BOTH"
+></A
+>XML_SUBSTITUTE_BOTH</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#E8E8F8"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>#define XML_SUBSTITUTE_BOTH 	3</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN6103"
+></A
+><H3
+><A
+NAME="XMLDECODEENTITIES"
+></A
+>xmlDecodeEntities()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#E8E8F8"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+><A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+>*       xmlDecodeEntities               (<A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> ctxt,
+                                             int len,
+                                             int what,
+                                             <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> end,
+                                             <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> end2,
+                                             <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</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="#FFE0E0"
+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
+>len</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the len to decode (in bytes !), -1 for no size limit</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 CHAR, 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 CHAR, 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 CHAR, 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
 ></DIV
 ><DIV
 CLASS="NAVFOOTER"
diff --git a/doc/html/gnome-xml-tree.html b/doc/html/gnome-xml-tree.html
index 72121bc..eedec7f 100644
--- a/doc/html/gnome-xml-tree.html
+++ b/doc/html/gnome-xml-tree.html
@@ -65,7 +65,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1503"
+NAME="AEN1539"
 ></A
 ><H2
 >Name</H2
@@ -73,7 +73,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1506"
+NAME="AEN1542"
 ></A
 ><H2
 >Synopsis</H2
@@ -898,6 +898,17 @@
 > buf,
                                              const char *string);
 void        <A
+HREF="gnome-xml-tree.html#XMLBUFFERWRITEQUOTEDSTRING"
+>xmlBufferWriteQuotedString</A
+>      (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *string);
+void        <A
 HREF="gnome-xml-tree.html#XMLDOCDUMPMEMORY"
 >xmlDocDumpMemory</A
 >                (<A
@@ -958,7 +969,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1746"
+NAME="AEN1785"
 ></A
 ><H2
 >Description</H2
@@ -968,14 +979,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN1749"
+NAME="AEN1788"
 ></A
 ><H2
 >Details</H2
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1751"
+NAME="AEN1790"
 ></A
 ><H3
 ><A
@@ -1014,7 +1025,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1756"
+NAME="AEN1795"
 ></A
 ><H3
 ><A
@@ -1027,7 +1038,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1760"
+NAME="AEN1799"
 ></A
 ><H3
 ><A
@@ -1053,7 +1064,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1765"
+NAME="AEN1804"
 ></A
 ><H3
 ><A
@@ -1090,7 +1101,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1770"
+NAME="AEN1809"
 ></A
 ><H3
 ><A
@@ -1121,7 +1132,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1775"
+NAME="AEN1814"
 ></A
 ><H3
 ><A
@@ -1147,7 +1158,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1780"
+NAME="AEN1819"
 ></A
 ><H3
 ><A
@@ -1173,7 +1184,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1785"
+NAME="AEN1824"
 ></A
 ><H3
 ><A
@@ -1204,7 +1215,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1790"
+NAME="AEN1829"
 ></A
 ><H3
 ><A
@@ -1235,7 +1246,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1795"
+NAME="AEN1834"
 ></A
 ><H3
 ><A
@@ -1261,7 +1272,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1800"
+NAME="AEN1839"
 ></A
 ><H3
 ><A
@@ -1292,7 +1303,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1805"
+NAME="AEN1844"
 ></A
 ><H3
 ><A
@@ -1318,7 +1329,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1810"
+NAME="AEN1849"
 ></A
 ><H3
 ><A
@@ -1347,7 +1358,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1815"
+NAME="AEN1854"
 ></A
 ><H3
 ><A
@@ -1373,7 +1384,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1820"
+NAME="AEN1859"
 ></A
 ><H3
 ><A
@@ -1399,7 +1410,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1825"
+NAME="AEN1864"
 ></A
 ><H3
 ><A
@@ -1425,7 +1436,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1830"
+NAME="AEN1869"
 ></A
 ><H3
 ><A
@@ -1451,7 +1462,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1835"
+NAME="AEN1874"
 ></A
 ><H3
 ><A
@@ -1477,7 +1488,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1840"
+NAME="AEN1879"
 ></A
 ><H3
 ><A
@@ -1503,7 +1514,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1845"
+NAME="AEN1884"
 ></A
 ><H3
 ><A
@@ -1529,7 +1540,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1850"
+NAME="AEN1889"
 ></A
 ><H3
 ><A
@@ -1555,7 +1566,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1855"
+NAME="AEN1894"
 ></A
 ><H3
 ><A
@@ -1581,7 +1592,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1860"
+NAME="AEN1899"
 ></A
 ><H3
 ><A
@@ -1642,7 +1653,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1876"
+NAME="AEN1915"
 ></A
 ><H3
 ><A
@@ -1705,7 +1716,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1892"
+NAME="AEN1931"
 ></A
 ><H3
 ><A
@@ -1804,7 +1815,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1917"
+NAME="AEN1956"
 ></A
 ><H3
 ><A
@@ -1906,7 +1917,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1942"
+NAME="AEN1981"
 ></A
 ><H3
 ><A
@@ -1990,7 +2001,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1963"
+NAME="AEN2002"
 ></A
 ><H3
 ><A
@@ -2071,7 +2082,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1983"
+NAME="AEN2022"
 ></A
 ><H3
 ><A
@@ -2215,7 +2226,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2019"
+NAME="AEN2058"
 ></A
 ><H3
 ><A
@@ -2359,7 +2370,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2055"
+NAME="AEN2094"
 ></A
 ><H3
 ><A
@@ -2422,7 +2433,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2071"
+NAME="AEN2110"
 ></A
 ><H3
 ><A
@@ -2545,7 +2556,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2102"
+NAME="AEN2141"
 ></A
 ><H3
 ><A
@@ -2668,7 +2679,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2133"
+NAME="AEN2172"
 ></A
 ><H3
 ><A
@@ -2731,7 +2742,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2149"
+NAME="AEN2188"
 ></A
 ><H3
 ><A
@@ -2812,7 +2823,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2170"
+NAME="AEN2209"
 ></A
 ><H3
 ><A
@@ -2876,7 +2887,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2186"
+NAME="AEN2225"
 ></A
 ><H3
 ><A
@@ -2999,7 +3010,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2217"
+NAME="AEN2256"
 ></A
 ><H3
 ><A
@@ -3122,7 +3133,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2248"
+NAME="AEN2287"
 ></A
 ><H3
 ><A
@@ -3185,7 +3196,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2264"
+NAME="AEN2303"
 ></A
 ><H3
 ><A
@@ -3248,7 +3259,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2280"
+NAME="AEN2319"
 ></A
 ><H3
 ><A
@@ -3329,7 +3340,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2301"
+NAME="AEN2340"
 ></A
 ><H3
 ><A
@@ -3410,7 +3421,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2322"
+NAME="AEN2361"
 ></A
 ><H3
 ><A
@@ -3491,7 +3502,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2343"
+NAME="AEN2382"
 ></A
 ><H3
 ><A
@@ -3591,7 +3602,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2368"
+NAME="AEN2407"
 ></A
 ><H3
 ><A
@@ -3746,7 +3757,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2406"
+NAME="AEN2445"
 ></A
 ><H3
 ><A
@@ -3860,7 +3871,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2434"
+NAME="AEN2473"
 ></A
 ><H3
 ><A
@@ -4021,7 +4032,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2473"
+NAME="AEN2512"
 ></A
 ><H3
 ><A
@@ -4123,7 +4134,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2499"
+NAME="AEN2538"
 ></A
 ><H3
 ><A
@@ -4204,7 +4215,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2520"
+NAME="AEN2559"
 ></A
 ><H3
 ><A
@@ -4325,7 +4336,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2550"
+NAME="AEN2589"
 ></A
 ><H3
 ><A
@@ -4424,7 +4435,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2575"
+NAME="AEN2614"
 ></A
 ><H3
 ><A
@@ -4526,7 +4537,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2601"
+NAME="AEN2640"
 ></A
 ><H3
 ><A
@@ -4607,7 +4618,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2622"
+NAME="AEN2661"
 ></A
 ><H3
 ><A
@@ -4709,7 +4720,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2648"
+NAME="AEN2687"
 ></A
 ><H3
 ><A
@@ -4808,7 +4819,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2673"
+NAME="AEN2712"
 ></A
 ><H3
 ><A
@@ -4889,7 +4900,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2694"
+NAME="AEN2733"
 ></A
 ><H3
 ><A
@@ -4970,7 +4981,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2715"
+NAME="AEN2754"
 ></A
 ><H3
 ><A
@@ -5048,7 +5059,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2735"
+NAME="AEN2774"
 ></A
 ><H3
 ><A
@@ -5155,7 +5166,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2762"
+NAME="AEN2801"
 ></A
 ><H3
 ><A
@@ -5218,7 +5229,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2778"
+NAME="AEN2817"
 ></A
 ><H3
 ><A
@@ -5320,7 +5331,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2804"
+NAME="AEN2843"
 ></A
 ><H3
 ><A
@@ -5427,7 +5438,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2830"
+NAME="AEN2869"
 ></A
 ><H3
 ><A
@@ -5491,7 +5502,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2846"
+NAME="AEN2885"
 ></A
 ><H3
 ><A
@@ -5554,7 +5565,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2862"
+NAME="AEN2901"
 ></A
 ><H3
 ><A
@@ -5685,7 +5696,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2894"
+NAME="AEN2933"
 ></A
 ><H3
 ><A
@@ -5809,7 +5820,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2925"
+NAME="AEN2964"
 ></A
 ><H3
 ><A
@@ -5893,7 +5904,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2946"
+NAME="AEN2985"
 ></A
 ><H3
 ><A
@@ -5974,7 +5985,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2967"
+NAME="AEN3006"
 ></A
 ><H3
 ><A
@@ -6055,7 +6066,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2988"
+NAME="AEN3027"
 ></A
 ><H3
 ><A
@@ -6178,7 +6189,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3019"
+NAME="AEN3058"
 ></A
 ><H3
 ><A
@@ -6281,7 +6292,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3045"
+NAME="AEN3084"
 ></A
 ><H3
 ><A
@@ -6384,7 +6395,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3071"
+NAME="AEN3110"
 ></A
 ><H3
 ><A
@@ -6505,7 +6516,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3101"
+NAME="AEN3140"
 ></A
 ><H3
 ><A
@@ -6626,7 +6637,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3131"
+NAME="AEN3170"
 ></A
 ><H3
 ><A
@@ -6710,7 +6721,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3152"
+NAME="AEN3191"
 ></A
 ><H3
 ><A
@@ -6817,7 +6828,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3178"
+NAME="AEN3217"
 ></A
 ><H3
 ><A
@@ -6901,7 +6912,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3199"
+NAME="AEN3238"
 ></A
 ><H3
 ><A
@@ -7008,7 +7019,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3225"
+NAME="AEN3264"
 ></A
 ><H3
 ><A
@@ -7093,7 +7104,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3246"
+NAME="AEN3285"
 ></A
 ><H3
 ><A
@@ -7178,7 +7189,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3267"
+NAME="AEN3306"
 ></A
 ><H3
 ><A
@@ -7233,7 +7244,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the XML buffer</TD
+>  the XML buffer output</TD
 ></TR
 ><TR
 ><TD
@@ -7260,7 +7271,93 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3287"
+NAME="AEN3326"
+></A
+><H3
+><A
+NAME="XMLBUFFERWRITEQUOTEDSTRING"
+></A
+>xmlBufferWriteQuotedString()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#E8E8F8"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlBufferWriteQuotedString      (<A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+> buf,
+                                             const <A
+HREF="gnome-xml-tree.html#CHAR"
+>CHAR</A
+> *string);</PRE
+></TD
+></TR
+></TABLE
+><P
+>routine which manage and grows an output buffer. This one writes
+a quoted or double quoted CHAR string, checking first if it holds
+quote or double-quotes internally</P
+><P
+></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFE0E0"
+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
+>string</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>  the string to add</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN3347"
 ></A
 ><H3
 ><A
@@ -7363,7 +7460,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3312"
+NAME="AEN3372"
 ></A
 ><H3
 ><A
@@ -7447,7 +7544,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3333"
+NAME="AEN3393"
 ></A
 ><H3
 ><A
@@ -7544,7 +7641,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3357"
+NAME="AEN3417"
 ></A
 ><H3
 ><A
@@ -7622,7 +7719,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3377"
+NAME="AEN3437"
 ></A
 ><H3
 ><A
@@ -7704,7 +7801,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3397"
+NAME="AEN3457"
 ></A
 ><H3
 ><A
@@ -7762,7 +7859,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3412"
+NAME="AEN3472"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-valid.html b/doc/html/gnome-xml-valid.html
index 6c47337..7b7cc67 100644
--- a/doc/html/gnome-xml-valid.html
+++ b/doc/html/gnome-xml-valid.html
@@ -65,7 +65,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN3824"
+NAME="AEN3853"
 ></A
 ><H2
 >Name</H2
@@ -73,7 +73,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN3827"
+NAME="AEN3856"
 ></A
 ><H2
 >Synopsis</H2
@@ -327,7 +327,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3894"
+NAME="AEN3923"
 ></A
 ><H2
 >Description</H2
@@ -337,14 +337,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3897"
+NAME="AEN3926"
 ></A
 ><H2
 >Details</H2
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3899"
+NAME="AEN3928"
 ></A
 ><H3
 ><A
@@ -370,7 +370,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3904"
+NAME="AEN3933"
 ></A
 ><H3
 ><A
@@ -396,7 +396,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3909"
+NAME="AEN3938"
 ></A
 ><H3
 ><A
@@ -422,7 +422,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3914"
+NAME="AEN3943"
 ></A
 ><H3
 ><A
@@ -448,7 +448,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3919"
+NAME="AEN3948"
 ></A
 ><H3
 ><A
@@ -474,7 +474,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3924"
+NAME="AEN3953"
 ></A
 ><H3
 ><A
@@ -500,7 +500,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3929"
+NAME="AEN3958"
 ></A
 ><H3
 ><A
@@ -644,7 +644,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3965"
+NAME="AEN3994"
 ></A
 ><H3
 ><A
@@ -725,7 +725,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3986"
+NAME="AEN4015"
 ></A
 ><H3
 ><A
@@ -788,7 +788,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4002"
+NAME="AEN4031"
 ></A
 ><H3
 ><A
@@ -818,9 +818,6 @@
 ><P
 >This will dump the content of the notation table as an XML DTD definition</P
 ><P
->NOTE: TODO an extra parameter allowing a reentant implementation will
-be added.</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
@@ -848,7 +845,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XML buffer output</TD
 ></TR
 ><TR
 ><TD
@@ -875,7 +872,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4024"
+NAME="AEN4052"
 ></A
 ><H3
 ><A
@@ -974,7 +971,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4049"
+NAME="AEN4077"
 ></A
 ><H3
 ><A
@@ -1055,7 +1052,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4070"
+NAME="AEN4098"
 ></A
 ><H3
 ><A
@@ -1118,7 +1115,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4086"
+NAME="AEN4114"
 ></A
 ><H3
 ><A
@@ -1259,7 +1256,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4121"
+NAME="AEN4149"
 ></A
 ><H3
 ><A
@@ -1340,7 +1337,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4142"
+NAME="AEN4170"
 ></A
 ><H3
 ><A
@@ -1403,7 +1400,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4158"
+NAME="AEN4186"
 ></A
 ><H3
 ><A
@@ -1433,9 +1430,6 @@
 ><P
 >This will dump the content of the element table as an XML DTD definition</P
 ><P
->NOTE: TODO an extra parameter allowing a reentant implementation will
-be added.</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
@@ -1463,7 +1457,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XML buffer output</TD
 ></TR
 ><TR
 ><TD
@@ -1490,7 +1484,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4180"
+NAME="AEN4207"
 ></A
 ><H3
 ><A
@@ -1572,7 +1566,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4201"
+NAME="AEN4228"
 ></A
 ><H3
 ><A
@@ -1635,7 +1629,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4217"
+NAME="AEN4244"
 ></A
 ><H3
 ><A
@@ -1717,7 +1711,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4238"
+NAME="AEN4265"
 ></A
 ><H3
 ><A
@@ -1918,7 +1912,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4287"
+NAME="AEN4314"
 ></A
 ><H3
 ><A
@@ -1999,7 +1993,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4308"
+NAME="AEN4335"
 ></A
 ><H3
 ><A
@@ -2062,7 +2056,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4324"
+NAME="AEN4351"
 ></A
 ><H3
 ><A
@@ -2092,9 +2086,6 @@
 ><P
 >This will dump the content of the attribute table as an XML DTD definition</P
 ><P
->NOTE: TODO an extra parameter allowing a reentant implementation will
-be added.</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
@@ -2122,7 +2113,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->&nbsp;</TD
+>  the XML buffer output</TD
 ></TR
 ><TR
 ><TD
diff --git a/doc/html/index.sgml b/doc/html/index.sgml
index ed627da..0d09d3a 100644
--- a/doc/html/index.sgml
+++ b/doc/html/index.sgml
@@ -46,6 +46,7 @@
 <ANCHOR id ="XMLPARSEDOC" href="gnome-xml/gnome-xml-parser.html#XMLPARSEDOC">
 <ANCHOR id ="XMLPARSEMEMORY" href="gnome-xml/gnome-xml-parser.html#XMLPARSEMEMORY">
 <ANCHOR id ="XMLPARSEFILE" href="gnome-xml/gnome-xml-parser.html#XMLPARSEFILE">
+<ANCHOR id ="XMLSUBSTITUTEENTITIESDEFAULT" href="gnome-xml/gnome-xml-parser.html#XMLSUBSTITUTEENTITIESDEFAULT">
 <ANCHOR id ="XMLRECOVERDOC" href="gnome-xml/gnome-xml-parser.html#XMLRECOVERDOC">
 <ANCHOR id ="XMLRECOVERMEMORY" href="gnome-xml/gnome-xml-parser.html#XMLRECOVERMEMORY">
 <ANCHOR id ="XMLRECOVERFILE" href="gnome-xml/gnome-xml-parser.html#XMLRECOVERFILE">
@@ -53,6 +54,8 @@
 <ANCHOR id ="XMLSAXPARSEDOC" href="gnome-xml/gnome-xml-parser.html#XMLSAXPARSEDOC">
 <ANCHOR id ="XMLSAXPARSEMEMORY" href="gnome-xml/gnome-xml-parser.html#XMLSAXPARSEMEMORY">
 <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 ="XMLINITPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLINITPARSERCTXT">
 <ANCHOR id ="XMLCLEARPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLCLEARPARSERCTXT">
 <ANCHOR id ="XMLSETUPPARSERFORBUFFER" href="gnome-xml/gnome-xml-parser.html#XMLSETUPPARSERFORBUFFER">
@@ -144,6 +147,7 @@
 <ANCHOR id ="XMLNODEGETCONTENT" href="gnome-xml/gnome-xml-tree.html#XMLNODEGETCONTENT">
 <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 ="XMLDOCDUMPMEMORY" href="gnome-xml/gnome-xml-tree.html#XMLDOCDUMPMEMORY">
 <ANCHOR id ="XMLDOCDUMP" href="gnome-xml/gnome-xml-tree.html#XMLDOCDUMP">
 <ANCHOR id ="XMLSAVEFILE" href="gnome-xml/gnome-xml-tree.html#XMLSAVEFILE">
@@ -171,7 +175,6 @@
 <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 ="XMLNEWENTITYINPUTSTREAM" href="gnome-xml/gnome-xml-entities.html#XMLNEWENTITYINPUTSTREAM">
 <ANCHOR id ="GNOME-XML-VALID" href="gnome-xml/gnome-xml-valid.html">
 <ANCHOR id ="XML-MIN-NOTATION-TABLE" href="gnome-xml/gnome-xml-valid.html#XML-MIN-NOTATION-TABLE">
 <ANCHOR id ="XMLNOTATIONTABLEPTR" href="gnome-xml/gnome-xml-valid.html#XMLNOTATIONTABLEPTR">
@@ -222,6 +225,7 @@
 <ANCHOR id ="XMLPUSHINPUT" href="gnome-xml/gnome-xml-parserinternals.html#XMLPUSHINPUT">
 <ANCHOR id ="XMLPOPINPUT" href="gnome-xml/gnome-xml-parserinternals.html#XMLPOPINPUT">
 <ANCHOR id ="XMLFREEINPUTSTREAM" href="gnome-xml/gnome-xml-parserinternals.html#XMLFREEINPUTSTREAM">
+<ANCHOR id ="XMLNEWINPUTFROMFILE" href="gnome-xml/gnome-xml-parserinternals.html#XMLNEWINPUTFROMFILE">
 <ANCHOR id ="XMLSPLITQNAME" href="gnome-xml/gnome-xml-parserinternals.html#XMLSPLITQNAME">
 <ANCHOR id ="XMLNAMESPACEPARSENCNAME" href="gnome-xml/gnome-xml-parserinternals.html#XMLNAMESPACEPARSENCNAME">
 <ANCHOR id ="XMLNAMESPACEPARSEQNAME" href="gnome-xml/gnome-xml-parserinternals.html#XMLNAMESPACEPARSEQNAME">
@@ -270,3 +274,8 @@
 <ANCHOR id ="XMLPARSESDDECL" href="gnome-xml/gnome-xml-parserinternals.html#XMLPARSESDDECL">
 <ANCHOR id ="XMLPARSEXMLDECL" href="gnome-xml/gnome-xml-parserinternals.html#XMLPARSEXMLDECL">
 <ANCHOR id ="XMLPARSEMISC" href="gnome-xml/gnome-xml-parserinternals.html#XMLPARSEMISC">
+<ANCHOR id ="XML-SUBSTITUTE-NONE" href="gnome-xml/gnome-xml-parserinternals.html#XML-SUBSTITUTE-NONE">
+<ANCHOR id ="XML-SUBSTITUTE-REF" href="gnome-xml/gnome-xml-parserinternals.html#XML-SUBSTITUTE-REF">
+<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">