Added cleanup routines, cleanup with -pedantic on linux, closed #3788, Daniel
diff --git a/ChangeLog b/ChangeLog
index 03459b6..76a7959 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Wed Nov 24 19:00:06 CET 1999 Daniel Veillard <Daniel.Veillard@w3.org>
+
+	* tree.[ch] xmlIO.[ch] parser.c valid.c: code cleanup with -pedantic
+	* parser.[ch] encoding.[ch]: added memory cleanup routines
+	* parser.c: closing bug #3788
+	* doc/*: rebuilt the doc
+
 Tue Nov 23 11:23:55 CET 1999 Daniel Veillard <Daniel.Veillard@w3.org>
 
 	* tree.[ch]: closing bug 3748, added xmlNewDocRawNode(), 
diff --git a/doc/html/gnome-xml-entities.html b/doc/html/gnome-xml-entities.html
index 1ea56d9..d6ac35b 100644
--- a/doc/html/gnome-xml-entities.html
+++ b/doc/html/gnome-xml-entities.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4332"
+NAME="AEN4339"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4335"
+NAME="AEN4342"
 ></A
 ><H2
 >Synopsis</H2
@@ -344,7 +344,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4392"
+NAME="AEN4399"
 ></A
 ><H2
 >Description</H2
@@ -354,14 +354,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4395"
+NAME="AEN4402"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4397"
+NAME="AEN4404"
 ></A
 ><H3
 ><A
@@ -387,7 +387,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4402"
+NAME="AEN4409"
 ></A
 ><H3
 ><A
@@ -413,7 +413,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4407"
+NAME="AEN4414"
 ></A
 ><H3
 ><A
@@ -439,7 +439,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4412"
+NAME="AEN4419"
 ></A
 ><H3
 ><A
@@ -465,7 +465,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4417"
+NAME="AEN4424"
 ></A
 ><H3
 ><A
@@ -491,7 +491,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4422"
+NAME="AEN4429"
 ></A
 ><H3
 ><A
@@ -517,7 +517,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4427"
+NAME="AEN4434"
 ></A
 ><H3
 ><A
@@ -543,7 +543,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4432"
+NAME="AEN4439"
 ></A
 ><H3
 ><A
@@ -569,7 +569,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4437"
+NAME="AEN4444"
 ></A
 ><H3
 ><A
@@ -595,7 +595,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4442"
+NAME="AEN4449"
 ></A
 ><H3
 ><A
@@ -760,7 +760,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4482"
+NAME="AEN4489"
 ></A
 ><H3
 ><A
@@ -925,7 +925,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4522"
+NAME="AEN4529"
 ></A
 ><H3
 ><A
@@ -1006,7 +1006,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4543"
+NAME="AEN4550"
 ></A
 ><H3
 ><A
@@ -1110,7 +1110,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4569"
+NAME="AEN4576"
 ></A
 ><H3
 ><A
@@ -1213,7 +1213,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4595"
+NAME="AEN4602"
 ></A
 ><H3
 ><A
@@ -1316,7 +1316,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4621"
+NAME="AEN4628"
 ></A
 ><H3
 ><A
@@ -1425,7 +1425,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4649"
+NAME="AEN4656"
 ></A
 ><H3
 ><A
@@ -1533,7 +1533,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4676"
+NAME="AEN4683"
 ></A
 ><H3
 ><A
@@ -1594,7 +1594,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4692"
+NAME="AEN4699"
 ></A
 ><H3
 ><A
@@ -1675,7 +1675,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4713"
+NAME="AEN4720"
 ></A
 ><H3
 ><A
@@ -1738,7 +1738,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4729"
+NAME="AEN4736"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-htmlparser.html b/doc/html/gnome-xml-htmlparser.html
index 957face..98ff367 100644
--- a/doc/html/gnome-xml-htmlparser.html
+++ b/doc/html/gnome-xml-htmlparser.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN6402"
+NAME="AEN6409"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN6405"
+NAME="AEN6412"
 ></A
 ><H2
 >Synopsis</H2
@@ -277,7 +277,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN6443"
+NAME="AEN6450"
 ></A
 ><H2
 >Description</H2
@@ -287,14 +287,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN6446"
+NAME="AEN6453"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6448"
+NAME="AEN6455"
 ></A
 ><H3
 ><A
@@ -320,7 +320,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6453"
+NAME="AEN6460"
 ></A
 ><H3
 ><A
@@ -346,7 +346,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6458"
+NAME="AEN6465"
 ></A
 ><H3
 ><A
@@ -372,7 +372,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6463"
+NAME="AEN6470"
 ></A
 ><H3
 ><A
@@ -398,7 +398,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6468"
+NAME="AEN6475"
 ></A
 ><H3
 ><A
@@ -424,7 +424,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6473"
+NAME="AEN6480"
 ></A
 ><H3
 ><A
@@ -450,7 +450,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6478"
+NAME="AEN6485"
 ></A
 ><H3
 ><A
@@ -476,7 +476,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6483"
+NAME="AEN6490"
 ></A
 ><H3
 ><A
@@ -502,7 +502,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6488"
+NAME="AEN6495"
 ></A
 ><H3
 ><A
@@ -528,7 +528,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6493"
+NAME="AEN6500"
 ></A
 ><H3
 ><A
@@ -609,7 +609,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6514"
+NAME="AEN6521"
 ></A
 ><H3
 ><A
@@ -692,7 +692,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6536"
+NAME="AEN6543"
 ></A
 ><H3
 ><A
@@ -797,7 +797,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6563"
+NAME="AEN6570"
 ></A
 ><H3
 ><A
@@ -881,7 +881,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6585"
+NAME="AEN6592"
 ></A
 ><H3
 ><A
@@ -948,7 +948,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6603"
+NAME="AEN6610"
 ></A
 ><H3
 ><A
@@ -1088,7 +1088,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6637"
+NAME="AEN6644"
 ></A
 ><H3
 ><A
@@ -1187,7 +1187,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6662"
+NAME="AEN6669"
 ></A
 ><H3
 ><A
@@ -1325,7 +1325,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6695"
+NAME="AEN6702"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-htmltree.html b/doc/html/gnome-xml-htmltree.html
index dcf9ab1..73cc4b8 100644
--- a/doc/html/gnome-xml-htmltree.html
+++ b/doc/html/gnome-xml-htmltree.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN6724"
+NAME="AEN6731"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN6727"
+NAME="AEN6734"
 ></A
 ><H2
 >Synopsis</H2
@@ -188,7 +188,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN6741"
+NAME="AEN6748"
 ></A
 ><H2
 >Description</H2
@@ -198,14 +198,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN6744"
+NAME="AEN6751"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6746"
+NAME="AEN6753"
 ></A
 ><H3
 ><A
@@ -231,7 +231,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6751"
+NAME="AEN6758"
 ></A
 ><H3
 ><A
@@ -257,7 +257,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6756"
+NAME="AEN6763"
 ></A
 ><H3
 ><A
@@ -283,7 +283,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6761"
+NAME="AEN6768"
 ></A
 ><H3
 ><A
@@ -386,7 +386,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6786"
+NAME="AEN6793"
 ></A
 ><H3
 ><A
@@ -470,7 +470,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6807"
+NAME="AEN6814"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-nanohttp.html b/doc/html/gnome-xml-nanohttp.html
index 5aedacd..720e7ae 100644
--- a/doc/html/gnome-xml-nanohttp.html
+++ b/doc/html/gnome-xml-nanohttp.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN7104"
+NAME="AEN7111"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN7107"
+NAME="AEN7114"
 ></A
 ><H2
 >Synopsis</H2
@@ -183,7 +183,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7117"
+NAME="AEN7124"
 ></A
 ><H2
 >Description</H2
@@ -193,14 +193,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7120"
+NAME="AEN7127"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7122"
+NAME="AEN7129"
 ></A
 ><H3
 ><A
@@ -314,7 +314,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7149"
+NAME="AEN7156"
 ></A
 ><H3
 ><A
@@ -453,7 +453,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7181"
+NAME="AEN7188"
 ></A
 ><H3
 ><A
@@ -533,7 +533,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7200"
+NAME="AEN7207"
 ></A
 ><H3
 ><A
@@ -608,7 +608,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7219"
+NAME="AEN7226"
 ></A
 ><H3
 ><A
@@ -731,7 +731,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7248"
+NAME="AEN7255"
 ></A
 ><H3
 ><A
@@ -825,7 +825,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7271"
+NAME="AEN7278"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-parser.html b/doc/html/gnome-xml-parser.html
index 8099809..01cccda 100644
--- a/doc/html/gnome-xml-parser.html
+++ b/doc/html/gnome-xml-parser.html
@@ -500,6 +500,10 @@
 HREF="gnome-xml-parser.html#XMLSUBSTITUTEENTITIESDEFAULTVALUE"
 >xmlSubstituteEntitiesDefaultValue</A
 >;
+void        <A
+HREF="gnome-xml-parser.html#XMLCLEANUPPARSER"
+>xmlCleanupParser</A
+>                (void);
 int         <A
 HREF="gnome-xml-parser.html#XMLPARSERINPUTREAD"
 >xmlParserInputRead</A
@@ -910,7 +914,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN233"
+NAME="AEN234"
 ></A
 ><H2
 >Description</H2
@@ -920,14 +924,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN236"
+NAME="AEN237"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN238"
+NAME="AEN239"
 ></A
 ><H3
 ><A
@@ -953,7 +957,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN243"
+NAME="AEN244"
 ></A
 ><H3
 ><A
@@ -1014,7 +1018,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN258"
+NAME="AEN259"
 ></A
 ><H3
 ><A
@@ -1040,7 +1044,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN263"
+NAME="AEN264"
 ></A
 ><H3
 ><A
@@ -1156,7 +1160,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN291"
+NAME="AEN292"
 ></A
 ><H3
 ><A
@@ -1182,7 +1186,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN296"
+NAME="AEN297"
 ></A
 ><H3
 ><A
@@ -1208,7 +1212,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN301"
+NAME="AEN302"
 ></A
 ><H3
 ><A
@@ -1234,7 +1238,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN306"
+NAME="AEN307"
 ></A
 ><H3
 ><A
@@ -1271,7 +1275,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN311"
+NAME="AEN312"
 ></A
 ><H3
 ><A
@@ -1297,7 +1301,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN316"
+NAME="AEN317"
 ></A
 ><H3
 ><A
@@ -1323,7 +1327,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN321"
+NAME="AEN322"
 ></A
 ><H3
 ><A
@@ -1349,7 +1353,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN326"
+NAME="AEN327"
 ></A
 ><H3
 ><A
@@ -1375,7 +1379,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN331"
+NAME="AEN332"
 ></A
 ><H3
 ><A
@@ -1493,7 +1497,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN360"
+NAME="AEN361"
 ></A
 ><H3
 ><A
@@ -1614,7 +1618,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN389"
+NAME="AEN390"
 ></A
 ><H3
 ><A
@@ -1711,7 +1715,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN413"
+NAME="AEN414"
 ></A
 ><H3
 ><A
@@ -1808,7 +1812,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN437"
+NAME="AEN438"
 ></A
 ><H3
 ><A
@@ -1968,7 +1972,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN475"
+NAME="AEN476"
 ></A
 ><H3
 ><A
@@ -2089,7 +2093,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN504"
+NAME="AEN505"
 ></A
 ><H3
 ><A
@@ -2267,7 +2271,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN546"
+NAME="AEN547"
 ></A
 ><H3
 ><A
@@ -2385,7 +2389,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN574"
+NAME="AEN575"
 ></A
 ><H3
 ><A
@@ -2527,7 +2531,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN608"
+NAME="AEN609"
 ></A
 ><H3
 ><A
@@ -2606,7 +2610,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN627"
+NAME="AEN628"
 ></A
 ><H3
 ><A
@@ -2664,7 +2668,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN641"
+NAME="AEN642"
 ></A
 ><H3
 ><A
@@ -2722,7 +2726,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN655"
+NAME="AEN656"
 ></A
 ><H3
 ><A
@@ -2822,7 +2826,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN679"
+NAME="AEN680"
 ></A
 ><H3
 ><A
@@ -2901,7 +2905,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN698"
+NAME="AEN699"
 ></A
 ><H3
 ><A
@@ -3001,7 +3005,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN722"
+NAME="AEN723"
 ></A
 ><H3
 ><A
@@ -3080,7 +3084,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN741"
+NAME="AEN742"
 ></A
 ><H3
 ><A
@@ -3177,7 +3181,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN764"
+NAME="AEN765"
 ></A
 ><H3
 ><A
@@ -3274,7 +3278,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN787"
+NAME="AEN788"
 ></A
 ><H3
 ><A
@@ -3374,7 +3378,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN811"
+NAME="AEN812"
 ></A
 ><H3
 ><A
@@ -3453,7 +3457,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN830"
+NAME="AEN831"
 ></A
 ><H3
 ><A
@@ -3550,7 +3554,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN853"
+NAME="AEN854"
 ></A
 ><H3
 ><A
@@ -3644,7 +3648,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN875"
+NAME="AEN876"
 ></A
 ><H3
 ><A
@@ -3738,7 +3742,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN897"
+NAME="AEN898"
 ></A
 ><H3
 ><A
@@ -3832,7 +3836,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN919"
+NAME="AEN920"
 ></A
 ><H3
 ><A
@@ -3905,7 +3909,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN937"
+NAME="AEN938"
 ></A
 ><H3
 ><A
@@ -3978,7 +3982,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN955"
+NAME="AEN956"
 ></A
 ><H3
 ><A
@@ -4051,7 +4055,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN973"
+NAME="AEN974"
 ></A
 ><H3
 ><A
@@ -4077,7 +4081,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN978"
+NAME="AEN979"
 ></A
 ><H3
 ><A
@@ -4103,7 +4107,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN983"
+NAME="AEN984"
 ></A
 ><H3
 ><A
@@ -4129,7 +4133,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN988"
+NAME="AEN989"
 ></A
 ><H3
 ><A
@@ -4155,7 +4159,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN993"
+NAME="AEN994"
 ></A
 ><H3
 ><A
@@ -4181,7 +4185,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN998"
+NAME="AEN999"
 ></A
 ><H3
 ><A
@@ -4207,7 +4211,38 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1003"
+NAME="AEN1004"
+></A
+><H3
+><A
+NAME="XMLCLEANUPPARSER"
+></A
+>xmlCleanupParser ()</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>void        xmlCleanupParser                (void);</PRE
+></TD
+></TR
+></TABLE
+><P
+>Cleanup function for the XML parser. It tries to reclaim all
+parsing related global memory allocated for the parser processing.
+It doesn't deallocate any document related memory. Calling this
+function should not prevent reusing the parser.</P
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN1010"
 ></A
 ><H3
 ><A
@@ -4305,7 +4340,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1027"
+NAME="AEN1034"
 ></A
 ><H3
 ><A
@@ -4403,7 +4438,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1051"
+NAME="AEN1058"
 ></A
 ><H3
 ><A
@@ -4484,7 +4519,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1072"
+NAME="AEN1079"
 ></A
 ><H3
 ><A
@@ -4588,7 +4623,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1098"
+NAME="AEN1105"
 ></A
 ><H3
 ><A
@@ -4705,7 +4740,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1127"
+NAME="AEN1134"
 ></A
 ><H3
 ><A
@@ -4807,7 +4842,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1153"
+NAME="AEN1160"
 ></A
 ><H3
 ><A
@@ -4909,7 +4944,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1179"
+NAME="AEN1186"
 ></A
 ><H3
 ><A
@@ -5008,7 +5043,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1204"
+NAME="AEN1211"
 ></A
 ><H3
 ><A
@@ -5125,7 +5160,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1233"
+NAME="AEN1240"
 ></A
 ><H3
 ><A
@@ -5203,7 +5238,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1253"
+NAME="AEN1260"
 ></A
 ><H3
 ><A
@@ -5305,7 +5340,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1279"
+NAME="AEN1286"
 ></A
 ><H3
 ><A
@@ -5430,7 +5465,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1310"
+NAME="AEN1317"
 ></A
 ><H3
 ><A
@@ -5511,7 +5546,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1331"
+NAME="AEN1338"
 ></A
 ><H3
 ><A
@@ -5607,7 +5642,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1355"
+NAME="AEN1362"
 ></A
 ><H3
 ><A
@@ -5686,7 +5721,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1375"
+NAME="AEN1382"
 ></A
 ><H3
 ><A
@@ -5769,7 +5804,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1395"
+NAME="AEN1402"
 ></A
 ><H3
 ><A
@@ -5851,7 +5886,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1416"
+NAME="AEN1423"
 ></A
 ><H3
 ><A
@@ -5948,7 +5983,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1440"
+NAME="AEN1447"
 ></A
 ><H3
 ><A
@@ -6028,7 +6063,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1460"
+NAME="AEN1467"
 ></A
 ><H3
 ><A
@@ -6112,7 +6147,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1482"
+NAME="AEN1489"
 ></A
 ><H3
 ><A
@@ -6235,7 +6270,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1512"
+NAME="AEN1519"
 ></A
 ><H3
 ><A
@@ -6350,7 +6385,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1540"
+NAME="AEN1547"
 ></A
 ><H3
 ><A
@@ -6483,7 +6518,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1572"
+NAME="AEN1579"
 ></A
 ><H3
 ><A
@@ -6621,7 +6656,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1605"
+NAME="AEN1612"
 ></A
 ><H3
 ><A
@@ -6742,7 +6777,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1634"
+NAME="AEN1641"
 ></A
 ><H3
 ><A
@@ -6844,7 +6879,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1660"
+NAME="AEN1667"
 ></A
 ><H3
 ><A
@@ -6967,7 +7002,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1691"
+NAME="AEN1698"
 ></A
 ><H3
 ><A
@@ -7030,7 +7065,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1707"
+NAME="AEN1714"
 ></A
 ><H3
 ><A
@@ -7093,7 +7128,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1723"
+NAME="AEN1730"
 ></A
 ><H3
 ><A
@@ -7197,7 +7232,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1748"
+NAME="AEN1755"
 ></A
 ><H3
 ><A
@@ -7225,7 +7260,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1754"
+NAME="AEN1761"
 ></A
 ><H3
 ><A
@@ -7253,7 +7288,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1760"
+NAME="AEN1767"
 ></A
 ><H3
 ><A
@@ -7356,7 +7391,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1786"
+NAME="AEN1793"
 ></A
 ><H3
 ><A
@@ -7419,7 +7454,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1802"
+NAME="AEN1809"
 ></A
 ><H3
 ><A
@@ -7483,7 +7518,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1818"
+NAME="AEN1825"
 ></A
 ><H3
 ><A
@@ -7586,7 +7621,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1844"
+NAME="AEN1851"
 ></A
 ><H3
 ><A
@@ -7670,7 +7705,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1865"
+NAME="AEN1872"
 ></A
 ><H3
 ><A
@@ -7731,7 +7766,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1880"
+NAME="AEN1887"
 ></A
 ><H3
 ><A
@@ -7791,7 +7826,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1895"
+NAME="AEN1902"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-parserinternals.html b/doc/html/gnome-xml-parserinternals.html
index 0a30c07..deff3d7 100644
--- a/doc/html/gnome-xml-parserinternals.html
+++ b/doc/html/gnome-xml-parserinternals.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN7291"
+NAME="AEN7298"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN7294"
+NAME="AEN7301"
 ></A
 ><H2
 >Synopsis</H2
@@ -886,7 +886,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7505"
+NAME="AEN7512"
 ></A
 ><H2
 >Description</H2
@@ -896,14 +896,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7508"
+NAME="AEN7515"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7510"
+NAME="AEN7517"
 ></A
 ><H3
 ><A
@@ -929,7 +929,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7515"
+NAME="AEN7522"
 ></A
 ><H3
 ><A
@@ -942,7 +942,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7519"
+NAME="AEN7526"
 ></A
 ><H3
 ><A
@@ -1000,7 +1000,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7533"
+NAME="AEN7540"
 ></A
 ><H3
 ><A
@@ -1058,7 +1058,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7547"
+NAME="AEN7554"
 ></A
 ><H3
 ><A
@@ -1116,7 +1116,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7561"
+NAME="AEN7568"
 ></A
 ><H3
 ><A
@@ -1174,7 +1174,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7575"
+NAME="AEN7582"
 ></A
 ><H3
 ><A
@@ -1232,7 +1232,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7589"
+NAME="AEN7596"
 ></A
 ><H3
 ><A
@@ -1290,7 +1290,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7603"
+NAME="AEN7610"
 ></A
 ><H3
 ><A
@@ -1348,7 +1348,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7617"
+NAME="AEN7624"
 ></A
 ><H3
 ><A
@@ -1406,7 +1406,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7631"
+NAME="AEN7638"
 ></A
 ><H3
 ><A
@@ -1464,7 +1464,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7645"
+NAME="AEN7652"
 ></A
 ><H3
 ><A
@@ -1522,7 +1522,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7659"
+NAME="AEN7666"
 ></A
 ><H3
 ><A
@@ -1580,7 +1580,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7673"
+NAME="AEN7680"
 ></A
 ><H3
 ><A
@@ -1638,7 +1638,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7687"
+NAME="AEN7694"
 ></A
 ><H3
 ><A
@@ -1696,7 +1696,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7701"
+NAME="AEN7708"
 ></A
 ><H3
 ><A
@@ -1754,7 +1754,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7715"
+NAME="AEN7722"
 ></A
 ><H3
 ><A
@@ -1835,7 +1835,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7736"
+NAME="AEN7743"
 ></A
 ><H3
 ><A
@@ -1915,7 +1915,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7756"
+NAME="AEN7763"
 ></A
 ><H3
 ><A
@@ -2011,7 +2011,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7780"
+NAME="AEN7787"
 ></A
 ><H3
 ><A
@@ -2075,7 +2075,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7796"
+NAME="AEN7803"
 ></A
 ><H3
 ><A
@@ -2136,7 +2136,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7812"
+NAME="AEN7819"
 ></A
 ><H3
 ><A
@@ -2221,7 +2221,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7833"
+NAME="AEN7840"
 ></A
 ><H3
 ><A
@@ -2308,7 +2308,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7855"
+NAME="AEN7862"
 ></A
 ><H3
 ><A
@@ -2410,7 +2410,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7881"
+NAME="AEN7888"
 ></A
 ><H3
 ><A
@@ -2495,7 +2495,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7902"
+NAME="AEN7909"
 ></A
 ><H3
 ><A
@@ -2577,7 +2577,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7923"
+NAME="AEN7930"
 ></A
 ><H3
 ><A
@@ -2640,7 +2640,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7939"
+NAME="AEN7946"
 ></A
 ><H3
 ><A
@@ -2739,7 +2739,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7964"
+NAME="AEN7971"
 ></A
 ><H3
 ><A
@@ -2848,7 +2848,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7993"
+NAME="AEN8000"
 ></A
 ><H3
 ><A
@@ -2934,7 +2934,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8016"
+NAME="AEN8023"
 ></A
 ><H3
 ><A
@@ -3043,7 +3043,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8045"
+NAME="AEN8052"
 ></A
 ><H3
 ><A
@@ -3128,7 +3128,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8068"
+NAME="AEN8075"
 ></A
 ><H3
 ><A
@@ -3210,7 +3210,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8089"
+NAME="AEN8096"
 ></A
 ><H3
 ><A
@@ -3279,7 +3279,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8107"
+NAME="AEN8114"
 ></A
 ><H3
 ><A
@@ -3368,7 +3368,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8131"
+NAME="AEN8138"
 ></A
 ><H3
 ><A
@@ -3456,7 +3456,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8155"
+NAME="AEN8162"
 ></A
 ><H3
 ><A
@@ -3541,7 +3541,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8178"
+NAME="AEN8185"
 ></A
 ><H3
 ><A
@@ -3646,7 +3646,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8205"
+NAME="AEN8212"
 ></A
 ><H3
 ><A
@@ -3784,7 +3784,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8239"
+NAME="AEN8246"
 ></A
 ><H3
 ><A
@@ -3867,7 +3867,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8261"
+NAME="AEN8268"
 ></A
 ><H3
 ><A
@@ -3950,7 +3950,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8283"
+NAME="AEN8290"
 ></A
 ><H3
 ><A
@@ -4034,7 +4034,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8304"
+NAME="AEN8311"
 ></A
 ><H3
 ><A
@@ -4165,7 +4165,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8337"
+NAME="AEN8344"
 ></A
 ><H3
 ><A
@@ -4232,7 +4232,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8354"
+NAME="AEN8361"
 ></A
 ><H3
 ><A
@@ -4315,7 +4315,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8376"
+NAME="AEN8383"
 ></A
 ><H3
 ><A
@@ -4382,7 +4382,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8394"
+NAME="AEN8401"
 ></A
 ><H3
 ><A
@@ -4457,7 +4457,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8414"
+NAME="AEN8421"
 ></A
 ><H3
 ><A
@@ -4535,7 +4535,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8437"
+NAME="AEN8444"
 ></A
 ><H3
 ><A
@@ -4674,7 +4674,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8474"
+NAME="AEN8481"
 ></A
 ><H3
 ><A
@@ -4763,7 +4763,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8498"
+NAME="AEN8505"
 ></A
 ><H3
 ><A
@@ -4850,7 +4850,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8521"
+NAME="AEN8528"
 ></A
 ><H3
 ><A
@@ -4953,7 +4953,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8548"
+NAME="AEN8555"
 ></A
 ><H3
 ><A
@@ -5097,7 +5097,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8586"
+NAME="AEN8593"
 ></A
 ><H3
 ><A
@@ -5164,7 +5164,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8604"
+NAME="AEN8611"
 ></A
 ><H3
 ><A
@@ -5262,7 +5262,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8630"
+NAME="AEN8637"
 ></A
 ><H3
 ><A
@@ -5365,7 +5365,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8656"
+NAME="AEN8663"
 ></A
 ><H3
 ><A
@@ -5488,7 +5488,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8687"
+NAME="AEN8694"
 ></A
 ><H3
 ><A
@@ -5571,7 +5571,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8709"
+NAME="AEN8716"
 ></A
 ><H3
 ><A
@@ -5650,7 +5650,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8728"
+NAME="AEN8735"
 ></A
 ><H3
 ><A
@@ -5738,7 +5738,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8751"
+NAME="AEN8758"
 ></A
 ><H3
 ><A
@@ -5839,7 +5839,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8775"
+NAME="AEN8782"
 ></A
 ><H3
 ><A
@@ -5913,7 +5913,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8794"
+NAME="AEN8801"
 ></A
 ><H3
 ><A
@@ -5999,7 +5999,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8815"
+NAME="AEN8822"
 ></A
 ><H3
 ><A
@@ -6069,7 +6069,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8833"
+NAME="AEN8840"
 ></A
 ><H3
 ><A
@@ -6194,7 +6194,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8867"
+NAME="AEN8874"
 ></A
 ><H3
 ><A
@@ -6296,7 +6296,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8896"
+NAME="AEN8903"
 ></A
 ><H3
 ><A
@@ -6386,7 +6386,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8920"
+NAME="AEN8927"
 ></A
 ><H3
 ><A
@@ -6457,7 +6457,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8940"
+NAME="AEN8947"
 ></A
 ><H3
 ><A
@@ -6522,7 +6522,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8957"
+NAME="AEN8964"
 ></A
 ><H3
 ><A
@@ -6604,7 +6604,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8976"
+NAME="AEN8983"
 ></A
 ><H3
 ><A
@@ -6687,7 +6687,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8998"
+NAME="AEN9005"
 ></A
 ><H3
 ><A
@@ -6772,7 +6772,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9021"
+NAME="AEN9028"
 ></A
 ><H3
 ><A
@@ -6855,7 +6855,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9043"
+NAME="AEN9050"
 ></A
 ><H3
 ><A
@@ -6940,7 +6940,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9066"
+NAME="AEN9073"
 ></A
 ><H3
 ><A
@@ -7035,7 +7035,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9088"
+NAME="AEN9095"
 ></A
 ><H3
 ><A
@@ -7100,7 +7100,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9105"
+NAME="AEN9112"
 ></A
 ><H3
 ><A
@@ -7165,7 +7165,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9122"
+NAME="AEN9129"
 ></A
 ><H3
 ><A
@@ -7274,7 +7274,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9150"
+NAME="AEN9157"
 ></A
 ><H3
 ><A
@@ -7300,7 +7300,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9155"
+NAME="AEN9162"
 ></A
 ><H3
 ><A
@@ -7326,7 +7326,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9160"
+NAME="AEN9167"
 ></A
 ><H3
 ><A
@@ -7352,7 +7352,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9165"
+NAME="AEN9172"
 ></A
 ><H3
 ><A
@@ -7378,7 +7378,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9170"
+NAME="AEN9177"
 ></A
 ><H3
 ><A
@@ -7561,7 +7561,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9215"
+NAME="AEN9222"
 ></A
 ><H3
 ><A
@@ -7658,7 +7658,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9239"
+NAME="AEN9246"
 ></A
 ><H3
 ><A
@@ -7737,7 +7737,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9259"
+NAME="AEN9266"
 ></A
 ><H3
 ><A
@@ -7834,7 +7834,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9283"
+NAME="AEN9290"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-tree.html b/doc/html/gnome-xml-tree.html
index bc4a762..ae4df8d 100644
--- a/doc/html/gnome-xml-tree.html
+++ b/doc/html/gnome-xml-tree.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN1928"
+NAME="AEN1935"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN1931"
+NAME="AEN1938"
 ></A
 ><H2
 >Synopsis</H2
@@ -1102,13 +1102,13 @@
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 > cur);
-const <A
+<A
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
->* <A
+>*    <A
 HREF="gnome-xml-tree.html#XMLNODEGETLANG"
 >xmlNodeGetLang</A
->               (<A
+>                  (<A
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 > cur);
@@ -1228,7 +1228,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2231"
+NAME="AEN2238"
 ></A
 ><H2
 >Description</H2
@@ -1238,14 +1238,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN2234"
+NAME="AEN2241"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2236"
+NAME="AEN2243"
 ></A
 ><H3
 ><A
@@ -1285,7 +1285,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2241"
+NAME="AEN2248"
 ></A
 ><H3
 ><A
@@ -1298,7 +1298,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2245"
+NAME="AEN2252"
 ></A
 ><H3
 ><A
@@ -1324,7 +1324,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2250"
+NAME="AEN2257"
 ></A
 ><H3
 ><A
@@ -1350,7 +1350,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2255"
+NAME="AEN2262"
 ></A
 ><H3
 ><A
@@ -1376,7 +1376,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2260"
+NAME="AEN2267"
 ></A
 ><H3
 ><A
@@ -1413,7 +1413,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2265"
+NAME="AEN2272"
 ></A
 ><H3
 ><A
@@ -1444,7 +1444,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2270"
+NAME="AEN2277"
 ></A
 ><H3
 ><A
@@ -1470,7 +1470,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2275"
+NAME="AEN2282"
 ></A
 ><H3
 ><A
@@ -1496,7 +1496,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2280"
+NAME="AEN2287"
 ></A
 ><H3
 ><A
@@ -1527,7 +1527,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2285"
+NAME="AEN2292"
 ></A
 ><H3
 ><A
@@ -1558,7 +1558,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2290"
+NAME="AEN2297"
 ></A
 ><H3
 ><A
@@ -1584,7 +1584,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2295"
+NAME="AEN2302"
 ></A
 ><H3
 ><A
@@ -1615,7 +1615,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2300"
+NAME="AEN2307"
 ></A
 ><H3
 ><A
@@ -1641,7 +1641,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2305"
+NAME="AEN2312"
 ></A
 ><H3
 ><A
@@ -1670,7 +1670,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2310"
+NAME="AEN2317"
 ></A
 ><H3
 ><A
@@ -1696,7 +1696,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2315"
+NAME="AEN2322"
 ></A
 ><H3
 ><A
@@ -1722,7 +1722,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2320"
+NAME="AEN2327"
 ></A
 ><H3
 ><A
@@ -1748,7 +1748,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2325"
+NAME="AEN2332"
 ></A
 ><H3
 ><A
@@ -1774,7 +1774,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2330"
+NAME="AEN2337"
 ></A
 ><H3
 ><A
@@ -1800,7 +1800,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2335"
+NAME="AEN2342"
 ></A
 ><H3
 ><A
@@ -1826,7 +1826,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2340"
+NAME="AEN2347"
 ></A
 ><H3
 ><A
@@ -1852,7 +1852,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2345"
+NAME="AEN2352"
 ></A
 ><H3
 ><A
@@ -1878,7 +1878,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2350"
+NAME="AEN2357"
 ></A
 ><H3
 ><A
@@ -1904,7 +1904,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2355"
+NAME="AEN2362"
 ></A
 ><H3
 ><A
@@ -1930,7 +1930,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2360"
+NAME="AEN2367"
 ></A
 ><H3
 ><A
@@ -1956,7 +1956,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2365"
+NAME="AEN2372"
 ></A
 ><H3
 ><A
@@ -1982,7 +1982,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2370"
+NAME="AEN2377"
 ></A
 ><H3
 ><A
@@ -2008,7 +2008,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2375"
+NAME="AEN2382"
 ></A
 ><H3
 ><A
@@ -2034,7 +2034,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2380"
+NAME="AEN2387"
 ></A
 ><H3
 ><A
@@ -2095,7 +2095,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2396"
+NAME="AEN2403"
 ></A
 ><H3
 ><A
@@ -2158,7 +2158,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2412"
+NAME="AEN2419"
 ></A
 ><H3
 ><A
@@ -2257,7 +2257,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2437"
+NAME="AEN2444"
 ></A
 ><H3
 ><A
@@ -2359,7 +2359,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2462"
+NAME="AEN2469"
 ></A
 ><H3
 ><A
@@ -2443,7 +2443,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2483"
+NAME="AEN2490"
 ></A
 ><H3
 ><A
@@ -2524,7 +2524,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2503"
+NAME="AEN2510"
 ></A
 ><H3
 ><A
@@ -2620,7 +2620,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2527"
+NAME="AEN2534"
 ></A
 ><H3
 ><A
@@ -2683,7 +2683,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2543"
+NAME="AEN2550"
 ></A
 ><H3
 ><A
@@ -2827,7 +2827,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2579"
+NAME="AEN2586"
 ></A
 ><H3
 ><A
@@ -2971,7 +2971,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2615"
+NAME="AEN2622"
 ></A
 ><H3
 ><A
@@ -3034,7 +3034,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2631"
+NAME="AEN2638"
 ></A
 ><H3
 ><A
@@ -3157,7 +3157,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2662"
+NAME="AEN2669"
 ></A
 ><H3
 ><A
@@ -3280,7 +3280,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2693"
+NAME="AEN2700"
 ></A
 ><H3
 ><A
@@ -3343,7 +3343,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2709"
+NAME="AEN2716"
 ></A
 ><H3
 ><A
@@ -3424,7 +3424,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2730"
+NAME="AEN2737"
 ></A
 ><H3
 ><A
@@ -3488,7 +3488,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2746"
+NAME="AEN2753"
 ></A
 ><H3
 ><A
@@ -3611,7 +3611,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2777"
+NAME="AEN2784"
 ></A
 ><H3
 ><A
@@ -3734,7 +3734,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2808"
+NAME="AEN2815"
 ></A
 ><H3
 ><A
@@ -3878,7 +3878,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2844"
+NAME="AEN2851"
 ></A
 ><H3
 ><A
@@ -3941,7 +3941,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2860"
+NAME="AEN2867"
 ></A
 ><H3
 ><A
@@ -4004,7 +4004,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2876"
+NAME="AEN2883"
 ></A
 ><H3
 ><A
@@ -4106,7 +4106,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2902"
+NAME="AEN2909"
 ></A
 ><H3
 ><A
@@ -4208,7 +4208,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2928"
+NAME="AEN2935"
 ></A
 ><H3
 ><A
@@ -4289,7 +4289,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2949"
+NAME="AEN2956"
 ></A
 ><H3
 ><A
@@ -4389,7 +4389,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2974"
+NAME="AEN2981"
 ></A
 ><H3
 ><A
@@ -4559,7 +4559,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3015"
+NAME="AEN3022"
 ></A
 ><H3
 ><A
@@ -4714,7 +4714,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3053"
+NAME="AEN3060"
 ></A
 ><H3
 ><A
@@ -4828,7 +4828,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3081"
+NAME="AEN3088"
 ></A
 ><H3
 ><A
@@ -5004,7 +5004,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3123"
+NAME="AEN3130"
 ></A
 ><H3
 ><A
@@ -5165,7 +5165,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3162"
+NAME="AEN3169"
 ></A
 ><H3
 ><A
@@ -5267,7 +5267,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3188"
+NAME="AEN3195"
 ></A
 ><H3
 ><A
@@ -5348,7 +5348,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3209"
+NAME="AEN3216"
 ></A
 ><H3
 ><A
@@ -5450,7 +5450,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3235"
+NAME="AEN3242"
 ></A
 ><H3
 ><A
@@ -5571,7 +5571,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3265"
+NAME="AEN3272"
 ></A
 ><H3
 ><A
@@ -5670,7 +5670,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3290"
+NAME="AEN3297"
 ></A
 ><H3
 ><A
@@ -5772,7 +5772,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3316"
+NAME="AEN3323"
 ></A
 ><H3
 ><A
@@ -5853,7 +5853,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3337"
+NAME="AEN3344"
 ></A
 ><H3
 ><A
@@ -5973,7 +5973,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3367"
+NAME="AEN3374"
 ></A
 ><H3
 ><A
@@ -6075,7 +6075,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3393"
+NAME="AEN3400"
 ></A
 ><H3
 ><A
@@ -6174,7 +6174,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3418"
+NAME="AEN3425"
 ></A
 ><H3
 ><A
@@ -6255,7 +6255,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3439"
+NAME="AEN3446"
 ></A
 ><H3
 ><A
@@ -6336,7 +6336,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3460"
+NAME="AEN3467"
 ></A
 ><H3
 ><A
@@ -6414,7 +6414,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3480"
+NAME="AEN3487"
 ></A
 ><H3
 ><A
@@ -6521,7 +6521,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3507"
+NAME="AEN3514"
 ></A
 ><H3
 ><A
@@ -6628,7 +6628,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3534"
+NAME="AEN3541"
 ></A
 ><H3
 ><A
@@ -6691,7 +6691,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3550"
+NAME="AEN3557"
 ></A
 ><H3
 ><A
@@ -6793,7 +6793,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3576"
+NAME="AEN3583"
 ></A
 ><H3
 ><A
@@ -6900,7 +6900,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3602"
+NAME="AEN3609"
 ></A
 ><H3
 ><A
@@ -6964,7 +6964,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3618"
+NAME="AEN3625"
 ></A
 ><H3
 ><A
@@ -7027,7 +7027,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3634"
+NAME="AEN3641"
 ></A
 ><H3
 ><A
@@ -7158,7 +7158,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3666"
+NAME="AEN3673"
 ></A
 ><H3
 ><A
@@ -7282,7 +7282,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3697"
+NAME="AEN3704"
 ></A
 ><H3
 ><A
@@ -7386,7 +7386,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3723"
+NAME="AEN3730"
 ></A
 ><H3
 ><A
@@ -7470,7 +7470,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3744"
+NAME="AEN3751"
 ></A
 ><H3
 ><A
@@ -7551,7 +7551,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3765"
+NAME="AEN3772"
 ></A
 ><H3
 ><A
@@ -7632,7 +7632,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3786"
+NAME="AEN3793"
 ></A
 ><H3
 ><A
@@ -7755,7 +7755,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3817"
+NAME="AEN3824"
 ></A
 ><H3
 ><A
@@ -7848,7 +7848,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the attribute value or NULL if not found.</TD
+>the attribute value or NULL if not found.
+It's up to the caller to free the memory.</TD
 ></TR
 ></TABLE
 ><P
@@ -7858,7 +7859,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3843"
+NAME="AEN3850"
 ></A
 ><H3
 ><A
@@ -7961,7 +7962,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3869"
+NAME="AEN3876"
 ></A
 ><H3
 ><A
@@ -8082,7 +8083,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3899"
+NAME="AEN3906"
 ></A
 ><H3
 ><A
@@ -8203,7 +8204,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3929"
+NAME="AEN3936"
 ></A
 ><H3
 ><A
@@ -8287,7 +8288,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3950"
+NAME="AEN3957"
 ></A
 ><H3
 ><A
@@ -8394,7 +8395,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3976"
+NAME="AEN3983"
 ></A
 ><H3
 ><A
@@ -8478,7 +8479,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3997"
+NAME="AEN4004"
 ></A
 ><H3
 ><A
@@ -8585,7 +8586,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4023"
+NAME="AEN4030"
 ></A
 ><H3
 ><A
@@ -8670,7 +8671,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4044"
+NAME="AEN4051"
 ></A
 ><H3
 ><A
@@ -8686,10 +8687,10 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->const <A
+><A
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
->* xmlNodeGetLang               (<A
+>*    xmlNodeGetLang                  (<A
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 > cur);</PRE
@@ -8742,7 +8743,8 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the lang value, or NULL if not found</TD
+>a pointer to the lang value, or NULL if not found
+It's up to the caller to free the memory.</TD
 ></TR
 ></TABLE
 ><P
@@ -8752,7 +8754,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4065"
+NAME="AEN4072"
 ></A
 ><H3
 ><A
@@ -8837,7 +8839,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4086"
+NAME="AEN4093"
 ></A
 ><H3
 ><A
@@ -8913,7 +8915,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4105"
+NAME="AEN4112"
 ></A
 ><H3
 ><A
@@ -8989,7 +8991,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4124"
+NAME="AEN4131"
 ></A
 ><H3
 ><A
@@ -9074,7 +9076,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4145"
+NAME="AEN4152"
 ></A
 ><H3
 ><A
@@ -9156,7 +9158,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4165"
+NAME="AEN4172"
 ></A
 ><H3
 ><A
@@ -9242,7 +9244,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4186"
+NAME="AEN4193"
 ></A
 ><H3
 ><A
@@ -9345,7 +9347,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4211"
+NAME="AEN4218"
 ></A
 ><H3
 ><A
@@ -9429,7 +9431,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4232"
+NAME="AEN4239"
 ></A
 ><H3
 ><A
@@ -9532,7 +9534,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4257"
+NAME="AEN4264"
 ></A
 ><H3
 ><A
@@ -9610,7 +9612,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4277"
+NAME="AEN4284"
 ></A
 ><H3
 ><A
@@ -9692,7 +9694,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4297"
+NAME="AEN4304"
 ></A
 ><H3
 ><A
@@ -9750,7 +9752,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4312"
+NAME="AEN4319"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-valid.html b/doc/html/gnome-xml-valid.html
index 1945224..5575efe 100644
--- a/doc/html/gnome-xml-valid.html
+++ b/doc/html/gnome-xml-valid.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN4755"
+NAME="AEN4762"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN4758"
+NAME="AEN4765"
 ></A
 ><H2
 >Synopsis</H2
@@ -809,7 +809,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4941"
+NAME="AEN4948"
 ></A
 ><H2
 >Description</H2
@@ -819,14 +819,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN4944"
+NAME="AEN4951"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4946"
+NAME="AEN4953"
 ></A
 ><H3
 ><A
@@ -920,7 +920,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4968"
+NAME="AEN4975"
 ></A
 ><H3
 ><A
@@ -1014,7 +1014,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4990"
+NAME="AEN4997"
 ></A
 ><H3
 ><A
@@ -1040,7 +1040,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4995"
+NAME="AEN5002"
 ></A
 ><H3
 ><A
@@ -1066,7 +1066,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5000"
+NAME="AEN5007"
 ></A
 ><H3
 ><A
@@ -1092,7 +1092,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5005"
+NAME="AEN5012"
 ></A
 ><H3
 ><A
@@ -1118,7 +1118,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5010"
+NAME="AEN5017"
 ></A
 ><H3
 ><A
@@ -1144,7 +1144,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5015"
+NAME="AEN5022"
 ></A
 ><H3
 ><A
@@ -1170,7 +1170,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5020"
+NAME="AEN5027"
 ></A
 ><H3
 ><A
@@ -1196,7 +1196,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5025"
+NAME="AEN5032"
 ></A
 ><H3
 ><A
@@ -1222,7 +1222,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5030"
+NAME="AEN5037"
 ></A
 ><H3
 ><A
@@ -1248,7 +1248,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5035"
+NAME="AEN5042"
 ></A
 ><H3
 ><A
@@ -1274,7 +1274,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5040"
+NAME="AEN5047"
 ></A
 ><H3
 ><A
@@ -1439,7 +1439,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5081"
+NAME="AEN5088"
 ></A
 ><H3
 ><A
@@ -1520,7 +1520,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5102"
+NAME="AEN5109"
 ></A
 ><H3
 ><A
@@ -1583,7 +1583,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5118"
+NAME="AEN5125"
 ></A
 ><H3
 ><A
@@ -1667,7 +1667,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5139"
+NAME="AEN5146"
 ></A
 ><H3
 ><A
@@ -1769,7 +1769,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5165"
+NAME="AEN5172"
 ></A
 ><H3
 ><A
@@ -1850,7 +1850,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5186"
+NAME="AEN5193"
 ></A
 ><H3
 ><A
@@ -1913,7 +1913,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5202"
+NAME="AEN5209"
 ></A
 ><H3
 ><A
@@ -2078,7 +2078,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5243"
+NAME="AEN5250"
 ></A
 ><H3
 ><A
@@ -2159,7 +2159,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5264"
+NAME="AEN5271"
 ></A
 ><H3
 ><A
@@ -2222,7 +2222,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5280"
+NAME="AEN5287"
 ></A
 ><H3
 ><A
@@ -2306,7 +2306,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5301"
+NAME="AEN5308"
 ></A
 ><H3
 ><A
@@ -2388,7 +2388,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5322"
+NAME="AEN5329"
 ></A
 ><H3
 ><A
@@ -2451,7 +2451,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5338"
+NAME="AEN5345"
 ></A
 ><H3
 ><A
@@ -2533,7 +2533,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5359"
+NAME="AEN5366"
 ></A
 ><H3
 ><A
@@ -2761,7 +2761,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5415"
+NAME="AEN5422"
 ></A
 ><H3
 ><A
@@ -2842,7 +2842,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5436"
+NAME="AEN5443"
 ></A
 ><H3
 ><A
@@ -2905,7 +2905,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5452"
+NAME="AEN5459"
 ></A
 ><H3
 ><A
@@ -2989,7 +2989,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5473"
+NAME="AEN5480"
 ></A
 ><H3
 ><A
@@ -3133,7 +3133,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5509"
+NAME="AEN5516"
 ></A
 ><H3
 ><A
@@ -3212,7 +3212,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5529"
+NAME="AEN5536"
 ></A
 ><H3
 ><A
@@ -3275,7 +3275,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5545"
+NAME="AEN5552"
 ></A
 ><H3
 ><A
@@ -3377,7 +3377,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5571"
+NAME="AEN5578"
 ></A
 ><H3
 ><A
@@ -3499,7 +3499,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5601"
+NAME="AEN5608"
 ></A
 ><H3
 ><A
@@ -3643,7 +3643,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5637"
+NAME="AEN5644"
 ></A
 ><H3
 ><A
@@ -3722,7 +3722,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5657"
+NAME="AEN5664"
 ></A
 ><H3
 ><A
@@ -3785,7 +3785,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5673"
+NAME="AEN5680"
 ></A
 ><H3
 ><A
@@ -3907,7 +3907,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5703"
+NAME="AEN5710"
 ></A
 ><H3
 ><A
@@ -4010,7 +4010,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5728"
+NAME="AEN5735"
 ></A
 ><H3
 ><A
@@ -4135,7 +4135,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5758"
+NAME="AEN5765"
 ></A
 ><H3
 ><A
@@ -4262,7 +4262,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5789"
+NAME="AEN5796"
 ></A
 ><H3
 ><A
@@ -4376,7 +4376,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5818"
+NAME="AEN5825"
 ></A
 ><H3
 ><A
@@ -4500,7 +4500,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5848"
+NAME="AEN5855"
 ></A
 ><H3
 ><A
@@ -4622,7 +4622,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5879"
+NAME="AEN5886"
 ></A
 ><H3
 ><A
@@ -4725,7 +4725,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5905"
+NAME="AEN5912"
 ></A
 ><H3
 ><A
@@ -4845,7 +4845,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5935"
+NAME="AEN5942"
 ></A
 ><H3
 ><A
@@ -4975,7 +4975,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5967"
+NAME="AEN5974"
 ></A
 ><H3
 ><A
@@ -5149,7 +5149,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6008"
+NAME="AEN6015"
 ></A
 ><H3
 ><A
@@ -5251,7 +5251,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6034"
+NAME="AEN6041"
 ></A
 ><H3
 ><A
@@ -5372,7 +5372,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6064"
+NAME="AEN6071"
 ></A
 ><H3
 ><A
@@ -5472,7 +5472,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6089"
+NAME="AEN6096"
 ></A
 ><H3
 ><A
@@ -5596,7 +5596,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6120"
+NAME="AEN6127"
 ></A
 ><H3
 ><A
@@ -5698,7 +5698,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6146"
+NAME="AEN6153"
 ></A
 ><H3
 ><A
@@ -5800,7 +5800,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6172"
+NAME="AEN6179"
 ></A
 ><H3
 ><A
@@ -5966,7 +5966,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6210"
+NAME="AEN6217"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-xml-error.html b/doc/html/gnome-xml-xml-error.html
index 3ce346e..2225deb 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="AEN6248"
+NAME="AEN6255"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN6251"
+NAME="AEN6258"
 ></A
 ><H2
 >Synopsis</H2
@@ -187,7 +187,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN6263"
+NAME="AEN6270"
 ></A
 ><H2
 >Description</H2
@@ -197,14 +197,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN6266"
+NAME="AEN6273"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6268"
+NAME="AEN6275"
 ></A
 ><H3
 ><A
@@ -341,7 +341,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6273"
+NAME="AEN6280"
 ></A
 ><H3
 ><A
@@ -438,7 +438,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6296"
+NAME="AEN6303"
 ></A
 ><H3
 ><A
@@ -535,7 +535,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6319"
+NAME="AEN6326"
 ></A
 ><H3
 ><A
@@ -632,7 +632,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6342"
+NAME="AEN6349"
 ></A
 ><H3
 ><A
@@ -729,7 +729,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6365"
+NAME="AEN6372"
 ></A
 ><H3
 ><A
@@ -792,7 +792,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6381"
+NAME="AEN6388"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-xmlmemory.html b/doc/html/gnome-xml-xmlmemory.html
index 25180e4..226ae4a 100644
--- a/doc/html/gnome-xml-xmlmemory.html
+++ b/doc/html/gnome-xml-xmlmemory.html
@@ -103,7 +103,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN9308"
+NAME="AEN9315"
 ></A
 ><H2
 >Name</H2
@@ -111,7 +111,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN9311"
+NAME="AEN9318"
 ></A
 ><H2
 >Synopsis</H2
@@ -210,7 +210,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN9332"
+NAME="AEN9339"
 ></A
 ><H2
 >Description</H2
@@ -220,14 +220,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN9335"
+NAME="AEN9342"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9337"
+NAME="AEN9344"
 ></A
 ><H3
 ><A
@@ -253,7 +253,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9342"
+NAME="AEN9349"
 ></A
 ><H3
 ><A
@@ -316,7 +316,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9358"
+NAME="AEN9365"
 ></A
 ><H3
 ><A
@@ -382,7 +382,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9375"
+NAME="AEN9382"
 ></A
 ><H3
 ><A
@@ -466,7 +466,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9396"
+NAME="AEN9403"
 ></A
 ><H3
 ><A
@@ -544,7 +544,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9416"
+NAME="AEN9423"
 ></A
 ><H3
 ><A
@@ -602,7 +602,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9431"
+NAME="AEN9438"
 ></A
 ><H3
 ><A
@@ -660,7 +660,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9446"
+NAME="AEN9453"
 ></A
 ><H3
 ><A
@@ -688,7 +688,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9452"
+NAME="AEN9459"
 ></A
 ><H3
 ><A
@@ -752,7 +752,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9468"
+NAME="AEN9475"
 ></A
 ><H3
 ><A
@@ -778,7 +778,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9473"
+NAME="AEN9480"
 ></A
 ><H3
 ><A
@@ -804,7 +804,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9478"
+NAME="AEN9485"
 ></A
 ><H3
 ><A
@@ -830,7 +830,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9483"
+NAME="AEN9490"
 ></A
 ><H3
 ><A
@@ -935,7 +935,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9508"
+NAME="AEN9515"
 ></A
 ><H3
 ><A
@@ -1052,7 +1052,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9536"
+NAME="AEN9543"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-xpath.html b/doc/html/gnome-xml-xpath.html
index a41504d..4dd6d13 100644
--- a/doc/html/gnome-xml-xpath.html
+++ b/doc/html/gnome-xml-xpath.html
@@ -115,7 +115,7 @@
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN6836"
+NAME="AEN6843"
 ></A
 ><H2
 >Name</H2
@@ -123,7 +123,7 @@
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN6839"
+NAME="AEN6846"
 ></A
 ><H2
 >Synopsis</H2
@@ -259,7 +259,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN6873"
+NAME="AEN6880"
 ></A
 ><H2
 >Description</H2
@@ -269,14 +269,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN6876"
+NAME="AEN6883"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6878"
+NAME="AEN6885"
 ></A
 ><H3
 ><A
@@ -302,7 +302,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6883"
+NAME="AEN6890"
 ></A
 ><H3
 ><A
@@ -328,7 +328,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6888"
+NAME="AEN6895"
 ></A
 ><H3
 ><A
@@ -354,7 +354,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6893"
+NAME="AEN6900"
 ></A
 ><H3
 ><A
@@ -380,7 +380,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6898"
+NAME="AEN6905"
 ></A
 ><H3
 ><A
@@ -406,7 +406,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6903"
+NAME="AEN6910"
 ></A
 ><H3
 ><A
@@ -432,7 +432,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6908"
+NAME="AEN6915"
 ></A
 ><H3
 ><A
@@ -526,7 +526,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6931"
+NAME="AEN6938"
 ></A
 ><H3
 ><A
@@ -605,7 +605,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6950"
+NAME="AEN6957"
 ></A
 ><H3
 ><A
@@ -705,7 +705,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6975"
+NAME="AEN6982"
 ></A
 ><H3
 ><A
@@ -784,7 +784,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6994"
+NAME="AEN7001"
 ></A
 ><H3
 ><A
@@ -865,7 +865,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7015"
+NAME="AEN7022"
 ></A
 ><H3
 ><A
@@ -928,7 +928,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7031"
+NAME="AEN7038"
 ></A
 ><H3
 ><A
@@ -1031,7 +1031,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7057"
+NAME="AEN7064"
 ></A
 ><H3
 ><A
@@ -1094,7 +1094,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7073"
+NAME="AEN7080"
 ></A
 ><H3
 ><A
diff --git a/doc/html/index.sgml b/doc/html/index.sgml
index 9bfff3f..b8db736 100644
--- a/doc/html/index.sgml
+++ b/doc/html/index.sgml
@@ -44,6 +44,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 ="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">
 <ANCHOR id ="XMLSTRDUP" href="gnome-xml/gnome-xml-parser.html#XMLSTRDUP">
diff --git a/encoding.c b/encoding.c
index 50deb2c..a27aa9d 100644
--- a/encoding.c
+++ b/encoding.c
@@ -432,6 +432,29 @@
 }
 
 /**
+ * xmlCleanupCharEncodingHandlers:
+ *
+ * Cleanup the memory allocated for the char encoding support, it
+ * unregisters all the encoding handlers.
+ */
+void
+xmlCleanupCharEncodingHandlers(void) {
+    if (handlers == NULL) return;
+
+    for (;nbCharEncodingHandler > 0;) {
+        nbCharEncodingHandler--;
+	if (handlers[nbCharEncodingHandler] != NULL) {
+	    xmlFree(handlers[nbCharEncodingHandler]->name);
+	    xmlFree(handlers[nbCharEncodingHandler]);
+	}
+    }
+    xmlFree(handlers);
+    handlers = NULL;
+    nbCharEncodingHandler = 0;
+    xmlDefaultCharEncodingHandler = NULL;
+}
+
+/**
  * xmlRegisterCharEncodingHandler:
  * @handler:  the xmlCharEncodingHandlerPtr handler block
  *
diff --git a/encoding.h b/encoding.h
index 5181caf..6a42335 100644
--- a/encoding.h
+++ b/encoding.h
@@ -97,14 +97,14 @@
 } xmlCharEncodingHandler;
 typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
 
-void xmlRegisterCharEncodingHandler(xmlCharEncodingHandlerPtr handler);
+void	xmlInitCharEncodingHandlers	(void);
+void	xmlCleanupCharEncodingHandlers	(void);
+void	xmlRegisterCharEncodingHandler	(xmlCharEncodingHandlerPtr handler);
+xmlCharEncoding xmlDetectCharEncoding	(const unsigned char* in);
+xmlCharEncoding xmlParseCharEncoding	(const char* name);
 xmlCharEncodingHandlerPtr xmlGetCharEncodingHandler(xmlCharEncoding enc);
 xmlCharEncodingHandlerPtr xmlFindCharEncodingHandler(const char *name);
 
-xmlCharEncoding xmlDetectCharEncoding(const unsigned char* in);
-xmlCharEncoding xmlParseCharEncoding(const char* name);
-
-void xmlInitCharEncodingHandlers(void);
 
 #ifdef __cplusplus
 }
diff --git a/include/libxml/encoding.h b/include/libxml/encoding.h
index 5181caf..6a42335 100644
--- a/include/libxml/encoding.h
+++ b/include/libxml/encoding.h
@@ -97,14 +97,14 @@
 } xmlCharEncodingHandler;
 typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
 
-void xmlRegisterCharEncodingHandler(xmlCharEncodingHandlerPtr handler);
+void	xmlInitCharEncodingHandlers	(void);
+void	xmlCleanupCharEncodingHandlers	(void);
+void	xmlRegisterCharEncodingHandler	(xmlCharEncodingHandlerPtr handler);
+xmlCharEncoding xmlDetectCharEncoding	(const unsigned char* in);
+xmlCharEncoding xmlParseCharEncoding	(const char* name);
 xmlCharEncodingHandlerPtr xmlGetCharEncodingHandler(xmlCharEncoding enc);
 xmlCharEncodingHandlerPtr xmlFindCharEncodingHandler(const char *name);
 
-xmlCharEncoding xmlDetectCharEncoding(const unsigned char* in);
-xmlCharEncoding xmlParseCharEncoding(const char* name);
-
-void xmlInitCharEncodingHandlers(void);
 
 #ifdef __cplusplus
 }
diff --git a/include/libxml/parser.h b/include/libxml/parser.h
index 9ffab60..51797fd 100644
--- a/include/libxml/parser.h
+++ b/include/libxml/parser.h
@@ -268,9 +268,13 @@
 #include "xml-error.h"
 
 /**
+ * Cleanup
+ */
+void		xmlCleanupParser	(void);
+
+/**
  * Input functions
  */
-
 int		xmlParserInputRead	(xmlParserInputPtr in,
 					 int len);
 int		xmlParserInputGrow	(xmlParserInputPtr in,
diff --git a/include/libxml/tree.h b/include/libxml/tree.h
index f5fcf57..b6d030b 100644
--- a/include/libxml/tree.h
+++ b/include/libxml/tree.h
@@ -464,7 +464,7 @@
 					 const xmlChar *content,
 					 int len);
 xmlChar *	xmlNodeGetContent	(xmlNodePtr cur);
-const xmlChar *	xmlNodeGetLang		(xmlNodePtr cur);
+xmlChar *	xmlNodeGetLang		(xmlNodePtr cur);
 void		xmlNodeSetLang		(xmlNodePtr cur,
 					 const xmlChar *lang);
 
diff --git a/include/libxml/xmlIO.h b/include/libxml/xmlIO.h
index 58baeb0..2bdba5d 100644
--- a/include/libxml/xmlIO.h
+++ b/include/libxml/xmlIO.h
@@ -52,7 +52,7 @@
 						 int len);
 int	xmlParserInputBufferPush		(xmlParserInputBufferPtr in,
 						 int len,
-						 char *buf);
+						 const char *buf);
 void	xmlFreeParserInputBuffer		(xmlParserInputBufferPtr in);
 char *	xmlParserGetDirectory			(const char *filename);
 
diff --git a/parser.c b/parser.c
index 4d84c8d..7bbe088 100644
--- a/parser.c
+++ b/parser.c
@@ -4437,6 +4437,7 @@
 void
 xmlParseExternalSubset(xmlParserCtxtPtr ctxt, const xmlChar *ExternalID,
                        const xmlChar *SystemID) {
+    GROW;
     if ((CUR == '<') && (NXT(1) == '?') &&
         (NXT(2) == 'x') && (NXT(3) == 'm') &&
 	(NXT(4) == 'l')) {
@@ -6122,6 +6123,7 @@
             case XML_PARSER_EPILOG:
             case XML_PARSER_COMMENT:
             case XML_PARSER_CDATA_SECTION:
+	        break;
 	}
     }
     return(ret);
@@ -6141,8 +6143,9 @@
 xmlParserErrors
 xmlParseChunk(xmlParserCtxtPtr ctxt, const char *chunk, int size,
               int terminate) {
-    if ((size > 0) && (chunk != NULL)) {	      
-	xmlParserInputBufferPush(ctxt->input, size, chunk);	      
+    if ((size > 0) && (chunk != NULL) && (ctxt->input != NULL) &&
+        (ctxt->input->buf != NULL))  {	      
+	xmlParserInputBufferPush(ctxt->input->buf, size, chunk);	      
     }
     return((xmlParserErrors) ctxt->errNo);	      
 }
@@ -6725,6 +6728,19 @@
  *									*
  ************************************************************************/
 
+/**
+ * xmlCleanupParser:
+ *
+ * Cleanup function for the XML parser. It tries to reclaim all
+ * parsing related global memory allocated for the parser processing.
+ * It doesn't deallocate any document related memory. Calling this
+ * function should not prevent reusing the parser.
+ */
+
+void
+xmlCleanupParser(void) {
+    xmlCleanupCharEncodingHandlers();
+}
 
 /**
  * xmlParserFindNodeInfo:
diff --git a/parser.h b/parser.h
index 9ffab60..51797fd 100644
--- a/parser.h
+++ b/parser.h
@@ -268,9 +268,13 @@
 #include "xml-error.h"
 
 /**
+ * Cleanup
+ */
+void		xmlCleanupParser	(void);
+
+/**
  * Input functions
  */
-
 int		xmlParserInputRead	(xmlParserInputPtr in,
 					 int len);
 int		xmlParserInputGrow	(xmlParserInputPtr in,
diff --git a/tester.c b/tester.c
index 02cf5fb..295a669 100644
--- a/tester.c
+++ b/tester.c
@@ -280,6 +280,7 @@
 	printf("\t--insert : test for valid insertions\n");
 	printf("\t--compress : turn on gzip compression of output\n");
     }
+    xmlCleanupParser();
     xmlMemoryDump();
 
     return(0);
diff --git a/tree.c b/tree.c
index 4945ed1..605119e 100644
--- a/tree.c
+++ b/tree.c
@@ -2063,10 +2063,11 @@
  * attribute or the one carried by the nearest ancestor.
  *
  * Returns a pointer to the lang value, or NULL if not found
+ *     It's up to the caller to free the memory.
  */
-const xmlChar *
+xmlChar *
 xmlNodeGetLang(xmlNodePtr cur) {
-    const xmlChar *lang;
+    xmlChar *lang;
 
     while (cur != NULL) {
         lang = xmlGetProp(cur, BAD_CAST "xml:lang");
@@ -2470,8 +2471,10 @@
  * Search and get the value of an attribute associated to a node
  * This does the entity substitution.
  * Returns the attribute value or NULL if not found.
+ *     It's up to the caller to free the memory.
  */
-xmlChar *xmlGetProp(xmlNodePtr node, const xmlChar *name) {
+xmlChar *
+xmlGetProp(xmlNodePtr node, const xmlChar *name) {
     xmlAttrPtr prop = node->properties;
 
     while (prop != NULL) {
diff --git a/tree.h b/tree.h
index f5fcf57..b6d030b 100644
--- a/tree.h
+++ b/tree.h
@@ -464,7 +464,7 @@
 					 const xmlChar *content,
 					 int len);
 xmlChar *	xmlNodeGetContent	(xmlNodePtr cur);
-const xmlChar *	xmlNodeGetLang		(xmlNodePtr cur);
+xmlChar *	xmlNodeGetLang		(xmlNodePtr cur);
 void		xmlNodeSetLang		(xmlNodePtr cur,
 					 const xmlChar *lang);
 
diff --git a/valid.c b/valid.c
index 691da4a..7de29d0 100644
--- a/valid.c
+++ b/valid.c
@@ -2993,8 +2993,8 @@
     switch (ctree->type) {
 	case XML_ELEMENT_CONTENT_PCDATA: 
 	    for (i = 0; i < *len;i++)
-		if (!xmlStrcmp("#PCDATA", list[i])) return(*len);
-	    list[(*len)++] = "#PCDATA";
+		if (!xmlStrcmp(BAD_CAST "#PCDATA", list[i])) return(*len);
+	    list[(*len)++] = BAD_CAST "#PCDATA";
 	    break;
 	case XML_ELEMENT_CONTENT_ELEMENT: 
 	    for (i = 0; i < *len;i++)
@@ -3088,7 +3088,7 @@
     /*
      * Creates a dummy node and insert it into the tree
      */    
-    test_node = xmlNewNode (NULL, "<!dummy?>");
+    test_node = xmlNewNode (NULL, BAD_CAST "<!dummy?>");
     test_node->doc = ref_node->doc;
     test_node->parent = parent;
     test_node->prev = prev;
diff --git a/xmlIO.c b/xmlIO.c
index ea14efe..3526a0a 100644
--- a/xmlIO.c
+++ b/xmlIO.c
@@ -263,7 +263,7 @@
  *         in case of error.
  */
 int
-xmlParserInputBufferPush(xmlParserInputBufferPtr in, int len, char *buf) {
+xmlParserInputBufferPush(xmlParserInputBufferPtr in, int len, const char *buf) {
     char *buffer = NULL;
     int nbchars = 0;
 
diff --git a/xmlIO.h b/xmlIO.h
index 58baeb0..2bdba5d 100644
--- a/xmlIO.h
+++ b/xmlIO.h
@@ -52,7 +52,7 @@
 						 int len);
 int	xmlParserInputBufferPush		(xmlParserInputBufferPtr in,
 						 int len,
-						 char *buf);
+						 const char *buf);
 void	xmlFreeParserInputBuffer		(xmlParserInputBufferPtr in);
 char *	xmlParserGetDirectory			(const char *filename);