- added xmlRemoveID() and xmlRemoveRef()
- added check and handling when possibly removing an ID
- fixed some entities problems
- added xmlParseTryOrFinish()
- changed the way struct aredeclared to allow gtk-doc to expose those
- closed #4960
- fixes to libs detection from Albert Chin-A-Young
- preparing 1.8.3 release
Daniel
diff --git a/ChangeLog b/ChangeLog
index 095b114..989ad74 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+Wed Jan  5 17:08:43 CET 2000 Daniel Veillard <Daniel.Veillard@w3.org>
+
+	* acconfig.h: readline and history patch
+	* valid.[ch]: added xmlRemoveID() and xmlRemoveRef()
+	* tree.c: added check and handling when possibly removing an ID
+	* tree.c, HTMLparser.h, HTMLtree.h: fixed entities parsing
+	     and saving.
+	* test/HTML/entities.html result/HTML/entities.html* : test for
+	     various entities reference cases
+	* result/HTML/* : as a result output of some testcase have
+	     changed
+	* HTMLparser.c, parser.c: fixed a bug in the push mode triggered
+	     by previous example. added xmlParseTryOrFinish().
+	* xpath.h tree.h parser.h valid.h xmlIO.h xlink.h encoding.h
+	  entities.h debugXML.h HTMLparser.h: changed the way struct are 
+	  declared to allow gtk-doc to expose those
+	* parser.c: closed bug #4960  
+	* Makefile.am configure.in: Applied patch from 
+	  Albert Chin-A-Young <china@thewrittenword.com> for better zlib
+	  and math/socket libs detection
+
 Mon Jan  3 18:29:43 CET 2000 Daniel Veillard <Daniel.Veillard@w3.org>
 
 	* configure.in, Makefile.am: link tester against readline
diff --git a/HTMLparser.c b/HTMLparser.c
index d09b8c5..a5b1657 100644
--- a/HTMLparser.c
+++ b/HTMLparser.c
@@ -1391,6 +1391,7 @@
 
 xmlChar *
 htmlParseHTMLAttribute(htmlParserCtxtPtr ctxt, const xmlChar stop) {
+#if 0
     xmlChar buf[HTML_MAX_NAMELEN];
     int len = 0;
 
@@ -1410,6 +1411,84 @@
 	}
     }
     return(xmlStrndup(buf, len));
+#else    
+    xmlChar *buffer = NULL;
+    int buffer_size = 0;
+    xmlChar *out = NULL;
+    xmlChar *name = NULL;
+
+    xmlChar *cur = NULL;
+    htmlEntityDescPtr ent;
+
+    /*
+     * allocate a translation buffer.
+     */
+    buffer_size = HTML_PARSER_BIG_BUFFER_SIZE;
+    buffer = (xmlChar *) xmlMalloc(buffer_size * sizeof(xmlChar));
+    if (buffer == NULL) {
+	perror("htmlParseHTMLAttribute: malloc failed");
+	return(NULL);
+    }
+    out = buffer;
+
+    /*
+     * Ok loop until we reach one of the ending chars
+     */
+    while ((CUR != 0) && (CUR != stop) && (CUR != '>')) {
+	if ((stop == 0) && (IS_BLANK(CUR))) break;
+        if (CUR == '&') {
+	    if (NXT(1) == '#') {
+		int val = htmlParseCharRef(ctxt);
+		*out++ = val;
+	    } else {
+		ent = htmlParseEntityRef(ctxt, &name);
+		if (name == NULL) {
+		    *out++ = '&';
+		    if (out - buffer > buffer_size - 100) {
+			int index = out - buffer;
+
+			growBuffer(buffer);
+			out = &buffer[index];
+		    }
+		} else if ((ent == NULL) || (ent->value <= 0) ||
+		           (ent->value >= 255)) {
+		    *out++ = '&';
+		    cur = name;
+		    while (*cur != 0) {
+			if (out - buffer > buffer_size - 100) {
+			    int index = out - buffer;
+
+			    growBuffer(buffer);
+			    out = &buffer[index];
+			}
+			*out++ = *cur++;
+		    }
+		    xmlFree(name);
+		} else {
+		    *out++ = ent->value;
+		    if (out - buffer > buffer_size - 100) {
+			int index = out - buffer;
+
+			growBuffer(buffer);
+			out = &buffer[index];
+		    }
+		    xmlFree(name);
+		}
+	    }
+	} else {
+	    *out++ = CUR;
+	    if (out - buffer > buffer_size - 100) {
+	      int index = out - buffer;
+	      
+	      growBuffer(buffer);
+	      out = &buffer[index];
+	    }
+	    NEXT;
+	}
+    }
+    *out++ = 0;
+    return(buffer);
+#endif
 }
 
 /**
@@ -1477,23 +1556,19 @@
 	} else {
 	    GROW;
 	    if (CUR == ';') {
-	        NEXT;
 		*str = name;
 
 		/*
 		 * Lookup the entity in the table.
 		 */
 		ent = htmlEntityLookup(name);
+		if (ent != NULL) /* OK that's ugly !!! */
+		    NEXT;
 	    } else {
 		if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 		    ctxt->sax->error(ctxt->userData,
 		                     "htmlParseEntityRef: expecting ';'\n");
-		ctxt->wellFormed = 0;
-		if (ctxt->sax->characters != NULL) {
-		    ctxt->sax->characters(ctxt->userData, BAD_CAST "&", 1);
-		    ctxt->sax->characters(ctxt->userData, name, xmlStrlen(name));
-		}
-		xmlFree(name);
+		*str = name;
 	    }
 	}
     }
@@ -2321,12 +2396,15 @@
 	    ctxt->sax->characters(ctxt->userData, out, 1);
     } else {
 	ent = htmlParseEntityRef(ctxt, &name);
-	if (name == NULL) return; /* Shall we output & anyway ? */
+	if (name == NULL) {
+	    ctxt->sax->characters(ctxt->userData, BAD_CAST "&", 1);
+	    return;
+	}
 	if ((ent == NULL) || (ent->value <= 0) || (ent->value >= 255)) {
 	    if ((ctxt->sax != NULL) && (ctxt->sax->characters != NULL)) {
 		ctxt->sax->characters(ctxt->userData, BAD_CAST "&", 1);
 		ctxt->sax->characters(ctxt->userData, name, xmlStrlen(name));
-		ctxt->sax->characters(ctxt->userData, BAD_CAST ";", 1);
+		/* ctxt->sax->characters(ctxt->userData, BAD_CAST ";", 1); */
 	    }
 	} else {
 	    /* invalid for UTF-8 variable encoding !!!!! */
@@ -2903,15 +2981,16 @@
 }
 
 /**
- * htmlParseTry:
+ * htmlParseTryOrFinish:
  * @ctxt:  an HTML parser context
+ * @terminate:  last chunk indicator
  *
  * Try to progress on parsing
  *
  * Returns zero if no parsing was possible
  */
 int
-htmlParseTry(htmlParserCtxtPtr ctxt) {
+htmlParseTryOrFinish(htmlParserCtxtPtr ctxt, int terminate) {
     int ret = 0;
     htmlParserInputPtr in;
     int avail;
@@ -2990,7 +3069,8 @@
 		    (UPP(4) == 'C') && (UPP(5) == 'T') &&
 		    (UPP(6) == 'Y') && (UPP(7) == 'P') &&
 		    (UPP(8) == 'E')) {
-		    if (htmlParseLookupSequence(ctxt, '>', 0, 0) < 0) 
+		    if ((!terminate) &&
+		        (htmlParseLookupSequence(ctxt, '>', 0, 0) < 0))
 			goto done;
 #ifdef DEBUG_PUSH
 		    fprintf(stderr, "HPP: Parsing internal subset\n");
@@ -3020,7 +3100,8 @@
 		next = in->cur[1];
 	        if ((cur == '<') && (next == '!') &&
 		    (in->cur[2] == '-') && (in->cur[3] == '-')) {
-		    if (htmlParseLookupSequence(ctxt, '-', '-', '>') < 0) 
+		    if ((!terminate) &&
+		        (htmlParseLookupSequence(ctxt, '-', '-', '>') < 0))
 			goto done;
 #ifdef DEBUG_PUSH
 		    fprintf(stderr, "HPP: Parsing Comment\n");
@@ -3032,7 +3113,8 @@
 		    (UPP(4) == 'C') && (UPP(5) == 'T') &&
 		    (UPP(6) == 'Y') && (UPP(7) == 'P') &&
 		    (UPP(8) == 'E')) {
-		    if (htmlParseLookupSequence(ctxt, '>', 0, 0) < 0) 
+		    if ((!terminate) &&
+		        (htmlParseLookupSequence(ctxt, '>', 0, 0) < 0))
 			goto done;
 #ifdef DEBUG_PUSH
 		    fprintf(stderr, "HPP: Parsing internal subset\n");
@@ -3064,7 +3146,8 @@
 		next = in->cur[1];
 		if ((cur == '<') && (next == '!') &&
 		    (in->cur[2] == '-') && (in->cur[3] == '-')) {
-		    if (htmlParseLookupSequence(ctxt, '-', '-', '>') < 0) 
+		    if ((!terminate) &&
+		        (htmlParseLookupSequence(ctxt, '-', '-', '>') < 0))
 			goto done;
 #ifdef DEBUG_PUSH
 		    fprintf(stderr, "HPP: Parsing Comment\n");
@@ -3093,7 +3176,8 @@
 		next = in->cur[1];
 	        if ((cur == '<') && (next == '!') &&
 		    (in->cur[2] == '-') && (in->cur[3] == '-')) {
-		    if (htmlParseLookupSequence(ctxt, '-', '-', '>') < 0) 
+		    if ((!terminate) &&
+		        (htmlParseLookupSequence(ctxt, '-', '-', '>') < 0))
 			goto done;
 #ifdef DEBUG_PUSH
 		    fprintf(stderr, "HPP: Parsing Comment\n");
@@ -3133,7 +3217,8 @@
 #endif
 		    break;
 		}
-		if (htmlParseLookupSequence(ctxt, '>', 0, 0) < 0) 
+		if ((!terminate) &&
+		    (htmlParseLookupSequence(ctxt, '>', 0, 0) < 0))
 		    goto done;
 
 		oldname = xmlStrdup(ctxt->name);
@@ -3268,7 +3353,8 @@
 		next = in->cur[1];
 	        if ((cur == '<') && (next == '!') &&
 		    (in->cur[2] == '-') && (in->cur[3] == '-')) {
-		    if (htmlParseLookupSequence(ctxt, '-', '-', '>') < 0) 
+		    if ((!terminate) &&
+		        (htmlParseLookupSequence(ctxt, '-', '-', '>') < 0))
 			goto done;
 #ifdef DEBUG_PUSH
 		    fprintf(stderr, "HPP: Parsing Comment\n");
@@ -3292,7 +3378,8 @@
 #endif
 		    break;
 		} else if (cur == '&') {
-		    if (htmlParseLookupSequence(ctxt, ';', 0, 0) < 0) 
+		    if ((!terminate) &&
+		        (htmlParseLookupSequence(ctxt, ';', 0, 0) < 0))
 			goto done;
 #ifdef DEBUG_PUSH
 		    fprintf(stderr, "HPP: Parsing Reference\n");
@@ -3308,7 +3395,8 @@
 		     */
 		    if ((ctxt->inputNr == 1) &&
 		        (avail < HTML_PARSER_BIG_BUFFER_SIZE)) {
-			if (htmlParseLookupSequence(ctxt, '<', 0, 0) < 0) 
+			if ((!terminate) &&
+			    (htmlParseLookupSequence(ctxt, '<', 0, 0) < 0))
 			    goto done;
                     }
 		    ctxt->checkIndex = 0;
@@ -3321,7 +3409,8 @@
             case XML_PARSER_END_TAG:
 		if (avail < 2)
 		    goto done;
-		if (htmlParseLookupSequence(ctxt, '>', 0, 0) < 0) 
+		if ((!terminate) &&
+		    (htmlParseLookupSequence(ctxt, '>', 0, 0) < 0))
 		    goto done;
 		htmlParseEndTag(ctxt);
 		if (ctxt->nameNr == 0) {
@@ -3400,6 +3489,19 @@
 }
 
 /**
+ * htmlParseTry:
+ * @ctxt:  an HTML parser context
+ *
+ * Try to progress on parsing
+ *
+ * Returns zero if no parsing was possible
+ */
+int
+htmlParseTry(htmlParserCtxtPtr ctxt) {
+    return(htmlParseTryOrFinish(ctxt, 0));
+}
+
+/**
  * htmlParseChunk:
  * @ctxt:  an XML parser context
  * @chunk:  an char array
@@ -3425,9 +3527,9 @@
 	fprintf(stderr, "HPP: pushed %d\n", size);
 #endif
 
-        htmlParseTry(ctxt);
+        htmlParseTryOrFinish(ctxt, terminate);
     } else if (ctxt->instate != XML_PARSER_EOF)
-        htmlParseTry(ctxt);
+        htmlParseTryOrFinish(ctxt, terminate);
     if (terminate) {
 	if ((ctxt->instate != XML_PARSER_EOF) &&
 	    (ctxt->instate != XML_PARSER_EPILOG) &&
diff --git a/HTMLparser.h b/HTMLparser.h
index ecb91cb..22fe614 100644
--- a/HTMLparser.h
+++ b/HTMLparser.h
@@ -30,7 +30,9 @@
 /*
  * Internal description of an HTML element
  */
-typedef struct htmlElemDesc {
+typedef struct _htmlElemDesc htmlElemDesc;
+typedef htmlElemDesc *htmlElemDescPtr;
+struct _htmlElemDesc {
     const char *name;	/* The tag name */
     int startTag;       /* Whether the start tag can be implied */
     int endTag;         /* Whether the end tag can be implied */
@@ -38,16 +40,18 @@
     int depr;           /* Is this a deprecated element ? */
     int dtd;            /* 1: only in Loose DTD, 2: only Frameset one */
     const char *desc;   /* the description */
-} htmlElemDesc, *htmlElemDescPtr;
+};
 
 /*
  * Internal description of an HTML entity
  */
-typedef struct htmlEntityDesc {
+typedef struct _htmlEntityDesc htmlEntityDesc;
+typedef htmlEntityDesc *htmlEntityDescPtr;
+struct _htmlEntityDesc {
     int value;		/* the UNICODE value for the character */
     const char *name;	/* The entity name */
     const char *desc;   /* the description */
-} htmlEntityDesc, *htmlEntityDescPtr;
+};
 
 /*
  * There is only few public functions.
diff --git a/Makefile.am b/Makefile.am
index c6404e2..14ae258 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2,7 +2,7 @@
 
 SUBDIRS = doc
 
-INCLUDES = -I@srcdir@ @CORBA_CFLAGS@ $(VERSION_FLAGS)
+INCLUDES = -I@srcdir@ @Z_CFLAGS@ @CORBA_CFLAGS@ $(VERSION_FLAGS)
 
 VERSION_FLAGS = -DLIBXML_VERSION=\"@LIBXML_VERSION@\"
 
diff --git a/acconfig.h b/acconfig.h
index 6d79490..49f419f 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -4,3 +4,5 @@
 #undef HAVE_LIBM
 #undef HAVE_ISINF
 #undef HAVE_ISNAN
+#undef HAVE_LIBHISTORY
+#undef HAVE_LIBREADLINE
diff --git a/config.h.in b/config.h.in
index 842670b..b3b74ec 100644
--- a/config.h.in
+++ b/config.h.in
@@ -12,6 +12,8 @@
 #undef HAVE_LIBM
 #undef HAVE_ISINF
 #undef HAVE_ISNAN
+#undef HAVE_LIBHISTORY
+#undef HAVE_LIBREADLINE
 
 /* Define if you have the class function.  */
 #undef HAVE_CLASS
@@ -25,12 +27,6 @@
 /* Define if you have the fpclass function.  */
 #undef HAVE_FPCLASS
 
-/* Define if you have the isinf function.  */
-#undef HAVE_ISINF
-
-/* Define if you have the isnan function.  */
-#undef HAVE_ISNAN
-
 /* Define if you have the isnand function.  */
 #undef HAVE_ISNAND
 
@@ -127,21 +123,12 @@
 /* Define if you have the <unistd.h> header file.  */
 #undef HAVE_UNISTD_H
 
-/* Define if you have the <zlib.h> header file.  */
-#undef HAVE_ZLIB_H
-
-/* Define if you have the history library (-lhistory).  */
-#undef HAVE_LIBHISTORY
-
 /* Define if you have the inet library (-linet).  */
 #undef HAVE_LIBINET
 
 /* Define if you have the nsl library (-lnsl).  */
 #undef HAVE_LIBNSL
 
-/* Define if you have the readline library (-lreadline).  */
-#undef HAVE_LIBREADLINE
-
 /* Define if you have the socket library (-lsocket).  */
 #undef HAVE_LIBSOCKET
 
diff --git a/configure.in b/configure.in
index 51d8418..79dfd5d 100644
--- a/configure.in
+++ b/configure.in
@@ -5,7 +5,7 @@
 
 LIBXML_MAJOR_VERSION=1
 LIBXML_MINOR_VERSION=8
-LIBXML_MICRO_VERSION=2
+LIBXML_MICRO_VERSION=3
 LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION
 LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION
 
@@ -33,18 +33,39 @@
 
 AM_MAINTAINER_MODE
 
-dnl Checks for libraries.
-Z_LIBS= 
-AC_CHECK_LIB(z, inflate,
-  AC_CHECK_HEADER(zlib.h,
-    Z_LIBS="-lz";  AC_DEFINE(HAVE_LIBZ)))
+dnl Checks for zlib library.
+_cppflags="${CPPFLAGS}"
+_ldflags="${LDFLAGS}"
 
+AC_ARG_WITH(zlib,
+[  --with-zlib[=DIR]       use libz in DIR],[
+  if test "$withval" != "no"; then
+    Z_DIR=$withval
+    CPPFLAGS="${CPPFLAGS} -I$withval/include"
+    LDFLAGS="${LDFLAGS} -L$withval/lib"
+  fi
+])
+
+AC_CHECK_HEADER(zlib.h,
+    AC_CHECK_LIB(z, gzread,[
+	AC_DEFINE(HAVE_LIBZ)
+        if test "x${Z_DIR}" != "x"; then
+            Z_CFLAGS="-I${Z_DIR}/include"
+            Z_LIBS="-L${Z_DIR}/lib -lz"
+        else
+            Z_LIBS="-lz"
+        fi]))
+AC_SUBST(Z_CFLAGS)
+AC_SUBST(Z_LIBS)
+
+CPPFLAGS=${_cppflags}
+LDFLAGS=${_ldflags}
 
 dnl Checks for header files.
 AC_HEADER_DIRENT
 AC_HEADER_STDC
 AC_CHECK_HEADERS(fcntl.h unistd.h ctype.h dirent.h errno.h malloc.h)
-AC_CHECK_HEADERS(stdarg.h sys/stat.h sys/types.h time.h zlib.h)
+AC_CHECK_HEADERS(stdarg.h sys/stat.h sys/types.h time.h)
 AC_CHECK_HEADERS(ieeefp.h nan.h math.h fp_class.h float.h)
 AC_CHECK_HEADERS(stdlib.h sys/socket.h netinet/in.h arpa/inet.h)
 AC_CHECK_HEADERS(netdb.h sys/time.h sys/select.h)
@@ -71,33 +92,20 @@
 dnl Checks for library functions.
 AC_FUNC_STRFTIME
 AC_CHECK_FUNCS(strdup strndup strerror snprintf)
-AC_CHECK_FUNCS(finite isinf isnan isnand fp_class class fpclass finite)
+AC_CHECK_FUNCS(finite isnand fp_class class fpclass)
 AC_CHECK_FUNCS(strftime localtime)
 
 dnl Checks for inet libraries:
-AC_CHECK_LIB(socket, socket)
-AC_CHECK_LIB(inet, connect)
-AC_CHECK_LIB(nsl, t_accept)
+AC_CHECK_FUNC(gethostent, , AC_CHECK_LIB(nsl, gethostent))
+AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt))
+AC_CHECK_FUNC(connect, , AC_CHECK_LIB(inet, connect))
 
 dnl Checks for isnan in libm if not in libc
-M_LIBS= 
-if test "$ac_cv_func_isnan" != "yes"
-then
-AC_CHECK_LIB(m, isnan,
-             M_LIBS="-lm";  AC_DEFINE(HAVE_ISNAN))
-fi
+AC_CHECK_FUNC(isnan, , AC_CHECK_LIB(m, isnan,
+  [M_LIBS="-lm"; AC_DEFINE(HAVE_ISNAN)]))
 
-dnl Checks for isinf in libm if not in libc
-if test "$ac_cv_func_isinf" != "yes"
-then
-M2_LIBS=""
-AC_CHECK_LIB(m, isinf,
-             M2_LIBS="-lm";  AC_DEFINE(HAVE_ISINF))
-if test "$M2_LIBS" != ""
-then
-    M_LIBS="$M2_LIBS"
-fi
-fi
+AC_CHECK_FUNC(isinf, , AC_CHECK_LIB(m, isinf,
+  [M_LIBS="-lm"; AC_DEFINE(HAVE_ISINF)]))
 
 XML_LIBDIR='-L${libdir}'
 XML_INCLUDEDIR='-I${includedir}/gnome-xml'
@@ -149,7 +157,6 @@
 AC_SUBST(HAVE_ISNAN)
 AC_SUBST(HAVE_ISINF)
 
-AC_SUBST(Z_LIBS)
 AC_SUBST(M_LIBS)
 AC_SUBST(RDL_LIBS)
 AC_OUTPUT(libxml.spec Makefile doc/Makefile example/Makefile xml-config win32config.h)
diff --git a/debugXML.h b/debugXML.h
index 8774f0b..5d4d2ae 100644
--- a/debugXML.h
+++ b/debugXML.h
@@ -64,7 +64,9 @@
  * The shell context itself
  * TODO: add the defined function tables.
  */
-typedef struct xmlShellCtxt {
+typedef struct _xmlShellCtxt xmlShellCtxt;
+typedef xmlShellCtxt *xmlShellCtxtPtr;
+struct _xmlShellCtxt {
     char *filename;
     xmlDocPtr doc;
     xmlNodePtr node;
@@ -72,7 +74,7 @@
     int loaded;
     FILE *output;
     xmlShellReadlineFunc input;
-} xmlShellCtxt, *xmlShellCtxtPtr;
+};
 
 /**
  * xmlShellCmd:
diff --git a/doc/html/book1.html b/doc/html/book1.html
index 1e53fbc..13265f0 100644
--- a/doc/html/book1.html
+++ b/doc/html/book1.html
@@ -4,13 +4,16 @@
 >Gnome XML Library Reference Manual</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
 REL="NEXT"
 TITLE="Libxml Programming Notes"
 HREF="libxml-notes.html"></HEAD
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
 ><DIV
 CLASS="BOOK"
 ><DIV
@@ -46,14 +49,14 @@
 ><DIV
 CLASS="ADDRESS"
 ><P
-CLASS="LITERALLAYOUT"
+CLASS="ADDRESS"
 >	&nbsp;&nbsp;&nbsp;&nbsp;Daniel.Veillard@w3.org<br>
 	&nbsp;&nbsp;</P
 ></DIV
 ></DIV
 ><P
 CLASS="COPYRIGHT"
->Copyright © 1999 by <SPAN
+>Copyright &copy; 1999 by <SPAN
 CLASS="HOLDER"
 >Daniel Veillard</SPAN
 ></P
diff --git a/doc/html/gnome-xml-entities.html b/doc/html/gnome-xml-entities.html
index 3a2d8e5..f57476c 100644
--- a/doc/html/gnome-xml-entities.html
+++ b/doc/html/gnome-xml-entities.html
@@ -4,7 +4,7 @@
 >entities</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,6 +20,9 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -111,19 +114,22 @@
 ></TABLE
 ></DIV
 ><H1
->entities</H1
+><A
+NAME="GNOME-XML-ENTITIES"
+>entities</A
+></H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN5768"
+NAME="AEN5124"
 ></A
 ><H2
 >Name</H2
->entities &#8212; </DIV
+>entities&nbsp;--&nbsp;</DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN5771"
+NAME="AEN5127"
 ></A
 ><H2
 >Synopsis</H2
@@ -336,11 +342,7 @@
                                              <A
 HREF="gnome-xml-entities.html#XMLENTITIESTABLEPTR"
 >xmlEntitiesTablePtr</A
-> table);
-void        <A
-HREF="gnome-xml-entities.html#XMLCLEANUPPREDEFINEDENTITIES"
->xmlCleanupPredefinedEntities</A
->    (void);</PRE
+> table);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -348,7 +350,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN5829"
+NAME="AEN5184"
 ></A
 ><H2
 >Description</H2
@@ -358,14 +360,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN5832"
+NAME="AEN5187"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5834"
+NAME="AEN5189"
 ></A
 ><H3
 ><A
@@ -381,7 +383,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XML_INTERNAL_GENERAL_ENTITY		1</PRE
+>#define     XML_INTERNAL_GENERAL_ENTITY</PRE
 ></TD
 ></TR
 ></TABLE
@@ -391,7 +393,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5839"
+NAME="AEN5194"
 ></A
 ><H3
 ><A
@@ -407,7 +409,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XML_EXTERNAL_GENERAL_PARSED_ENTITY	2</PRE
+>#define     XML_EXTERNAL_GENERAL_PARSED_ENTITY</PRE
 ></TD
 ></TR
 ></TABLE
@@ -417,7 +419,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5844"
+NAME="AEN5199"
 ></A
 ><H3
 ><A
@@ -433,7 +435,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XML_EXTERNAL_GENERAL_UNPARSED_ENTITY	3</PRE
+>#define     XML_EXTERNAL_GENERAL_UNPARSED_ENTITY</PRE
 ></TD
 ></TR
 ></TABLE
@@ -443,7 +445,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5849"
+NAME="AEN5204"
 ></A
 ><H3
 ><A
@@ -459,7 +461,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XML_INTERNAL_PARAMETER_ENTITY		4</PRE
+>#define     XML_INTERNAL_PARAMETER_ENTITY</PRE
 ></TD
 ></TR
 ></TABLE
@@ -469,7 +471,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5854"
+NAME="AEN5209"
 ></A
 ><H3
 ><A
@@ -485,7 +487,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XML_EXTERNAL_PARAMETER_ENTITY		5</PRE
+>#define     XML_EXTERNAL_PARAMETER_ENTITY</PRE
 ></TD
 ></TR
 ></TABLE
@@ -495,7 +497,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5859"
+NAME="AEN5214"
 ></A
 ><H3
 ><A
@@ -511,7 +513,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XML_INTERNAL_PREDEFINED_ENTITY		6</PRE
+>#define     XML_INTERNAL_PREDEFINED_ENTITY</PRE
 ></TD
 ></TR
 ></TABLE
@@ -521,33 +523,20 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5864"
+NAME="AEN5219"
 ></A
 ><H3
 ><A
 NAME="XMLENTITYPTR"
 ></A
 >xmlEntityPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlEntity *xmlEntityPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5869"
+NAME="AEN5223"
 ></A
 ><H3
 ><A
@@ -563,7 +552,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XML_MIN_ENTITIES_TABLE	32</PRE
+>#define     XML_MIN_ENTITIES_TABLE</PRE
 ></TD
 ></TR
 ></TABLE
@@ -573,33 +562,20 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5874"
+NAME="AEN5228"
 ></A
 ><H3
 ><A
 NAME="XMLENTITIESTABLEPTR"
 ></A
 >xmlEntitiesTablePtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlEntitiesTable *xmlEntitiesTablePtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5879"
+NAME="AEN5232"
 ></A
 ><H3
 ><A
@@ -669,7 +645,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -686,7 +662,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the entity name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -703,7 +679,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the entity type XML_xxx_yyy_ENTITY</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -720,7 +696,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the entity external ID if available</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -737,7 +713,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the entity system ID if available</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -754,7 +730,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the entity content</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -764,7 +740,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5919"
+NAME="AEN5272"
 ></A
 ><H3
 ><A
@@ -834,7 +810,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -851,7 +827,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the entity name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -868,7 +844,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the entity type XML_xxx_yyy_ENTITY</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -885,7 +861,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the entity external ID if available</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -902,7 +878,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the entity system ID if available</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -919,7 +895,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the entity content</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -929,7 +905,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5959"
+NAME="AEN5312"
 ></A
 ><H3
 ><A
@@ -985,7 +961,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the entity name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1000,7 +976,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->NULL if not, othervise the entity</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1010,7 +986,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5980"
+NAME="AEN5333"
 ></A
 ><H3
 ><A
@@ -1072,7 +1048,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document referencing the entity</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1089,7 +1065,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the entity name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1104,7 +1080,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->A pointer to the entity structure or NULL if not found.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1114,7 +1090,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6006"
+NAME="AEN5359"
 ></A
 ><H3
 ><A
@@ -1175,7 +1151,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document referencing the entity</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1192,7 +1168,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the entity name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1207,7 +1183,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->A pointer to the entity structure or NULL if not found.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1217,7 +1193,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6032"
+NAME="AEN5385"
 ></A
 ><H3
 ><A
@@ -1278,7 +1254,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document referencing the entity</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1295,7 +1271,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the entity name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1310,7 +1286,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->A pointer to the entity structure or NULL if not found.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1320,7 +1296,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6058"
+NAME="AEN5411"
 ></A
 ><H3
 ><A
@@ -1387,7 +1363,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document containing the string</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1404,7 +1380,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  A string to convert to XML.</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1419,7 +1395,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->A newly allocated string with the substitution done.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1429,7 +1405,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6086"
+NAME="AEN5439"
 ></A
 ><H3
 ><A
@@ -1495,7 +1471,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document containing the string</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1512,7 +1488,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  A string to convert to XML.</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1527,7 +1503,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->A newly allocated string with the substitution done.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1537,7 +1513,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6113"
+NAME="AEN5466"
 ></A
 ><H3
 ><A
@@ -1588,7 +1564,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the xmlEntitiesTablePtr just created or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1598,7 +1574,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6129"
+NAME="AEN5482"
 ></A
 ><H3
 ><A
@@ -1654,7 +1630,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  An entity table</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1669,7 +1645,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new xmlEntitiesTablePtr or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1679,7 +1655,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6150"
+NAME="AEN5503"
 ></A
 ><H3
 ><A
@@ -1732,7 +1708,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  An entity table</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1742,7 +1718,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6166"
+NAME="AEN5519"
 ></A
 ><H3
 ><A
@@ -1799,7 +1775,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  An XML buffer.</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1816,41 +1792,13 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  An entity table</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
 ></P
 ></DIV
 ></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN6187"
-></A
-><H3
-><A
-NAME="XMLCLEANUPPREDEFINEDENTITIES"
-></A
->xmlCleanupPredefinedEntities ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void        xmlCleanupPredefinedEntities    (void);</PRE
-></TD
-></TR
-></TABLE
-><P
->Cleanup up the predefined entities table.</P
-><P
-></P
-></DIV
 ></DIV
 ><DIV
 CLASS="NAVFOOTER"
diff --git a/doc/html/gnome-xml-htmlparser.html b/doc/html/gnome-xml-htmlparser.html
index 839c115..0f68966 100644
--- a/doc/html/gnome-xml-htmlparser.html
+++ b/doc/html/gnome-xml-htmlparser.html
@@ -4,7 +4,7 @@
 >HTMLparser</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,6 +20,9 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -111,19 +114,22 @@
 ></TABLE
 ></DIV
 ><H1
->HTMLparser</H1
+><A
+NAME="GNOME-XML-HTMLPARSER"
+>HTMLparser</A
+></H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN7845"
+NAME="AEN7186"
 ></A
 ><H2
 >Name</H2
->HTMLparser &#8212; </DIV
+>HTMLparser&nbsp;--&nbsp;</DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN7848"
+NAME="AEN7189"
 ></A
 ><H2
 >Synopsis</H2
@@ -194,32 +200,6 @@
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *name);
-int         <A
-HREF="gnome-xml-htmlparser.html#HTMLISAUTOCLOSED"
->htmlIsAutoClosed</A
->                (<A
-HREF="gnome-xml-htmlparser.html#HTMLDOCPTR"
->htmlDocPtr</A
-> doc,
-                                             <A
-HREF="gnome-xml-htmlparser.html#HTMLNODEPTR"
->htmlNodePtr</A
-> elem);
-int         <A
-HREF="gnome-xml-htmlparser.html#HTMLAUTOCLOSETAG"
->htmlAutoCloseTag</A
->                (<A
-HREF="gnome-xml-htmlparser.html#HTMLDOCPTR"
->htmlDocPtr</A
-> doc,
-                                             const <A
-HREF="gnome-xml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             <A
-HREF="gnome-xml-htmlparser.html#HTMLNODEPTR"
->htmlNodePtr</A
-> elem);
 <GTKDOCLINK
 HREF="HTMLENTITYDESCPTR"
 >htmlEntityDescPtr</GTKDOCLINK
@@ -295,42 +275,7 @@
 HREF="gnome-xml-htmlparser.html#HTMLPARSEFILE"
 >htmlParseFile</A
 >                   (const char *filename,
-                                             const char *encoding);
-void        <A
-HREF="gnome-xml-htmlparser.html#HTMLFREEPARSERCTXT"
->htmlFreeParserCtxt</A
->              (<A
-HREF="gnome-xml-htmlparser.html#HTMLPARSERCTXTPTR"
->htmlParserCtxtPtr</A
-> ctxt);
-<A
-HREF="gnome-xml-htmlparser.html#HTMLPARSERCTXTPTR"
->htmlParserCtxtPtr</A
-> <A
-HREF="gnome-xml-htmlparser.html#HTMLCREATEPUSHPARSERCTXT"
->htmlCreatePushParserCtxt</A
->  (<A
-HREF="gnome-xml-htmlparser.html#HTMLSAXHANDLERPTR"
->htmlSAXHandlerPtr</A
-> sax,
-                                             void *user_data,
-                                             const char *chunk,
-                                             int size,
-                                             const char *filename,
-                                             <A
-HREF="gnome-xml-encoding.html#XMLCHARENCODING"
->xmlCharEncoding</A
-> enc);
-int         <A
-HREF="gnome-xml-htmlparser.html#HTMLPARSECHUNK"
->htmlParseChunk</A
->                  (<A
-HREF="gnome-xml-htmlparser.html#HTMLPARSERCTXTPTR"
->htmlParserCtxtPtr</A
-> ctxt,
-                                             const char *chunk,
-                                             int size,
-                                             int terminate);</PRE
+                                             const char *encoding);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -338,7 +283,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7901"
+NAME="AEN7227"
 ></A
 ><H2
 >Description</H2
@@ -348,248 +293,131 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7904"
+NAME="AEN7230"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7906"
+NAME="AEN7232"
 ></A
 ><H3
 ><A
 NAME="HTMLPARSERCTXT"
 ></A
 >htmlParserCtxt</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlParserCtxt htmlParserCtxt;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7911"
+NAME="AEN7236"
 ></A
 ><H3
 ><A
 NAME="HTMLPARSERCTXTPTR"
 ></A
 >htmlParserCtxtPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlParserCtxtPtr htmlParserCtxtPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7916"
+NAME="AEN7240"
 ></A
 ><H3
 ><A
 NAME="HTMLPARSERNODEINFO"
 ></A
 >htmlParserNodeInfo</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlParserNodeInfo htmlParserNodeInfo;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7921"
+NAME="AEN7244"
 ></A
 ><H3
 ><A
 NAME="HTMLSAXHANDLER"
 ></A
 >htmlSAXHandler</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlSAXHandler htmlSAXHandler;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7926"
+NAME="AEN7248"
 ></A
 ><H3
 ><A
 NAME="HTMLSAXHANDLERPTR"
 ></A
 >htmlSAXHandlerPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlSAXHandlerPtr htmlSAXHandlerPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7931"
+NAME="AEN7252"
 ></A
 ><H3
 ><A
 NAME="HTMLPARSERINPUT"
 ></A
 >htmlParserInput</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlParserInput htmlParserInput;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7936"
+NAME="AEN7256"
 ></A
 ><H3
 ><A
 NAME="HTMLPARSERINPUTPTR"
 ></A
 >htmlParserInputPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlParserInputPtr htmlParserInputPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7941"
+NAME="AEN7260"
 ></A
 ><H3
 ><A
 NAME="HTMLDOCPTR"
 ></A
 >htmlDocPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlDocPtr htmlDocPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7946"
+NAME="AEN7264"
 ></A
 ><H3
 ><A
 NAME="HTMLNODEPTR"
 ></A
 >htmlNodePtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlNodePtr htmlNodePtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7951"
+NAME="AEN7268"
 ></A
 ><H3
 ><A
@@ -645,7 +473,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  The tag name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -660,7 +488,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the related htmlElemDescPtr or NULL if not found.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -670,7 +498,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7972"
+NAME="AEN7289"
 ></A
 ><H3
 ><A
@@ -728,7 +556,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the entity name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -743,7 +571,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the associated htmlEntityDescPtr if found, NULL otherwise.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -753,231 +581,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7994"
-></A
-><H3
-><A
-NAME="HTMLISAUTOCLOSED"
-></A
->htmlIsAutoClosed ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int         htmlIsAutoClosed                (<A
-HREF="gnome-xml-htmlparser.html#HTMLDOCPTR"
->htmlDocPtr</A
-> doc,
-                                             <A
-HREF="gnome-xml-htmlparser.html#HTMLNODEPTR"
->htmlNodePtr</A
-> elem);</PRE
-></TD
-></TR
-></TABLE
-><P
->The HTmL DtD allows a tag to implicitely close other tags.
-The list is kept in htmlStartClose array. This function checks
-if a tag is autoclosed by one of it's child</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->doc</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the HTML document</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->elem</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the HTML element</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->1 if autoclosed, 0 otherwise</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8019"
-></A
-><H3
-><A
-NAME="HTMLAUTOCLOSETAG"
-></A
->htmlAutoCloseTag ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int         htmlAutoCloseTag                (<A
-HREF="gnome-xml-htmlparser.html#HTMLDOCPTR"
->htmlDocPtr</A
-> doc,
-                                             const <A
-HREF="gnome-xml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             <A
-HREF="gnome-xml-htmlparser.html#HTMLNODEPTR"
->htmlNodePtr</A
-> elem);</PRE
-></TD
-></TR
-></TABLE
-><P
->The HTmL DtD allows a tag to implicitely close other tags.
-The list is kept in htmlStartClose array. This function checks
-if the element or one of it's children would autoclose the
-given tag.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->doc</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the HTML document</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  The tag name</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->elem</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the HTML element</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->1 if autoclose, 0 otherwise</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8049"
+NAME="AEN7311"
 ></A
 ><H3
 ><A
@@ -1039,7 +643,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an HTML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1056,7 +660,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  location to store the entity name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1071,8 +675,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the associated htmlEntityDescPtr if found, or NULL otherwise,
-if non-NULL *str will have to be freed by the caller.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1082,7 +685,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8076"
+NAME="AEN7338"
 ></A
 ><H3
 ><A
@@ -1141,7 +744,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an HTML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1156,7 +759,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the value parsed (as an int)</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1166,7 +769,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8098"
+NAME="AEN7360"
 ></A
 ><H3
 ><A
@@ -1223,7 +826,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an HTML parser context</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1233,7 +836,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8116"
+NAME="AEN7378"
 ></A
 ><H3
 ><A
@@ -1297,7 +900,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a pointer to an array of xmlChar</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1314,7 +917,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a free form C string describing the HTML document encoding, or NULL</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1331,7 +934,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the SAX handler block</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1348,7 +951,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> if using SAX, this pointer will be provided on callbacks. </TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1363,7 +966,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting document tree</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1373,7 +976,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8150"
+NAME="AEN7412"
 ></A
 ><H3
 ><A
@@ -1430,7 +1033,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a pointer to an array of xmlChar</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1447,7 +1050,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a free form C string describing the HTML document encoding, or NULL</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1462,7 +1065,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting document tree</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1472,7 +1075,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8175"
+NAME="AEN7437"
 ></A
 ><H3
 ><A
@@ -1534,7 +1137,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the filename</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1551,7 +1154,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a free form C string describing the HTML document encoding, or NULL</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1568,7 +1171,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the SAX handler block</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1585,7 +1188,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> if using SAX, this pointer will be provided on callbacks. </TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1600,7 +1203,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting document tree</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1610,7 +1213,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8208"
+NAME="AEN7470"
 ></A
 ><H3
 ><A
@@ -1665,7 +1268,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the filename</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1682,7 +1285,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a free form C string describing the HTML document encoding, or NULL</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1697,390 +1300,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting document tree</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8232"
-></A
-><H3
-><A
-NAME="HTMLFREEPARSERCTXT"
-></A
->htmlFreeParserCtxt ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void        htmlFreeParserCtxt              (<A
-HREF="gnome-xml-htmlparser.html#HTMLPARSERCTXTPTR"
->htmlParserCtxtPtr</A
-> ctxt);</PRE
-></TD
-></TR
-></TABLE
-><P
->Free all the memory used by a parser context. However the parsed
-document in ctxt-&gt;myDoc is not freed.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->ctxt</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  an HTML parser context</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8248"
-></A
-><H3
-><A
-NAME="HTMLCREATEPUSHPARSERCTXT"
-></A
->htmlCreatePushParserCtxt ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gnome-xml-htmlparser.html#HTMLPARSERCTXTPTR"
->htmlParserCtxtPtr</A
-> htmlCreatePushParserCtxt  (<A
-HREF="gnome-xml-htmlparser.html#HTMLSAXHANDLERPTR"
->htmlSAXHandlerPtr</A
-> sax,
-                                             void *user_data,
-                                             const char *chunk,
-                                             int size,
-                                             const char *filename,
-                                             <A
-HREF="gnome-xml-encoding.html#XMLCHARENCODING"
->xmlCharEncoding</A
-> enc);</PRE
-></TD
-></TR
-></TABLE
-><P
->Create a parser context for using the HTML parser in push mode
-To allow content encoding detection, <TT
-CLASS="PARAMETER"
-><I
->size</I
-></TT
-> should be &gt;= 4
-The value of <TT
-CLASS="PARAMETER"
-><I
->filename</I
-></TT
-> is used for fetching external entities
-and error/warning reports.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->sax</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  a SAX handler</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->user_data</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  The user data returned on SAX callbacks</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->chunk</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  a pointer to an array of chars</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->size</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  number of chars in the array</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"
->  an optional file name or URI</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->enc</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  an optional encoding</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->the new parser context or NULL</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8292"
-></A
-><H3
-><A
-NAME="HTMLPARSECHUNK"
-></A
->htmlParseChunk ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int         htmlParseChunk                  (<A
-HREF="gnome-xml-htmlparser.html#HTMLPARSERCTXTPTR"
->htmlParserCtxtPtr</A
-> ctxt,
-                                             const char *chunk,
-                                             int size,
-                                             int terminate);</PRE
-></TD
-></TR
-></TABLE
-><P
->Parse a Chunk of memory</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->ctxt</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  an XML parser context</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->chunk</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  an char array</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->size</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the size in byte of the chunk</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->terminate</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  last chunk indicator</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->zero if no error, the xmlParserErrors otherwise.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
diff --git a/doc/html/gnome-xml-htmltree.html b/doc/html/gnome-xml-htmltree.html
index 0d6921c..68d0a9f 100644
--- a/doc/html/gnome-xml-htmltree.html
+++ b/doc/html/gnome-xml-htmltree.html
@@ -4,7 +4,7 @@
 >HTMLtree</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,6 +20,9 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -111,19 +114,22 @@
 ></TABLE
 ></DIV
 ><H1
->HTMLtree</H1
+><A
+NAME="GNOME-XML-HTMLTREE"
+>HTMLtree</A
+></H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN8329"
+NAME="AEN7499"
 ></A
 ><H2
 >Name</H2
->HTMLtree &#8212; </DIV
+>HTMLtree&nbsp;--&nbsp;</DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN8332"
+NAME="AEN7502"
 ></A
 ><H2
 >Synopsis</H2
@@ -188,7 +194,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN8346"
+NAME="AEN7516"
 ></A
 ><H2
 >Description</H2
@@ -198,14 +204,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN8349"
+NAME="AEN7519"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8351"
+NAME="AEN7521"
 ></A
 ><H3
 ><A
@@ -221,7 +227,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define HTML_TEXT_NODE		XML_TEXT_NODE</PRE
+>#define     HTML_TEXT_NODE</PRE
 ></TD
 ></TR
 ></TABLE
@@ -231,7 +237,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8356"
+NAME="AEN7526"
 ></A
 ><H3
 ><A
@@ -247,7 +253,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define HTML_ENTITY_REF_NODE	XML_ENTITY_REF_NODE</PRE
+>#define     HTML_ENTITY_REF_NODE</PRE
 ></TD
 ></TR
 ></TABLE
@@ -257,7 +263,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8361"
+NAME="AEN7531"
 ></A
 ><H3
 ><A
@@ -273,7 +279,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define HTML_COMMENT_NODE	XML_COMMENT_NODE</PRE
+>#define     HTML_COMMENT_NODE</PRE
 ></TD
 ></TR
 ></TABLE
@@ -283,7 +289,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8366"
+NAME="AEN7536"
 ></A
 ><H3
 ><A
@@ -342,7 +348,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -359,7 +365,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  OUT: the memory pointer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -376,7 +382,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  OUT: the memory lenght</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -386,7 +392,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8391"
+NAME="AEN7561"
 ></A
 ><H3
 ><A
@@ -443,7 +449,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the FILE*</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -460,7 +466,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -470,7 +476,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8412"
+NAME="AEN7582"
 ></A
 ><H3
 ><A
@@ -524,7 +530,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the filename</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -541,7 +547,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -556,7 +562,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the number of byte written or -1 in case of failure.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
diff --git a/doc/html/gnome-xml-nanohttp.html b/doc/html/gnome-xml-nanohttp.html
index f284120..33baba3 100644
--- a/doc/html/gnome-xml-nanohttp.html
+++ b/doc/html/gnome-xml-nanohttp.html
@@ -4,7 +4,7 @@
 >nanohttp</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,6 +20,9 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -111,19 +114,22 @@
 ></TABLE
 ></DIV
 ><H1
->nanohttp</H1
+><A
+NAME="GNOME-XML-NANOHTTP"
+>nanohttp</A
+></H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN8772"
+NAME="AEN7879"
 ></A
 ><H2
 >Name</H2
->nanohttp &#8212; </DIV
+>nanohttp&nbsp;--&nbsp;</DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN8775"
+NAME="AEN7882"
 ></A
 ><H2
 >Synopsis</H2
@@ -183,7 +189,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN8785"
+NAME="AEN7892"
 ></A
 ><H2
 >Description</H2
@@ -193,14 +199,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN8788"
+NAME="AEN7895"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8790"
+NAME="AEN7897"
 ></A
 ><H3
 ><A
@@ -253,7 +259,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  The URL to load</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -270,7 +276,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the filename where the content should be saved</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -287,8 +293,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  if available the Content-Type information will be
-returned at that location</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -303,8 +308,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->-1 in case of failure, 0 incase of success. The contentType,
-if provided must be freed by the caller</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -314,7 +318,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8817"
+NAME="AEN7924"
 ></A
 ><H3
 ><A
@@ -375,7 +379,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  The URL to load</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -392,7 +396,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the HTTP method to use</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -409,7 +413,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the input string if any</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -426,7 +430,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the Content-Type information IN and OUT</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -443,7 +447,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the extra headers</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -453,7 +457,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8849"
+NAME="AEN7956"
 ></A
 ><H3
 ><A
@@ -505,7 +509,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  The URL to load</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -522,8 +526,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  if available the Content-Type information will be
-returned at that location</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -533,7 +536,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8868"
+NAME="AEN7975"
 ></A
 ><H3
 ><A
@@ -583,7 +586,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the HTTP context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -598,7 +601,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the HTTP return code for the request.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -608,7 +611,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8887"
+NAME="AEN7994"
 ></A
 ><H3
 ><A
@@ -671,7 +674,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the HTTP context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -688,7 +691,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a buffer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -705,7 +708,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the buffer length</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -720,8 +723,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the number of byte read. 0 is an indication of an end of connection.
--1 indicates a parameter error.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -731,7 +733,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8916"
+NAME="AEN8023"
 ></A
 ><H3
 ><A
@@ -783,7 +785,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the HTTP context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -800,7 +802,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the filename where the content should be saved</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -815,7 +817,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->-1 in case of failure, 0 incase of success.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -825,7 +827,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8939"
+NAME="AEN8046"
 ></A
 ><H3
 ><A
@@ -876,7 +878,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the HTTP context</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
diff --git a/doc/html/gnome-xml-parser.html b/doc/html/gnome-xml-parser.html
index 7095510..59c0ca5 100644
--- a/doc/html/gnome-xml-parser.html
+++ b/doc/html/gnome-xml-parser.html
@@ -4,7 +4,7 @@
 >parser</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,6 +20,9 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -111,7 +114,10 @@
 ></TABLE
 ></DIV
 ><H1
->parser</H1
+><A
+NAME="GNOME-XML-PARSER"
+>parser</A
+></H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
@@ -119,7 +125,7 @@
 ></A
 ><H2
 >Name</H2
->parser &#8212; </DIV
+>parser&nbsp;--&nbsp;</DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
@@ -153,11 +159,24 @@
 HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
 >xmlParserInputPtr</A
 >;
-typedef     <A
+<A
+HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
+>xmlParserInputPtr</A
+> (<A
+HREF="gnome-xml-parser.html#XMLEXTERNALENTITYLOADER"
+>*xmlExternalEntityLoader</A
+>)
+                                            (const char *URL,
+                                             const char *ID,
+                                             <A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> context);
+struct      <A
 HREF="gnome-xml-parser.html#XMLPARSERNODEINFO"
 >xmlParserNodeInfo</A
 >;
-typedef     <A
+struct      <A
 HREF="gnome-xml-parser.html#XMLPARSERNODEINFOSEQ"
 >xmlParserNodeInfoSeq</A
 >;
@@ -169,7 +188,7 @@
 HREF="gnome-xml-parser.html#XMLPARSERINPUTSTATE"
 >xmlParserInputState</A
 >;
-typedef     <A
+struct      <A
 HREF="gnome-xml-parser.html#XMLPARSERCTXT"
 >xmlParserCtxt</A
 >;
@@ -177,7 +196,7 @@
 HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
 >xmlParserCtxtPtr</A
 >;
-typedef     <A
+struct      <A
 HREF="gnome-xml-parser.html#XMLSAXLOCATOR"
 >xmlSAXLocator</A
 >;
@@ -467,19 +486,6 @@
 HREF="gnome-xml-parser.html#XMLSAXHANDLERPTR"
 >xmlSAXHandlerPtr</A
 >;
-<A
-HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
->xmlParserInputPtr</A
-> (<A
-HREF="gnome-xml-parser.html#XMLEXTERNALENTITYLOADER"
->*xmlExternalEntityLoader</A
->)
-                                            (const char *URL,
-                                             const char *ID,
-                                             <A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> context);
 extern      const char *<A
 HREF="gnome-xml-parser.html#XMLPARSERVERSION"
 >xmlParserVersion</A
@@ -500,10 +506,6 @@
 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
@@ -793,14 +795,6 @@
 >xmlChar</A
 > *SystemID);
 void        <A
-HREF="gnome-xml-parser.html#XMLDEFAULTSAXHANDLERINIT"
->xmlDefaultSAXHandlerInit</A
->        (void);
-void        <A
-HREF="gnome-xml-parser.html#HTMLDEFAULTSAXHANDLERINIT"
->htmlDefaultSAXHandlerInit</A
->       (void);
-void        <A
 HREF="gnome-xml-parser.html#XMLINITPARSERCTXT"
 >xmlInitParserCtxt</A
 >               (<A
@@ -815,13 +809,6 @@
 >xmlParserCtxtPtr</A
 > ctxt);
 void        <A
-HREF="gnome-xml-parser.html#XMLFREEPARSERCTXT"
->xmlFreeParserCtxt</A
->               (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt);
-void        <A
 HREF="gnome-xml-parser.html#XMLSETUPPARSERFORBUFFER"
 >xmlSetupParserForBuffer</A
 >         (<A
@@ -833,40 +820,14 @@
 >xmlChar</A
 > *buffer,
                                              const char *filename);
-<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> <A
-HREF="gnome-xml-parser.html#XMLCREATEDOCPARSERCTXT"
->xmlCreateDocParserCtxt</A
->     (<A
-HREF="gnome-xml-tree.html#XMLCHAR"
->xmlChar</A
-> *cur);
-<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> <A
-HREF="gnome-xml-parser.html#XMLCREATEPUSHPARSERCTXT"
->xmlCreatePushParserCtxt</A
->    (<A
-HREF="gnome-xml-parser.html#XMLSAXHANDLERPTR"
->xmlSAXHandlerPtr</A
-> sax,
-                                             void *user_data,
-                                             const char *chunk,
-                                             int size,
-                                             const char *filename);
-int         <A
-HREF="gnome-xml-parser.html#XMLPARSECHUNK"
->xmlParseChunk</A
->                   (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
-                                             const char *chunk,
-                                             int size,
-                                             int terminate);
+void        <A
+HREF="gnome-xml-parser.html#XMLDEFAULTSAXHANDLERINIT"
+>xmlDefaultSAXHandlerInit</A
+>        (void);
+void        <A
+HREF="gnome-xml-parser.html#HTMLDEFAULTSAXHANDLERINIT"
+>htmlDefaultSAXHandlerInit</A
+>       (void);
 const <A
 HREF="gnome-xml-parser.html#XMLPARSERNODEINFO"
 >xmlParserNodeInfo</A
@@ -955,7 +916,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN244"
+NAME="AEN233"
 ></A
 ><H2
 >Description</H2
@@ -965,14 +926,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN247"
+NAME="AEN236"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN249"
+NAME="AEN238"
 ></A
 ><H3
 ><A
@@ -988,7 +949,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XML_DEFAULT_VERSION	"1.0"</PRE
+>#define     XML_DEFAULT_VERSION</PRE
 ></TD
 ></TR
 ></TABLE
@@ -998,7 +959,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN254"
+NAME="AEN243"
 ></A
 ><H3
 ><A
@@ -1059,13 +1020,26 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN269"
+NAME="AEN258"
 ></A
 ><H3
 ><A
 NAME="XMLPARSERINPUTPTR"
 ></A
 >xmlParserInputPtr</H3
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN262"
+></A
+><H3
+><A
+NAME="XMLEXTERNALENTITYLOADER"
+></A
+>xmlExternalEntityLoader ()</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -1075,23 +1049,113 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->typedef xmlParserInput *xmlParserInputPtr;</PRE
+><A
+HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
+>xmlParserInputPtr</A
+> (*xmlExternalEntityLoader)
+                                            (const char *URL,
+                                             const char *ID,
+                                             <A
+HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
+>xmlParserCtxtPtr</A
+> context);</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
 ></P
+><DIV
+CLASS="INFORMALTABLE"
+><P
+></P
+><TABLE
+BORDER="0"
+WIDTH="100%"
+BGCOLOR="#FFD0D0"
+CELLSPACING="0"
+CELLPADDING="4"
+CLASS="CALSTABLE"
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>URL</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>ID</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><TT
+CLASS="PARAMETER"
+><I
+>context</I
+></TT
+>&nbsp;:</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+><TR
+><TD
+WIDTH="20%"
+ALIGN="RIGHT"
+VALIGN="TOP"
+><I
+CLASS="EMPHASIS"
+>Returns</I
+> :</TD
+><TD
+WIDTH="80%"
+ALIGN="LEFT"
+VALIGN="TOP"
+>&nbsp;</TD
+></TR
+></TABLE
+><P
+></P
+></DIV
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN274"
+NAME="AEN290"
 ></A
 ><H3
 ><A
 NAME="XMLPARSERNODEINFO"
 ></A
->xmlParserNodeInfo</H3
+>struct xmlParserNodeInfo</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -1101,7 +1165,14 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->typedef _xmlParserNodeInfo xmlParserNodeInfo;</PRE
+>struct xmlParserNodeInfo {
+  const struct _xmlNode* node;
+  /* Position &amp; line # that text that created the node begins &amp; ends on */
+  unsigned long begin_pos;
+  unsigned long begin_line;
+  unsigned long end_pos;
+  unsigned long end_line;
+};</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1111,13 +1182,13 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN279"
+NAME="AEN295"
 ></A
 ><H3
 ><A
 NAME="XMLPARSERNODEINFOSEQ"
 ></A
->xmlParserNodeInfoSeq</H3
+>struct xmlParserNodeInfoSeq</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -1127,7 +1198,11 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->typedef _xmlParserNodeInfoSeq xmlParserNodeInfoSeq;</PRE
+>struct xmlParserNodeInfoSeq {
+  unsigned long maximum;
+  unsigned long length;
+  xmlParserNodeInfo* buffer;
+};</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1137,33 +1212,20 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN284"
+NAME="AEN300"
 ></A
 ><H3
 ><A
 NAME="XMLPARSERNODEINFOSEQPTR"
 ></A
 >xmlParserNodeInfoSeqPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN289"
+NAME="AEN304"
 ></A
 ><H3
 ><A
@@ -1205,13 +1267,13 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN294"
+NAME="AEN309"
 ></A
 ><H3
 ><A
 NAME="XMLPARSERCTXT"
 ></A
->xmlParserCtxt</H3
+>struct xmlParserCtxt</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -1221,85 +1283,56 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->typedef _xmlParserCtxt xmlParserCtxt;</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN299"
-></A
-><H3
-><A
-NAME="XMLPARSERCTXTPTR"
-></A
->xmlParserCtxtPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlParserCtxt *xmlParserCtxtPtr;</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN304"
-></A
-><H3
-><A
-NAME="XMLSAXLOCATOR"
-></A
->xmlSAXLocator</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef _xmlSAXLocator xmlSAXLocator;</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN309"
-></A
-><H3
-><A
-NAME="XMLSAXLOCATORPTR"
-></A
->xmlSAXLocatorPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlSAXLocator *xmlSAXLocatorPtr;</PRE
+>struct xmlParserCtxt {
+    struct _xmlSAXHandler *sax;       /* The SAX handler */
+    void            *userData;        /* the document being built */
+    xmlDocPtr           myDoc;        /* the document being built */
+    int            wellFormed;        /* is the document well formed */
+    int       replaceEntities;        /* shall we replace entities ? */
+    const xmlChar       *version;        /* the XML version string */
+    const xmlChar      *encoding;        /* encoding, if any */
+    int            standalone;        /* standalone document */
+    int                  html;        /* are we parsing an HTML document */
+
+    /* Input stream stack */
+    xmlParserInputPtr  input;         /* Current input stream */
+    int                inputNr;       /* Number of current input streams */
+    int                inputMax;      /* Max number of input streams */
+    xmlParserInputPtr *inputTab;      /* stack of inputs */
+
+    /* Node analysis stack only used for DOM building */
+    xmlNodePtr         node;          /* Current parsed Node */
+    int                nodeNr;        /* Depth of the parsing stack */
+    int                nodeMax;       /* Max depth of the parsing stack */
+    xmlNodePtr        *nodeTab;       /* array of nodes */
+
+    int record_info;                  /* Whether node info should be kept */
+    xmlParserNodeInfoSeq node_seq;    /* info about each node parsed */
+
+    int errNo;                        /* error code */
+
+    int     hasExternalSubset;        /* reference and external subset */
+    int             hasPErefs;        /* the internal subset has PE refs */
+    int              external;        /* are we parsing an external entity */
+
+    int                 valid;        /* is the document valid */
+    int              validate;        /* shall we try to validate ? */
+    xmlValidCtxt        vctxt;        /* The validity context */
+
+    xmlParserInputState instate;      /* current type of input */
+    int                 token;        /* next char look-ahead */    
+
+    char           *directory;        /* the data directory */
+
+    /* Node name stack only used for HTML parsing */
+    xmlChar           *name;          /* Current parsed Node */
+    int                nameNr;        /* Depth of the parsing stack */
+    int                nameMax;       /* Max depth of the parsing stack */
+    xmlChar *         *nameTab;       /* array of nodes */
+
+    long               nbChars;       /* number of xmlChar processed */
+    long            checkIndex;       /* used by progressive parsing lookup */
+};</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1313,6 +1346,63 @@
 ></A
 ><H3
 ><A
+NAME="XMLPARSERCTXTPTR"
+></A
+>xmlParserCtxtPtr</H3
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN318"
+></A
+><H3
+><A
+NAME="XMLSAXLOCATOR"
+></A
+>struct xmlSAXLocator</H3
+><TABLE
+BORDER="0"
+BGCOLOR="#D6E8FF"
+WIDTH="100%"
+CELLPADDING="6"
+><TR
+><TD
+><PRE
+CLASS="PROGRAMLISTING"
+>struct xmlSAXLocator {
+    const xmlChar *(*getPublicId)(void *ctx);
+    const xmlChar *(*getSystemId)(void *ctx);
+    int (*getLineNumber)(void *ctx);
+    int (*getColumnNumber)(void *ctx);
+};</PRE
+></TD
+></TR
+></TABLE
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN323"
+></A
+><H3
+><A
+NAME="XMLSAXLOCATORPTR"
+></A
+>xmlSAXLocatorPtr</H3
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN327"
+></A
+><H3
+><A
 NAME="RESOLVEENTITYSAXFUNC"
 ></A
 >resolveEntitySAXFunc ()</H3
@@ -1427,7 +1517,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN343"
+NAME="AEN356"
 ></A
 ><H3
 ><A
@@ -1548,7 +1638,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN372"
+NAME="AEN385"
 ></A
 ><H3
 ><A
@@ -1645,7 +1735,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN396"
+NAME="AEN409"
 ></A
 ><H3
 ><A
@@ -1742,7 +1832,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN420"
+NAME="AEN433"
 ></A
 ><H3
 ><A
@@ -1902,7 +1992,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN458"
+NAME="AEN471"
 ></A
 ><H3
 ><A
@@ -2023,7 +2113,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN487"
+NAME="AEN500"
 ></A
 ><H3
 ><A
@@ -2201,7 +2291,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN529"
+NAME="AEN542"
 ></A
 ><H3
 ><A
@@ -2319,7 +2409,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN557"
+NAME="AEN570"
 ></A
 ><H3
 ><A
@@ -2461,7 +2551,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN591"
+NAME="AEN604"
 ></A
 ><H3
 ><A
@@ -2540,7 +2630,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN610"
+NAME="AEN623"
 ></A
 ><H3
 ><A
@@ -2598,7 +2688,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN624"
+NAME="AEN637"
 ></A
 ><H3
 ><A
@@ -2656,7 +2746,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN638"
+NAME="AEN651"
 ></A
 ><H3
 ><A
@@ -2756,7 +2846,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN662"
+NAME="AEN675"
 ></A
 ><H3
 ><A
@@ -2835,7 +2925,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN681"
+NAME="AEN694"
 ></A
 ><H3
 ><A
@@ -2935,7 +3025,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN705"
+NAME="AEN718"
 ></A
 ><H3
 ><A
@@ -3014,7 +3104,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN724"
+NAME="AEN737"
 ></A
 ><H3
 ><A
@@ -3111,7 +3201,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN747"
+NAME="AEN760"
 ></A
 ><H3
 ><A
@@ -3208,7 +3298,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN770"
+NAME="AEN783"
 ></A
 ><H3
 ><A
@@ -3308,7 +3398,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN794"
+NAME="AEN807"
 ></A
 ><H3
 ><A
@@ -3387,7 +3477,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN813"
+NAME="AEN826"
 ></A
 ><H3
 ><A
@@ -3484,7 +3574,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN836"
+NAME="AEN849"
 ></A
 ><H3
 ><A
@@ -3578,7 +3668,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN858"
+NAME="AEN871"
 ></A
 ><H3
 ><A
@@ -3672,7 +3762,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN880"
+NAME="AEN893"
 ></A
 ><H3
 ><A
@@ -3766,7 +3856,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN902"
+NAME="AEN915"
 ></A
 ><H3
 ><A
@@ -3839,7 +3929,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN920"
+NAME="AEN933"
 ></A
 ><H3
 ><A
@@ -3912,7 +4002,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN938"
+NAME="AEN951"
 ></A
 ><H3
 ><A
@@ -3985,149 +4075,20 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN956"
+NAME="AEN969"
 ></A
 ><H3
 ><A
 NAME="XMLSAXHANDLERPTR"
 ></A
 >xmlSAXHandlerPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlSAXHandler *xmlSAXHandlerPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN961"
-></A
-><H3
-><A
-NAME="XMLEXTERNALENTITYLOADER"
-></A
->xmlExternalEntityLoader ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gnome-xml-parser.html#XMLPARSERINPUTPTR"
->xmlParserInputPtr</A
-> (*xmlExternalEntityLoader)
-                                            (const char *URL,
-                                             const char *ID,
-                                             <A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> context);</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->URL</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->ID</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->context</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN989"
+NAME="AEN973"
 ></A
 ><H3
 ><A
@@ -4153,7 +4114,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN994"
+NAME="AEN978"
 ></A
 ><H3
 ><A
@@ -4179,7 +4140,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN999"
+NAME="AEN983"
 ></A
 ><H3
 ><A
@@ -4205,7 +4166,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1004"
+NAME="AEN988"
 ></A
 ><H3
 ><A
@@ -4231,7 +4192,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1009"
+NAME="AEN993"
 ></A
 ><H3
 ><A
@@ -4257,38 +4218,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1014"
-></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="AEN1020"
+NAME="AEN998"
 ></A
 ><H3
 ><A
@@ -4343,7 +4273,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser input</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4360,7 +4290,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an indicative size for the lookahead</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4375,8 +4305,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the number of xmlChars read, or -1 in case of error, 0 indicate the
-end of this entity</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4386,7 +4315,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1044"
+NAME="AEN1022"
 ></A
 ><H3
 ><A
@@ -4441,7 +4370,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser input</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4458,7 +4387,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an indicative size for the lookahead</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4473,8 +4402,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the number of xmlChars read, or -1 in case of error, 0 indicate the
-end of this entity</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4484,7 +4412,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1068"
+NAME="AEN1046"
 ></A
 ><H3
 ><A
@@ -4540,7 +4468,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the input xmlChar *</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4555,7 +4483,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a new xmlChar * or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4565,7 +4493,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1089"
+NAME="AEN1067"
 ></A
 ><H3
 ><A
@@ -4622,7 +4550,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the input xmlChar *</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4639,12 +4567,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the len of <TT
-CLASS="PARAMETER"
-><I
->cur</I
-></TT
-></TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4659,7 +4582,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a new xmlChar * or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4669,7 +4592,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1115"
+NAME="AEN1092"
 ></A
 ><H3
 ><A
@@ -4727,7 +4650,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the xmlChar * array (haystack)</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4744,7 +4667,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the index of the first char (zero based)</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4761,7 +4684,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the length of the substring</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4776,7 +4699,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the xmlChar * for the first occurence or NULL.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4786,7 +4709,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1144"
+NAME="AEN1121"
 ></A
 ><H3
 ><A
@@ -4846,7 +4769,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the xmlChar * array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4863,7 +4786,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the xmlChar to search</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4878,7 +4801,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the xmlChar * for the first occurence or NULL.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4888,7 +4811,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1170"
+NAME="AEN1147"
 ></A
 ><H3
 ><A
@@ -4948,7 +4871,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the xmlChar * array (haystack)</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4965,7 +4888,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the xmlChar to search (needle)</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4980,7 +4903,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the xmlChar * for the first occurence or NULL.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4990,7 +4913,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1196"
+NAME="AEN1173"
 ></A
 ><H3
 ><A
@@ -5047,7 +4970,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the first xmlChar *</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5064,7 +4987,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the second xmlChar *</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5079,7 +5002,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the integer result of the comparison</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5089,7 +5012,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1221"
+NAME="AEN1198"
 ></A
 ><H3
 ><A
@@ -5147,7 +5070,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the first xmlChar *</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5164,7 +5087,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the second xmlChar *</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5181,7 +5104,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the max comparison length</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5196,7 +5119,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the integer result of the comparison</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5206,7 +5129,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1250"
+NAME="AEN1227"
 ></A
 ><H3
 ><A
@@ -5230,7 +5153,7 @@
 ></TR
 ></TABLE
 ><P
->length of a xmlChar's string</P
+>lenght of a xmlChar's string</P
 ><P
 ></P
 ><DIV
@@ -5259,7 +5182,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the xmlChar * array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5274,7 +5197,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the number of xmlChar contained in the ARRAY.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5284,7 +5207,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1270"
+NAME="AEN1247"
 ></A
 ><H3
 ><A
@@ -5344,7 +5267,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the original xmlChar * array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5361,7 +5284,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the xmlChar * array added</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5376,7 +5299,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a new xmlChar * containing the concatenated string.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5386,7 +5309,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1296"
+NAME="AEN1273"
 ></A
 ><H3
 ><A
@@ -5447,7 +5370,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the original xmlChar * array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5464,7 +5387,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the xmlChar * array added</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5481,12 +5404,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the length of <TT
-CLASS="PARAMETER"
-><I
->add</I
-></TT
-></TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5501,7 +5419,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a new xmlChar * containing the concatenated string.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5511,7 +5429,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1327"
+NAME="AEN1303"
 ></A
 ><H3
 ><A
@@ -5567,7 +5485,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a pointer to an array of xmlChar</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5582,7 +5500,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting document tree</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5592,7 +5510,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1348"
+NAME="AEN1324"
 ></A
 ><H3
 ><A
@@ -5646,7 +5564,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an pointer to a char array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5663,7 +5581,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the size of the array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5678,7 +5596,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting document tree</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5688,7 +5606,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1372"
+NAME="AEN1348"
 ></A
 ><H3
 ><A
@@ -5742,7 +5660,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the filename</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5757,7 +5675,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting document tree</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5767,7 +5685,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1392"
+NAME="AEN1368"
 ></A
 ><H3
 ><A
@@ -5825,7 +5743,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  int 0 or 1 </TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5840,7 +5758,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the last value for 0 for no substitution, 1 for substitution.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5850,7 +5768,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1412"
+NAME="AEN1388"
 ></A
 ><H3
 ><A
@@ -5907,7 +5825,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a pointer to an array of xmlChar</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5922,7 +5840,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting document tree</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5932,7 +5850,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1433"
+NAME="AEN1409"
 ></A
 ><H3
 ><A
@@ -5987,7 +5905,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an pointer to a char array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6004,7 +5922,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the size of the array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6019,7 +5937,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting document tree</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6029,7 +5947,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1457"
+NAME="AEN1433"
 ></A
 ><H3
 ><A
@@ -6084,7 +6002,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the filename</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6099,7 +6017,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting document tree</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6109,7 +6027,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1477"
+NAME="AEN1453"
 ></A
 ><H3
 ><A
@@ -6167,7 +6085,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6182,8 +6100,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->0, -1 in case of error. the parser context is augmented
-as a result of the parsing.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6193,7 +6110,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1499"
+NAME="AEN1475"
 ></A
 ><H3
 ><A
@@ -6256,7 +6173,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the SAX handler block</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6273,7 +6190,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a pointer to an array of xmlChar</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6290,8 +6207,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  work in recovery mode, i.e. tries to read no Well Formed
-documents</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6306,7 +6222,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting document tree</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6316,7 +6232,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1529"
+NAME="AEN1505"
 ></A
 ><H3
 ><A
@@ -6372,7 +6288,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a SAX handler</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6389,7 +6305,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  The user data returned on SAX callbacks</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6406,7 +6322,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a file name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6421,7 +6337,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->0 in case of success or a error number otherwise</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6431,7 +6347,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1557"
+NAME="AEN1533"
 ></A
 ><H3
 ><A
@@ -6488,7 +6404,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a SAX handler</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6505,7 +6421,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  The user data returned on SAX callbacks</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6522,7 +6438,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an in-memory XML document input</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6539,7 +6455,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the length of the XML document in bytes</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6554,7 +6470,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->0 in case of success or a error number otherwise</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6564,7 +6480,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1589"
+NAME="AEN1565"
 ></A
 ><H3
 ><A
@@ -6625,7 +6541,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the SAX handler block</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6642,7 +6558,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an pointer to a char array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6659,7 +6575,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the size of the array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6676,8 +6592,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  work in recovery mode, i.e. tries to read not Well Formed
-documents</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6692,7 +6607,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting document tree</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6702,7 +6617,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1622"
+NAME="AEN1598"
 ></A
 ><H3
 ><A
@@ -6763,7 +6678,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the SAX handler block</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6780,7 +6695,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the filename</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6797,8 +6712,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  work in recovery mode, i.e. tries to read no Well Formed
-documents</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6813,7 +6727,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting document tree</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6823,7 +6737,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1651"
+NAME="AEN1627"
 ></A
 ><H3
 ><A
@@ -6883,7 +6797,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a NAME* containing the External ID of the DTD</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6900,7 +6814,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a NAME* containing the URL to the DTD</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6915,7 +6829,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting xmlDtdPtr or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6925,7 +6839,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1677"
+NAME="AEN1653"
 ></A
 ><H3
 ><A
@@ -6989,7 +6903,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the SAX handler block</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7006,7 +6920,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a NAME* containing the External ID of the DTD</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7023,7 +6937,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a NAME* containing the URL to the DTD</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7038,7 +6952,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the resulting xmlDtdPtr or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -7048,63 +6962,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1708"
-></A
-><H3
-><A
-NAME="XMLDEFAULTSAXHANDLERINIT"
-></A
->xmlDefaultSAXHandlerInit ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void        xmlDefaultSAXHandlerInit        (void);</PRE
-></TD
-></TR
-></TABLE
-><P
->Initialize the default SAX handler</P
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1714"
-></A
-><H3
-><A
-NAME="HTMLDEFAULTSAXHANDLERINIT"
-></A
->htmlDefaultSAXHandlerInit ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void        htmlDefaultSAXHandlerInit       (void);</PRE
-></TD
-></TR
-></TABLE
-><P
->Initialize the default SAX handler</P
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1720"
+NAME="AEN1684"
 ></A
 ><H3
 ><A
@@ -7157,7 +7015,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an HTML parser context</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -7167,7 +7025,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1736"
+NAME="AEN1700"
 ></A
 ><H3
 ><A
@@ -7220,7 +7078,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -7230,71 +7088,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1752"
-></A
-><H3
-><A
-NAME="XMLFREEPARSERCTXT"
-></A
->xmlFreeParserCtxt ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void        xmlFreeParserCtxt               (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt);</PRE
-></TD
-></TR
-></TABLE
-><P
->Free all the memory used by a parser context. However the parsed
-document in ctxt-&gt;myDoc is not freed.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->ctxt</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  an XML parser context</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1768"
+NAME="AEN1716"
 ></A
 ><H3
 ><A
@@ -7354,7 +7148,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7371,7 +7165,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a xmlChar * buffer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7388,7 +7182,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a file name</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -7398,13 +7192,13 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1793"
+NAME="AEN1741"
 ></A
 ><H3
 ><A
-NAME="XMLCREATEDOCPARSERCTXT"
+NAME="XMLDEFAULTSAXHANDLERINIT"
 ></A
->xmlCreateDocParserCtxt ()</H3
+>xmlDefaultSAXHandlerInit ()</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -7414,78 +7208,25 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> xmlCreateDocParserCtxt     (<A
-HREF="gnome-xml-tree.html#XMLCHAR"
->xmlChar</A
-> *cur);</PRE
+>void        xmlDefaultSAXHandlerInit        (void);</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
->Create a parser context for an XML in-memory document.</P
+>Initialize the default SAX handler</P
 ><P
 ></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->cur</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  a pointer to an array of xmlChar</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->the new parser context or NULL</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1814"
+NAME="AEN1747"
 ></A
 ><H3
 ><A
-NAME="XMLCREATEPUSHPARSERCTXT"
+NAME="HTMLDEFAULTSAXHANDLERINIT"
 ></A
->xmlCreatePushParserCtxt ()</H3
+>htmlDefaultSAXHandlerInit ()</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -7495,289 +7236,19 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> xmlCreatePushParserCtxt    (<A
-HREF="gnome-xml-parser.html#XMLSAXHANDLERPTR"
->xmlSAXHandlerPtr</A
-> sax,
-                                             void *user_data,
-                                             const char *chunk,
-                                             int size,
-                                             const char *filename);</PRE
+>void        htmlDefaultSAXHandlerInit       (void);</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
->Create a parser context for using the XML parser in push mode
-To allow content encoding detection, <TT
-CLASS="PARAMETER"
-><I
->size</I
-></TT
-> should be &gt;= 4
-The value of <TT
-CLASS="PARAMETER"
-><I
->filename</I
-></TT
-> is used for fetching external entities
-and error/warning reports.</P
+>Initialize the default SAX handler</P
 ><P
 ></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->sax</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  a SAX handler</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->user_data</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  The user data returned on SAX callbacks</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->chunk</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  a pointer to an array of chars</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->size</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  number of chars in the array</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"
->  an optional file name or URI</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->the new parser context or NULL</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1853"
-></A
-><H3
-><A
-NAME="XMLPARSECHUNK"
-></A
->xmlParseChunk ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int         xmlParseChunk                   (<A
-HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
->xmlParserCtxtPtr</A
-> ctxt,
-                                             const char *chunk,
-                                             int size,
-                                             int terminate);</PRE
-></TD
-></TR
-></TABLE
-><P
->Parse a Chunk of memory</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->ctxt</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  an XML parser context</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->chunk</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  an char array</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->size</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the size in byte of the chunk</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->terminate</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  last chunk indicator</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->zero if no error, the xmlParserErrors otherwise.</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN1885"
+NAME="AEN1753"
 ></A
 ><H3
 ><A
@@ -7838,7 +7309,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7855,7 +7326,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML node within the tree</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7870,7 +7341,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->an xmlParserNodeInfo block pointer or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -7880,7 +7351,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1911"
+NAME="AEN1779"
 ></A
 ><H3
 ><A
@@ -7933,7 +7404,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a node info sequence pointer</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -7943,7 +7414,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1927"
+NAME="AEN1795"
 ></A
 ><H3
 ><A
@@ -7997,7 +7468,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a node info sequence pointer</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -8007,7 +7478,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1943"
+NAME="AEN1811"
 ></A
 ><H3
 ><A
@@ -8068,7 +7539,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a node info sequence pointer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8085,7 +7556,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML node pointer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8100,7 +7571,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a long indicating the position of the record</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -8110,7 +7581,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1969"
+NAME="AEN1837"
 ></A
 ><H3
 ><A
@@ -8167,7 +7638,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8184,7 +7655,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a node info sequence pointer</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -8194,7 +7665,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN1990"
+NAME="AEN1858"
 ></A
 ><H3
 ><A
@@ -8255,7 +7726,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2005"
+NAME="AEN1873"
 ></A
 ><H3
 ><A
@@ -8315,7 +7786,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN2020"
+NAME="AEN1888"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-parserinternals.html b/doc/html/gnome-xml-parserinternals.html
index fd97791..6e654f5 100644
--- a/doc/html/gnome-xml-parserinternals.html
+++ b/doc/html/gnome-xml-parserinternals.html
@@ -4,7 +4,7 @@
 >parserInternals</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,6 +20,9 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -111,19 +114,22 @@
 ></TABLE
 ></DIV
 ><H1
->parserInternals</H1
+><A
+NAME="GNOME-XML-PARSERINTERNALS"
+>parserInternals</A
+></H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN9210"
+NAME="AEN8262"
 ></A
 ><H2
 >Name</H2
->parserInternals &#8212; </DIV
+>parserInternals&nbsp;--&nbsp;</DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN9213"
+NAME="AEN8265"
 ></A
 ><H2
 >Synopsis</H2
@@ -206,7 +212,7 @@
 HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
 >xmlParserCtxtPtr</A
 > <A
-HREF="gnome-xml-parser.html#XMLCREATEDOCPARSERCTXT"
+HREF="gnome-xml-parserinternals.html#XMLCREATEDOCPARSERCTXT"
 >xmlCreateDocParserCtxt</A
 >     (<A
 HREF="gnome-xml-tree.html#XMLCHAR"
@@ -228,7 +234,7 @@
 >  (char *buffer,
                                              int size);
 void        <A
-HREF="gnome-xml-parser.html#XMLFREEPARSERCTXT"
+HREF="gnome-xml-parserinternals.html#XMLFREEPARSERCTXT"
 >xmlFreeParserCtxt</A
 >               (<A
 HREF="gnome-xml-parser.html#XMLPARSERCTXTPTR"
@@ -882,7 +888,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN9423"
+NAME="AEN8475"
 ></A
 ><H2
 >Description</H2
@@ -892,14 +898,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN9426"
+NAME="AEN8478"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9428"
+NAME="AEN8480"
 ></A
 ><H3
 ><A
@@ -915,7 +921,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XML_MAX_NAMELEN 1000</PRE
+>#define     XML_MAX_NAMELEN</PRE
 ></TD
 ></TR
 ></TABLE
@@ -925,7 +931,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9433"
+NAME="AEN8485"
 ></A
 ><H3
 ><A
@@ -938,7 +944,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9437"
+NAME="AEN8489"
 ></A
 ><H3
 ><A
@@ -996,7 +1002,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9451"
+NAME="AEN8503"
 ></A
 ><H3
 ><A
@@ -1012,7 +1018,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define SKIPCHARVAL(p) (p)++;</PRE
+>#define     SKIPCHARVAL(p)</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1054,7 +1060,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9465"
+NAME="AEN8517"
 ></A
 ><H3
 ><A
@@ -1112,7 +1118,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9479"
+NAME="AEN8531"
 ></A
 ><H3
 ><A
@@ -1170,7 +1176,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9493"
+NAME="AEN8545"
 ></A
 ><H3
 ><A
@@ -1228,7 +1234,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9507"
+NAME="AEN8559"
 ></A
 ><H3
 ><A
@@ -1286,7 +1292,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9521"
+NAME="AEN8573"
 ></A
 ><H3
 ><A
@@ -1344,7 +1350,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9535"
+NAME="AEN8587"
 ></A
 ><H3
 ><A
@@ -1402,7 +1408,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9549"
+NAME="AEN8601"
 ></A
 ><H3
 ><A
@@ -1460,7 +1466,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9563"
+NAME="AEN8615"
 ></A
 ><H3
 ><A
@@ -1518,7 +1524,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9577"
+NAME="AEN8629"
 ></A
 ><H3
 ><A
@@ -1576,7 +1582,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9591"
+NAME="AEN8643"
 ></A
 ><H3
 ><A
@@ -1634,7 +1640,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9605"
+NAME="AEN8657"
 ></A
 ><H3
 ><A
@@ -1692,7 +1698,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9619"
+NAME="AEN8671"
 ></A
 ><H3
 ><A
@@ -1750,7 +1756,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9633"
+NAME="AEN8685"
 ></A
 ><H3
 ><A
@@ -1831,7 +1837,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9654"
+NAME="AEN8706"
 ></A
 ><H3
 ><A
@@ -1886,7 +1892,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the filename</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1901,7 +1907,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new parser context or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1911,7 +1917,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9674"
+NAME="AEN8726"
 ></A
 ><H3
 ><A
@@ -1965,7 +1971,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an pointer to a char array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1982,7 +1988,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the size of the array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1997,7 +2003,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new parser context or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2007,7 +2013,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9698"
+NAME="AEN8750"
 ></A
 ><H3
 ><A
@@ -2071,7 +2077,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9714"
+NAME="AEN8766"
 ></A
 ><H3
 ><A
@@ -2122,7 +2128,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the xmlParserCtxtPtr or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2132,7 +2138,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9730"
+NAME="AEN8782"
 ></A
 ><H3
 ><A
@@ -2190,7 +2196,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2207,7 +2213,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the encoding value (number)</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2217,7 +2223,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9751"
+NAME="AEN8803"
 ></A
 ><H3
 ><A
@@ -2277,7 +2283,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2294,7 +2300,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML entity pointer.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2304,7 +2310,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9773"
+NAME="AEN8825"
 ></A
 ><H3
 ><A
@@ -2364,7 +2370,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2381,7 +2387,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an Entity pointer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2396,7 +2402,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new input stream or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2406,7 +2412,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9799"
+NAME="AEN8851"
 ></A
 ><H3
 ><A
@@ -2464,7 +2470,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2481,7 +2487,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser input fragment (entity, XML fragment ...).</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2491,7 +2497,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9820"
+NAME="AEN8872"
 ></A
 ><H3
 ><A
@@ -2548,7 +2554,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2563,7 +2569,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the current xmlChar in the parser context</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2573,7 +2579,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9841"
+NAME="AEN8893"
 ></A
 ><H3
 ><A
@@ -2626,7 +2632,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an xmlParserInputPtr</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2636,7 +2642,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9857"
+NAME="AEN8909"
 ></A
 ><H3
 ><A
@@ -2693,7 +2699,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2710,7 +2716,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the filename to use as entity</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2725,7 +2731,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new input stream or NULL in case of error</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2735,7 +2741,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9882"
+NAME="AEN8934"
 ></A
 ><H3
 ><A
@@ -2801,7 +2807,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2818,7 +2824,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a xmlChar ** </TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2833,8 +2839,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the local part, and prefix is updated
-to get the Prefix if any.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2844,7 +2849,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9911"
+NAME="AEN8963"
 ></A
 ><H3
 ><A
@@ -2905,7 +2910,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2920,7 +2925,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the namespace name or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2930,7 +2935,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9934"
+NAME="AEN8986"
 ></A
 ><H3
 ><A
@@ -2996,7 +3001,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3013,7 +3018,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a xmlChar ** </TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3028,8 +3033,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the local part, and prefix is updated
-to get the Prefix if any.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3039,7 +3043,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9963"
+NAME="AEN9015"
 ></A
 ><H3
 ><A
@@ -3099,7 +3103,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3114,7 +3118,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the namespace name</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3124,7 +3128,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN9986"
+NAME="AEN9038"
 ></A
 ><H3
 ><A
@@ -3181,7 +3185,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3196,7 +3200,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the string parser or NULL.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3206,7 +3210,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10007"
+NAME="AEN9059"
 ></A
 ><H3
 ><A
@@ -3234,7 +3238,7 @@
 ><P
 >This is what the older xml-name Working Draft specified, a bunch of
 other stuff may still rely on it, so support is still here as
-if it was declared on the root of the Tree:-(</P
+if ot was declared on the root of the Tree:-(</P
 ><P
 >To be removed at next drop of binary compatibility</P
 ><P
@@ -3265,7 +3269,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3275,7 +3279,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10025"
+NAME="AEN9077"
 ></A
 ><H3
 ><A
@@ -3339,7 +3343,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3354,7 +3358,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the Name parsed or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3364,7 +3368,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10049"
+NAME="AEN9101"
 ></A
 ><H3
 ><A
@@ -3427,7 +3431,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3442,7 +3446,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the Name parsed or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3452,7 +3456,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10073"
+NAME="AEN9125"
 ></A
 ><H3
 ><A
@@ -3512,7 +3516,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3527,7 +3531,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the Nmtoken parsed or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3537,7 +3541,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10096"
+NAME="AEN9148"
 ></A
 ><H3
 ><A
@@ -3600,7 +3604,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3617,7 +3621,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  if non-NULL store a copy of the original entity value</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3632,7 +3636,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the EntityValue parsed with reference substitued or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3642,7 +3646,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10123"
+NAME="AEN9175"
 ></A
 ><H3
 ><A
@@ -3676,58 +3680,6 @@
 >[10] AttValue ::= '"' ([^&lt;&amp;"] | Reference)* '"' |
 "'" ([^&lt;&amp;'] | Reference)* "'"</P
 ><P
->3.3.3 Attribute-Value Normalization:
-Before the value of an attribute is passed to the application or
-checked for validity, the XML processor must normalize it as follows: 
-- a character reference is processed by appending the referenced
-character to the attribute value
-- an entity reference is processed by recursively processing the
-replacement text of the entity 
-- a whitespace character (<GTKDOCLINK
-HREF="X20"
->x20</GTKDOCLINK
->, <GTKDOCLINK
-HREF="XD"
->xD</GTKDOCLINK
->, <GTKDOCLINK
-HREF="XA"
->xA</GTKDOCLINK
->, <GTKDOCLINK
-HREF="X9"
->x9</GTKDOCLINK
->) is processed by
-appending <GTKDOCLINK
-HREF="X20"
->x20</GTKDOCLINK
-> to the normalized value, except that only a single
-<GTKDOCLINK
-HREF="X20"
->x20</GTKDOCLINK
-> is appended for a "<GTKDOCLINK
-HREF="XD"
->xD</GTKDOCLINK
-><GTKDOCLINK
-HREF="XA"
->xA</GTKDOCLINK
->" sequence that is part of an external
-parsed entity or the literal entity value of an internal parsed entity 
-- other characters are processed by appending them to the normalized value 
-If the declared value is not CDATA, then the XML processor must further
-process the normalized attribute value by discarding any leading and
-trailing space (<GTKDOCLINK
-HREF="X20"
->x20</GTKDOCLINK
->) characters, and by replacing sequences of space
-(<GTKDOCLINK
-HREF="X20"
->x20</GTKDOCLINK
->) characters by a single space (<GTKDOCLINK
-HREF="X20"
->x20</GTKDOCLINK
->) character.  
-All attributes for which no declaration has been read should be treated
-by a non-validating parser as if declared CDATA.</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
@@ -3755,7 +3707,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3770,7 +3722,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the AttValue parsed or NULL. The value has to be freed by the caller.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3780,7 +3732,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10157"
+NAME="AEN9197"
 ></A
 ><H3
 ><A
@@ -3838,7 +3790,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3853,7 +3805,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the SystemLiteral parsed or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3863,7 +3815,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10179"
+NAME="AEN9219"
 ></A
 ><H3
 ><A
@@ -3921,7 +3873,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3936,7 +3888,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the PubidLiteral parsed or NULL.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3946,7 +3898,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10201"
+NAME="AEN9241"
 ></A
 ><H3
 ><A
@@ -4003,7 +3955,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4020,7 +3972,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  int indicating whether we are within a CDATA section</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4030,7 +3982,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10222"
+NAME="AEN9262"
 ></A
 ><H3
 ><A
@@ -4099,7 +4051,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4116,7 +4068,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a xmlChar** receiving PubidLiteral</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4133,8 +4085,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> indicate whether we should restrict parsing to only
-production [75], see NOTE below</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4149,9 +4100,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the function returns SystemLiteral and in the second
-case publicID receives PubidLiteral, is strict is off
-it is possible to return NULL and have publicID set.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4161,7 +4110,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10255"
+NAME="AEN9295"
 ></A
 ><H3
 ><A
@@ -4218,7 +4167,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4228,7 +4177,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10272"
+NAME="AEN9312"
 ></A
 ><H3
 ><A
@@ -4286,7 +4235,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4301,7 +4250,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the PITarget name or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4311,7 +4260,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10294"
+NAME="AEN9334"
 ></A
 ><H3
 ><A
@@ -4368,7 +4317,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4378,7 +4327,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10312"
+NAME="AEN9352"
 ></A
 ><H3
 ><A
@@ -4443,7 +4392,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4453,7 +4402,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10332"
+NAME="AEN9372"
 ></A
 ><H3
 ><A
@@ -4521,7 +4470,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4531,7 +4480,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10355"
+NAME="AEN9395"
 ></A
 ><H3
 ><A
@@ -4627,7 +4576,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4644,7 +4593,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  Receive a possible fixed default value for the attribute</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4659,8 +4608,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> XML_ATTRIBUTE_NONE, XML_ATTRIBUTE_REQUIRED, XML_ATTRIBUTE_IMPLIED
-or XML_ATTRIBUTE_FIXED. </TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4670,7 +4618,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10392"
+NAME="AEN9432"
 ></A
 ><H3
 ><A
@@ -4734,7 +4682,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4749,7 +4697,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the notation attribute tree built while parsing</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4759,7 +4707,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10416"
+NAME="AEN9456"
 ></A
 ><H3
 ><A
@@ -4821,7 +4769,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4836,7 +4784,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the enumeration attribute tree built while parsing</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4846,7 +4794,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10439"
+NAME="AEN9479"
 ></A
 ><H3
 ><A
@@ -4907,7 +4855,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4924,7 +4872,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the enumeration tree built while parsing</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4939,7 +4887,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> XML_ATTRIBUTE_ENUMERATION or XML_ATTRIBUTE_NOTATION</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4949,7 +4897,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10466"
+NAME="AEN9506"
 ></A
 ><H3
 ><A
@@ -5011,13 +4959,13 @@
 ><P
 >[ VC: IDREF ]
 Values of type IDREF must match the Name production, and values
-of type IDREFS must match Names; each IDREF Name must match the value
+of type IDREFS must match Names; TODO each IDREF Name must match the value
 of an ID attribute on some element in the XML document; i.e. IDREF
 values must match the value of some ID attribute.</P
 ><P
 >[ VC: Entity Name ]
 Values of type ENTITY must match the Name production, values
-of type ENTITIES must match Names; each Entity Name must match the
+of type ENTITIES must match Names; TODO each Entity Name must match the
 name of an unparsed entity declared in the DTD.  </P
 ><P
 >[ VC: Name Token ]
@@ -5051,7 +4999,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5068,7 +5016,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the enumeration tree built while parsing</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5083,7 +5031,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the attribute type</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5093,7 +5041,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10504"
+NAME="AEN9544"
 ></A
 ><H3
 ><A
@@ -5150,7 +5098,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5160,7 +5108,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10522"
+NAME="AEN9562"
 ></A
 ><H3
 ><A
@@ -5233,7 +5181,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5248,7 +5196,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the list of the xmlElementContentPtr describing the element choices</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5258,7 +5206,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10548"
+NAME="AEN9588"
 ></A
 ><H3
 ><A
@@ -5335,7 +5283,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5350,8 +5298,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the tree of xmlElementContentPtr describing the element 
-hierarchy.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5361,7 +5308,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10574"
+NAME="AEN9614"
 ></A
 ><H3
 ><A
@@ -5425,7 +5372,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5442,7 +5389,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the name of the element being defined.</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5459,7 +5406,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the Element Content pointer will be stored here if any</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5474,7 +5421,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the type of element content XML_ELEMENT_TYPE_xxx</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5484,7 +5431,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10605"
+NAME="AEN9645"
 ></A
 ><H3
 ><A
@@ -5542,7 +5489,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5557,7 +5504,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the type of the element, or -1 in case of error</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5567,7 +5514,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10627"
+NAME="AEN9667"
 ></A
 ><H3
 ><A
@@ -5636,7 +5583,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5646,7 +5593,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10646"
+NAME="AEN9686"
 ></A
 ><H3
 ><A
@@ -5709,7 +5656,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5724,7 +5671,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the value parsed (as an int), 0 in case of error</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5734,7 +5681,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10669"
+NAME="AEN9709"
 ></A
 ><H3
 ><A
@@ -5810,7 +5757,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5825,7 +5772,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the xmlEntityPtr if found, or NULL otherwise.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5835,7 +5782,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10693"
+NAME="AEN9733"
 ></A
 ><H3
 ><A
@@ -5899,7 +5846,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5909,7 +5856,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10712"
+NAME="AEN9752"
 ></A
 ><H3
 ><A
@@ -5985,7 +5932,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5995,7 +5942,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10733"
+NAME="AEN9773"
 ></A
 ><H3
 ><A
@@ -6055,7 +6002,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6065,7 +6012,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10751"
+NAME="AEN9791"
 ></A
 ><H3
 ><A
@@ -6148,7 +6095,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6165,7 +6112,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a xmlChar ** used to store the value of the attribute</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6180,7 +6127,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the attribute name, and the value in *value.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6190,7 +6137,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10785"
+NAME="AEN9825"
 ></A
 ><H3
 ><A
@@ -6238,8 +6185,6 @@
 ><P
 >[NS 10] EmptyElement ::= '&lt;' QName (S Attribute)* S? '/&gt;'</P
 ><P
->Returne the element name parsed</P
-><P
 ></P
 ><DIV
 CLASS="INFORMALTABLE"
@@ -6267,7 +6212,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6292,7 +6237,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10814"
+NAME="AEN9853"
 ></A
 ><H3
 ><A
@@ -6351,7 +6296,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6361,7 +6306,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10833"
+NAME="AEN9872"
 ></A
 ><H3
 ><A
@@ -6422,7 +6367,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6432,7 +6377,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10853"
+NAME="AEN9892"
 ></A
 ><H3
 ><A
@@ -6487,7 +6432,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6497,7 +6442,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10870"
+NAME="AEN9909"
 ></A
 ><H3
 ><A
@@ -6569,7 +6514,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6579,7 +6524,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10889"
+NAME="AEN9928"
 ></A
 ><H3
 ><A
@@ -6637,7 +6582,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6652,7 +6597,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the string giving the XML version number, or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6662,7 +6607,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10911"
+NAME="AEN9950"
 ></A
 ><H3
 ><A
@@ -6722,7 +6667,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6737,7 +6682,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the version string, e.g. "1.0"</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6747,7 +6692,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10934"
+NAME="AEN9973"
 ></A
 ><H3
 ><A
@@ -6805,7 +6750,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6820,7 +6765,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the encoding name value or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6830,7 +6775,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10956"
+NAME="AEN9995"
 ></A
 ><H3
 ><A
@@ -6890,7 +6835,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6905,7 +6850,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the encoding value or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6915,7 +6860,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN10979"
+NAME="AEN10018"
 ></A
 ><H3
 ><A
@@ -6985,7 +6930,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7000,7 +6945,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->1 if standalone, 0 otherwise</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -7010,7 +6955,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11001"
+NAME="AEN10040"
 ></A
 ><H3
 ><A
@@ -7065,7 +7010,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -7075,7 +7020,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11018"
+NAME="AEN10057"
 ></A
 ><H3
 ><A
@@ -7130,7 +7075,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -7140,7 +7085,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11035"
+NAME="AEN10074"
 ></A
 ><H3
 ><A
@@ -7205,7 +7150,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7222,7 +7167,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the external identifier</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7239,7 +7184,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the system identifier (or URL)</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -7249,7 +7194,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11063"
+NAME="AEN10102"
 ></A
 ><H3
 ><A
@@ -7265,7 +7210,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XML_SUBSTITUTE_NONE	0</PRE
+>#define     XML_SUBSTITUTE_NONE</PRE
 ></TD
 ></TR
 ></TABLE
@@ -7275,7 +7220,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11068"
+NAME="AEN10107"
 ></A
 ><H3
 ><A
@@ -7291,7 +7236,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XML_SUBSTITUTE_REF	1</PRE
+>#define     XML_SUBSTITUTE_REF</PRE
 ></TD
 ></TR
 ></TABLE
@@ -7301,7 +7246,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11073"
+NAME="AEN10112"
 ></A
 ><H3
 ><A
@@ -7317,7 +7262,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XML_SUBSTITUTE_PEREF	2</PRE
+>#define     XML_SUBSTITUTE_PEREF</PRE
 ></TD
 ></TR
 ></TABLE
@@ -7327,7 +7272,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11078"
+NAME="AEN10117"
 ></A
 ><H3
 ><A
@@ -7343,7 +7288,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XML_SUBSTITUTE_BOTH 	3</PRE
+>#define     XML_SUBSTITUTE_BOTH</PRE
 ></TD
 ></TR
 ></TABLE
@@ -7353,7 +7298,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11083"
+NAME="AEN10122"
 ></A
 ><H3
 ><A
@@ -7425,7 +7370,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7442,7 +7387,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the len to decode (in bytes !), -1 for no size limit</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7459,7 +7404,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  combination of XML_SUBSTITUTE_REF and XML_SUBSTITUTE_PEREF</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7476,7 +7421,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an end marker xmlChar, 0 if none</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7493,7 +7438,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an end marker xmlChar, 0 if none</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7510,7 +7455,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an end marker xmlChar, 0 if none</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7525,8 +7470,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->A newly allocated string with the substitution done. The caller
-must deallocate it !</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -7536,7 +7480,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11128"
+NAME="AEN10167"
 ></A
 ><H3
 ><A
@@ -7633,7 +7577,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11152"
+NAME="AEN10191"
 ></A
 ><H3
 ><A
@@ -7712,7 +7656,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11172"
+NAME="AEN10211"
 ></A
 ><H3
 ><A
@@ -7809,7 +7753,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11196"
+NAME="AEN10235"
 ></A
 ><H3
 ><A
diff --git a/doc/html/gnome-xml-tree.html b/doc/html/gnome-xml-tree.html
index 12177fb..268f957 100644
--- a/doc/html/gnome-xml-tree.html
+++ b/doc/html/gnome-xml-tree.html
@@ -4,7 +4,7 @@
 >tree</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,6 +20,9 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -111,19 +114,22 @@
 ></TABLE
 ></DIV
 ><H1
->tree</H1
+><A
+NAME="GNOME-XML-TREE"
+>tree</A
+></H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN2965"
+NAME="AEN2831"
 ></A
 ><H2
 >Name</H2
->tree &#8212; </DIV
+>tree&nbsp;--&nbsp;</DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN2968"
+NAME="AEN2834"
 ></A
 ><H2
 >Synopsis</H2
@@ -218,19 +224,7 @@
 HREF="gnome-xml-tree.html#XMLREFPTR"
 >xmlRefPtr</A
 >;
-enum        <A
-HREF="gnome-xml-tree.html#XMLBUFFERALLOCATIONSCHEME"
->xmlBufferAllocationScheme</A
->;
-typedef     <A
-HREF="gnome-xml-tree.html#XMLBUFFER"
->xmlBuffer</A
->;
-typedef     <A
-HREF="gnome-xml-tree.html#XMLBUFFERPTR"
->xmlBufferPtr</A
->;
-typedef     <A
+struct      <A
 HREF="gnome-xml-tree.html#XMLNODE"
 >xmlNode</A
 >;
@@ -238,7 +232,7 @@
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 >;
-typedef     <A
+struct      <A
 HREF="gnome-xml-tree.html#XMLDOC"
 >xmlDoc</A
 >;
@@ -246,6 +240,14 @@
 HREF="gnome-xml-tree.html#XMLDOCPTR"
 >xmlDocPtr</A
 >;
+struct      <A
+HREF="gnome-xml-tree.html#XMLBUFFER"
+>xmlBuffer</A
+>;
+typedef     <A
+HREF="gnome-xml-tree.html#XMLBUFFERPTR"
+>xmlBufferPtr</A
+>;
 extern      xmlNsPtr <A
 HREF="gnome-xml-tree.html#BASEDTD"
 >baseDTD</A
@@ -258,10 +260,6 @@
 HREF="gnome-xml-tree.html#XMLINDENTTREEOUTPUT"
 >xmlIndentTreeOutput</A
 >;
-extern      xmlBufferAllocationScheme <A
-HREF="gnome-xml-tree.html#XMLBUFFERALLOCSCHEME"
->xmlBufferAllocScheme</A
->;
 <A
 HREF="gnome-xml-tree.html#XMLBUFFERPTR"
 >xmlBufferPtr</A
@@ -269,16 +267,6 @@
 HREF="gnome-xml-tree.html#XMLBUFFERCREATE"
 >xmlBufferCreate</A
 >                (void);
-<A
-HREF="gnome-xml-tree.html#XMLBUFFERPTR"
->xmlBufferPtr</A
-> <A
-HREF="gnome-xml-tree.html#XMLBUFFERCREATESIZE"
->xmlBufferCreateSize</A
->            (<GTKDOCLINK
-HREF="SIZE-T"
->size_t</GTKDOCLINK
-> size);
 void        <A
 HREF="gnome-xml-tree.html#XMLBUFFERFREE"
 >xmlBufferFree</A
@@ -343,41 +331,6 @@
 HREF="gnome-xml-tree.html#XMLBUFFERPTR"
 >xmlBufferPtr</A
 > buf);
-const <A
-HREF="gnome-xml-tree.html#XMLCHAR"
->xmlChar</A
->* <A
-HREF="gnome-xml-tree.html#XMLBUFFERCONTENT"
->xmlBufferContent</A
->             (const <A
-HREF="gnome-xml-tree.html#XMLBUFFERPTR"
->xmlBufferPtr</A
-> buf);
-int         <A
-HREF="gnome-xml-tree.html#XMLBUFFERUSE"
->xmlBufferUse</A
->                    (const <A
-HREF="gnome-xml-tree.html#XMLBUFFERPTR"
->xmlBufferPtr</A
-> buf);
-void        <A
-HREF="gnome-xml-tree.html#XMLBUFFERSETALLOCATIONSCHEME"
->xmlBufferSetAllocationScheme</A
->    (<A
-HREF="gnome-xml-tree.html#XMLBUFFERPTR"
->xmlBufferPtr</A
-> buf,
-                                             <A
-HREF="gnome-xml-tree.html#XMLBUFFERALLOCATIONSCHEME"
->xmlBufferAllocationScheme</A
-> scheme);
-int         <A
-HREF="gnome-xml-tree.html#XMLBUFFERLENGTH"
->xmlBufferLength</A
->                 (const <A
-HREF="gnome-xml-tree.html#XMLBUFFERPTR"
->xmlBufferPtr</A
-> buf);
 <A
 HREF="gnome-xml-tree.html#XMLDTDPTR"
 >xmlDtdPtr</A
@@ -636,28 +589,6 @@
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 >  <A
-HREF="gnome-xml-tree.html#XMLNEWDOCRAWNODE"
->xmlNewDocRawNode</A
->                (<A
-HREF="gnome-xml-tree.html#XMLDOCPTR"
->xmlDocPtr</A
-> doc,
-                                             <A
-HREF="gnome-xml-tree.html#XMLNSPTR"
->xmlNsPtr</A
-> ns,
-                                             const <A
-HREF="gnome-xml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="gnome-xml-tree.html#XMLCHAR"
->xmlChar</A
-> *content);
-<A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
->  <A
 HREF="gnome-xml-tree.html#XMLNEWNODE"
 >xmlNewNode</A
 >                      (<A
@@ -694,28 +625,6 @@
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 >  <A
-HREF="gnome-xml-tree.html#XMLNEWTEXTCHILD"
->xmlNewTextChild</A
->                 (<A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> parent,
-                                             <A
-HREF="gnome-xml-tree.html#XMLNSPTR"
->xmlNsPtr</A
-> ns,
-                                             const <A
-HREF="gnome-xml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="gnome-xml-tree.html#XMLCHAR"
->xmlChar</A
-> *content);
-<A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
->  <A
 HREF="gnome-xml-tree.html#XMLNEWDOCTEXT"
 >xmlNewDocText</A
 >                   (<A
@@ -854,16 +763,6 @@
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 >  <A
-HREF="gnome-xml-tree.html#XMLDOCGETROOTELEMENT"
->xmlDocGetRootElement</A
->            (<A
-HREF="gnome-xml-tree.html#XMLDOCPTR"
->xmlDocPtr</A
-> doc);
-<A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
->  <A
 HREF="gnome-xml-tree.html#XMLGETLASTCHILD"
 >xmlGetLastChild</A
 >                 (<A
@@ -881,31 +780,6 @@
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 >  <A
-HREF="gnome-xml-tree.html#XMLDOCSETROOTELEMENT"
->xmlDocSetRootElement</A
->            (<A
-HREF="gnome-xml-tree.html#XMLDOCPTR"
->xmlDocPtr</A
-> doc,
-                                             <A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> root);
-void        <A
-HREF="gnome-xml-tree.html#XMLNODESETNAME"
->xmlNodeSetName</A
->                  (<A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> cur,
-                                             const <A
-HREF="gnome-xml-tree.html#XMLCHAR"
->xmlChar</A
-> *name);
-<A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
->  <A
 HREF="gnome-xml-tree.html#XMLADDCHILD"
 >xmlAddChild</A
 >                     (<A
@@ -920,20 +794,6 @@
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 >  <A
-HREF="gnome-xml-tree.html#XMLREPLACENODE"
->xmlReplaceNode</A
->                  (<A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> old,
-                                             <A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> cur);
-<A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
->  <A
 HREF="gnome-xml-tree.html#XMLADDSIBLING"
 >xmlAddSibling</A
 >                   (<A
@@ -944,34 +804,6 @@
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 > elem);
-<A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
->  <A
-HREF="gnome-xml-tree.html#XMLADDPREVSIBLING"
->xmlAddPrevSibling</A
->               (<A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> cur,
-                                             <A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> elem);
-<A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
->  <A
-HREF="gnome-xml-tree.html#XMLADDNEXTSIBLING"
->xmlAddNextSibling</A
->               (<A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> cur,
-                                             <A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> elem);
 void        <A
 HREF="gnome-xml-tree.html#XMLUNLINKNODE"
 >xmlUnlinkNode</A
@@ -1019,13 +851,6 @@
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 > cur);
-int         <A
-HREF="gnome-xml-tree.html#XMLREMOVEPROP"
->xmlRemoveProp</A
->                   (<A
-HREF="gnome-xml-tree.html#XMLATTRPTR"
->xmlAttrPtr</A
-> cur);
 <A
 HREF="gnome-xml-tree.html#XMLNSPTR"
 >xmlNsPtr</A
@@ -1140,24 +965,6 @@
 >xmlChar</A
 > *name);
 <A
-HREF="gnome-xml-tree.html#XMLCHAR"
->xmlChar</A
->*    <A
-HREF="gnome-xml-tree.html#XMLGETNSPROP"
->xmlGetNsProp</A
->                    (<A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> node,
-                                             const <A
-HREF="gnome-xml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="gnome-xml-tree.html#XMLCHAR"
->xmlChar</A
-> *nameSpace);
-<A
 HREF="gnome-xml-tree.html#XMLNODEPTR"
 >xmlNodePtr</A
 >  <A
@@ -1278,19 +1085,12 @@
 HREF="gnome-xml-tree.html#XMLCHAR"
 >xmlChar</A
 > *lang);
-<A
-HREF="gnome-xml-tree.html#XMLCHAR"
->xmlChar</A
->*    <A
-HREF="gnome-xml-tree.html#XMLNODEGETBASE"
->xmlNodeGetBase</A
->                  (<A
-HREF="gnome-xml-tree.html#XMLDOCPTR"
->xmlDocPtr</A
-> doc,
-                                             <A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
+int         <A
+HREF="gnome-xml-tree.html#XMLREMOVEPROP"
+>xmlRemoveProp</A
+>                   (<A
+HREF="gnome-xml-tree.html#XMLATTRPTR"
+>xmlAttrPtr</A
 > cur);
 int         <A
 HREF="gnome-xml-tree.html#XMLREMOVENODE"
@@ -1352,21 +1152,6 @@
 HREF="gnome-xml-tree.html#XMLDOCPTR"
 >xmlDocPtr</A
 > cur);
-void        <A
-HREF="gnome-xml-tree.html#XMLELEMDUMP"
->xmlElemDump</A
->                     (<GTKDOCLINK
-HREF="FILE"
->FILE</GTKDOCLINK
-> *f,
-                                             <A
-HREF="gnome-xml-tree.html#XMLDOCPTR"
->xmlDocPtr</A
-> cur,
-                                             <A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> elem);
 int         <A
 HREF="gnome-xml-tree.html#XMLSAVEFILE"
 >xmlSaveFile</A
@@ -1405,7 +1190,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3318"
+NAME="AEN3122"
 ></A
 ><H2
 >Description</H2
@@ -1415,14 +1200,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN3321"
+NAME="AEN3125"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3323"
+NAME="AEN3127"
 ></A
 ><H3
 ><A
@@ -1462,7 +1247,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3328"
+NAME="AEN3132"
 ></A
 ><H3
 ><A
@@ -1475,7 +1260,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3332"
+NAME="AEN3136"
 ></A
 ><H3
 ><A
@@ -1491,7 +1276,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define CHAR xmlChar</PRE
+>#define     CHAR</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1501,7 +1286,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3337"
+NAME="AEN3141"
 ></A
 ><H3
 ><A
@@ -1517,7 +1302,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define BAD_CAST (xmlChar *)</PRE
+>#define     BAD_CAST</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1527,33 +1312,20 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3342"
+NAME="AEN3146"
 ></A
 ><H3
 ><A
 NAME="XMLNOTATIONPTR"
 ></A
 >xmlNotationPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlNotation *xmlNotationPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3347"
+NAME="AEN3150"
 ></A
 ><H3
 ><A
@@ -1590,7 +1362,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3352"
+NAME="AEN3155"
 ></A
 ><H3
 ><A
@@ -1621,59 +1393,33 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3357"
+NAME="AEN3160"
 ></A
 ><H3
 ><A
 NAME="XMLENUMERATIONPTR"
 ></A
 >xmlEnumerationPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlEnumeration *xmlEnumerationPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3362"
+NAME="AEN3164"
 ></A
 ><H3
 ><A
 NAME="XMLATTRIBUTEPTR"
 ></A
 >xmlAttributePtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlAttribute *xmlAttributePtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3367"
+NAME="AEN3168"
 ></A
 ><H3
 ><A
@@ -1704,7 +1450,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3372"
+NAME="AEN3173"
 ></A
 ><H3
 ><A
@@ -1735,33 +1481,20 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3377"
+NAME="AEN3178"
 ></A
 ><H3
 ><A
 NAME="XMLELEMENTCONTENTPTR"
 ></A
 >xmlElementContentPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlElementContent *xmlElementContentPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3382"
+NAME="AEN3182"
 ></A
 ><H3
 ><A
@@ -1792,33 +1525,20 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3387"
+NAME="AEN3187"
 ></A
 ><H3
 ><A
 NAME="XMLELEMENTPTR"
 ></A
 >xmlElementPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlElement *xmlElementPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3392"
+NAME="AEN3191"
 ></A
 ><H3
 ><A
@@ -1847,226 +1567,78 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3397"
+NAME="AEN3196"
 ></A
 ><H3
 ><A
 NAME="XMLNSPTR"
 ></A
 >xmlNsPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlNs *xmlNsPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3402"
+NAME="AEN3200"
 ></A
 ><H3
 ><A
 NAME="XMLDTDPTR"
 ></A
 >xmlDtdPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlDtd *xmlDtdPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3407"
+NAME="AEN3204"
 ></A
 ><H3
 ><A
 NAME="XMLATTRPTR"
 ></A
 >xmlAttrPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlAttr *xmlAttrPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3412"
+NAME="AEN3208"
 ></A
 ><H3
 ><A
 NAME="XMLIDPTR"
 ></A
 >xmlIDPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlID *xmlIDPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3417"
+NAME="AEN3212"
 ></A
 ><H3
 ><A
 NAME="XMLREFPTR"
 ></A
 >xmlRefPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlRef *xmlRefPtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3422"
-></A
-><H3
-><A
-NAME="XMLBUFFERALLOCATIONSCHEME"
-></A
->enum xmlBufferAllocationScheme</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef enum {
-    XML_BUFFER_ALLOC_DOUBLEIT,
-    XML_BUFFER_ALLOC_EXACT
-} xmlBufferAllocationScheme;</PRE
-></TD
-></TR
-></TABLE
-><P
->Sets the allocation scheme for this buffer</P
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3428"
-></A
-><H3
-><A
-NAME="XMLBUFFER"
-></A
->xmlBuffer</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef _xmlBuffer xmlBuffer;</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3433"
-></A
-><H3
-><A
-NAME="XMLBUFFERPTR"
-></A
->xmlBufferPtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlBuffer *xmlBufferPtr;</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3438"
+NAME="AEN3216"
 ></A
 ><H3
 ><A
 NAME="XMLNODE"
 ></A
->xmlNode</H3
+>struct xmlNode</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -2076,7 +1648,28 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->typedef _xmlNode xmlNode;</PRE
+>struct xmlNode {
+#ifndef XML_WITHOUT_CORBA
+    void           *_private;	/* for Corba, must be first ! */
+    void           *vepv;	/* for Corba, must be next ! */
+#endif
+    xmlElementType  type;	/* type number in the DTD, must be third ! */
+    struct _xmlDoc  *doc;	/* the containing document */
+    struct _xmlNode *parent;	/* child-&gt;parent link */
+    struct _xmlNode *next;	/* next sibling link  */
+    struct _xmlNode *prev;	/* previous sibling link  */
+    struct _xmlNode *childs;	/* parent-&gt;childs link */
+    struct _xmlNode *last;	/* last child link */
+    struct _xmlAttr *properties;/* properties list */
+    const xmlChar  *name;       /* the name of the node, or the entity */
+    xmlNs          *ns;         /* pointer to the associated namespace */
+    xmlNs          *nsDef;      /* namespace definitions on this node */
+#ifndef XML_USE_BUFFER_CONTENT    
+    xmlChar        *content;    /* the content */
+#else
+    xmlBufferPtr   content;     /* the content in a buffer */
+#endif
+};</PRE
 ></TD
 ></TR
 ></TABLE
@@ -2086,39 +1679,26 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3443"
+NAME="AEN3221"
 ></A
 ><H3
 ><A
 NAME="XMLNODEPTR"
 ></A
 >xmlNodePtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef _xmlNode *xmlNodePtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3448"
+NAME="AEN3225"
 ></A
 ><H3
 ><A
 NAME="XMLDOC"
 ></A
->xmlDoc</H3
+>struct xmlDoc</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -2128,7 +1708,24 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->typedef _xmlDoc xmlDoc;</PRE
+>struct xmlDoc {
+#ifndef XML_WITHOUT_CORBA
+    void           *_private;	/* for Corba, must be first ! */
+    void           *vepv;	/* for Corba, must be next ! */
+#endif
+    xmlElementType  type;       /* XML_DOCUMENT_NODE, must be second ! */
+    char           *name;	/* name/filename/URI of the document */
+    const xmlChar  *version;	/* the XML version string */
+    const xmlChar  *encoding;   /* encoding, if any */
+    int             compression;/* level of zlib compression */
+    int             standalone; /* standalone document (no external refs) */
+    struct _xmlDtd  *intSubset;	/* the document internal subset */
+    struct _xmlDtd  *extSubset;	/* the document external subset */
+    struct _xmlNs   *oldNs;	/* Global namespace, the old way */
+    struct _xmlNode *root;	/* the document tree */
+    void           *ids;        /* Hash table for ID attributes if any */
+    void           *refs;       /* Hash table for IDREFs attributes if any */
+};</PRE
 ></TD
 ></TR
 ></TABLE
@@ -2138,13 +1735,26 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3453"
+NAME="AEN3230"
 ></A
 ><H3
 ><A
 NAME="XMLDOCPTR"
 ></A
 >xmlDocPtr</H3
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN3234"
+></A
+><H3
+><A
+NAME="XMLBUFFER"
+></A
+>struct xmlBuffer</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -2154,7 +1764,12 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->typedef xmlDoc *xmlDocPtr;</PRE
+>struct xmlBuffer {
+    xmlChar *content;		/* The buffer content UTF8 */
+    unsigned int use;		/* The buffer size used */
+    unsigned int size;		/* The buffer size */
+    xmlBufferAllocationScheme alloc; /* The realloc method */
+};</PRE
 ></TD
 ></TR
 ></TABLE
@@ -2164,7 +1779,20 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3458"
+NAME="AEN3239"
+></A
+><H3
+><A
+NAME="XMLBUFFERPTR"
+></A
+>xmlBufferPtr</H3
+><P
+></P
+></DIV
+><HR><DIV
+CLASS="REFSECT2"
+><A
+NAME="AEN3243"
 ></A
 ><H3
 ><A
@@ -2190,7 +1818,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3463"
+NAME="AEN3248"
 ></A
 ><H3
 ><A
@@ -2216,7 +1844,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3468"
+NAME="AEN3253"
 ></A
 ><H3
 ><A
@@ -2242,33 +1870,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3473"
-></A
-><H3
-><A
-NAME="XMLBUFFERALLOCSCHEME"
-></A
->xmlBufferAllocScheme</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->extern xmlBufferAllocationScheme xmlBufferAllocScheme; /* alloc scheme to use */</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3478"
+NAME="AEN3258"
 ></A
 ><H3
 ><A
@@ -2319,7 +1921,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new structure.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2329,88 +1931,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3494"
-></A
-><H3
-><A
-NAME="XMLBUFFERCREATESIZE"
-></A
->xmlBufferCreateSize ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gnome-xml-tree.html#XMLBUFFERPTR"
->xmlBufferPtr</A
-> xmlBufferCreateSize            (<GTKDOCLINK
-HREF="SIZE-T"
->size_t</GTKDOCLINK
-> size);</PRE
-></TD
-></TR
-></TABLE
-><P
->routine to create an XML buffer.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->size</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
-> initial size of buffer</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 structure.</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3515"
+NAME="AEN3274"
 ></A
 ><H3
 ><A
@@ -2463,7 +1984,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the buffer to free</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2473,7 +1994,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3531"
+NAME="AEN3290"
 ></A
 ><H3
 ><A
@@ -2530,7 +2051,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the file output</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2547,7 +2068,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the buffer to dump</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2562,7 +2083,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the number of xmlChar written</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2572,7 +2093,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3556"
+NAME="AEN3315"
 ></A
 ><H3
 ><A
@@ -2601,8 +2122,7 @@
 ></TR
 ></TABLE
 ><P
->Add a string range to an XML buffer. if len == -1, the lenght of
-str is recomputed.</P
+>Add a string range to an XML buffer.</P
 ><P
 ></P
 ><DIV
@@ -2631,7 +2151,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the buffer to dump</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2648,7 +2168,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the xmlChar string</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2665,7 +2185,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the number of xmlChar to add</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2675,7 +2195,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3581"
+NAME="AEN3340"
 ></A
 ><H3
 ><A
@@ -2732,7 +2252,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the buffer to dump</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2749,7 +2269,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the xmlChar string</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2759,7 +2279,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3602"
+NAME="AEN3361"
 ></A
 ><H3
 ><A
@@ -2813,7 +2333,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the buffer to dump</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2830,7 +2350,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the C char string</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2840,7 +2360,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3622"
+NAME="AEN3381"
 ></A
 ><H3
 ><A
@@ -2894,7 +2414,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the buffer to dump</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2911,7 +2431,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the number of xmlChar to remove</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2926,7 +2446,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the number of xmlChar removed, or -1 in case of failure.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2936,7 +2456,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3646"
+NAME="AEN3405"
 ></A
 ><H3
 ><A
@@ -2989,163 +2509,6 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the buffer</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3662"
-></A
-><H3
-><A
-NAME="XMLBUFFERCONTENT"
-></A
->xmlBufferContent ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->const <A
-HREF="gnome-xml-tree.html#XMLCHAR"
->xmlChar</A
->* xmlBufferContent             (const <A
-HREF="gnome-xml-tree.html#XMLBUFFERPTR"
->xmlBufferPtr</A
-> buf);</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->buf</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the buffer to resize</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->the internal content</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3683"
-></A
-><H3
-><A
-NAME="XMLBUFFERUSE"
-></A
->xmlBufferUse ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int         xmlBufferUse                    (const <A
-HREF="gnome-xml-tree.html#XMLBUFFERPTR"
->xmlBufferPtr</A
-> buf);</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->buf</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
 >&nbsp;</TD
 ></TR
 ></TABLE
@@ -3156,167 +2519,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3702"
-></A
-><H3
-><A
-NAME="XMLBUFFERSETALLOCATIONSCHEME"
-></A
->xmlBufferSetAllocationScheme ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void        xmlBufferSetAllocationScheme    (<A
-HREF="gnome-xml-tree.html#XMLBUFFERPTR"
->xmlBufferPtr</A
-> buf,
-                                             <A
-HREF="gnome-xml-tree.html#XMLBUFFERALLOCATIONSCHEME"
->xmlBufferAllocationScheme</A
-> scheme);</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->buf</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->scheme</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3722"
-></A
-><H3
-><A
-NAME="XMLBUFFERLENGTH"
-></A
->xmlBufferLength ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int         xmlBufferLength                 (const <A
-HREF="gnome-xml-tree.html#XMLBUFFERPTR"
->xmlBufferPtr</A
-> buf);</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->buf</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the buffer </TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->the length of data in the internal content</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN3742"
+NAME="AEN3421"
 ></A
 ><H3
 ><A
@@ -3384,7 +2587,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document pointer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3401,7 +2604,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the DTD name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3418,7 +2621,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the external ID</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3435,7 +2638,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the system ID</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3450,7 +2653,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new DTD structure</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3460,7 +2663,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3778"
+NAME="AEN3457"
 ></A
 ><H3
 ><A
@@ -3528,7 +2731,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document pointer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3545,7 +2748,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the DTD name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3562,7 +2765,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the external ID</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3579,7 +2782,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the system ID</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3594,7 +2797,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new DTD structure</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3604,7 +2807,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3814"
+NAME="AEN3493"
 ></A
 ><H3
 ><A
@@ -3657,7 +2860,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the DTD structure to free up</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3667,7 +2870,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3830"
+NAME="AEN3509"
 ></A
 ><H3
 ><A
@@ -3702,9 +2905,7 @@
 ></TR
 ></TABLE
 ><P
->Creation of a Namespace, the old way using PI and without scoping
-DEPRECATED !!!
-Will be removed at next major release !</P
+>Creation of a Namespace, the old way using PI and without scoping, to AVOID.</P
 ><P
 ></P
 ><DIV
@@ -3733,7 +2934,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document carrying the namespace</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3750,7 +2951,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the URI associated</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3767,7 +2968,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the prefix for the namespace</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3782,7 +2983,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->NULL this functionnality had been removed</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3792,7 +2993,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3861"
+NAME="AEN3540"
 ></A
 ><H3
 ><A
@@ -3827,9 +3028,7 @@
 ></TR
 ></TABLE
 ><P
->Creation of a new Namespace. This function will refuse to create
-a namespace with a similar prefix than an existing one present on this
-node.</P
+>Creation of a new Namespace.</P
 ><P
 ></P
 ><DIV
@@ -3858,7 +3057,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the element carrying the namespace</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3875,7 +3074,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the URI associated</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3892,7 +3091,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the prefix for the namespace</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3907,7 +3106,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->returns a new namespace pointer or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3917,7 +3116,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3892"
+NAME="AEN3571"
 ></A
 ><H3
 ><A
@@ -3970,7 +3169,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the namespace pointer</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3980,7 +3179,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3908"
+NAME="AEN3587"
 ></A
 ><H3
 ><A
@@ -4036,7 +3235,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  xmlChar string giving the version of XML "1.0"</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4051,7 +3250,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a new document</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4061,7 +3260,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3929"
+NAME="AEN3608"
 ></A
 ><H3
 ><A
@@ -4114,8 +3313,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  pointer to the document
-@:  </TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4125,7 +3323,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3945"
+NAME="AEN3624"
 ></A
 ><H3
 ><A
@@ -4189,7 +3387,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4206,7 +3404,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the name of the attribute</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4223,7 +3421,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the value of the attribute</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4238,7 +3436,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the attribute</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4248,7 +3446,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN3976"
+NAME="AEN3655"
 ></A
 ><H3
 ><A
@@ -4312,7 +3510,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the holding node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4329,7 +3527,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the name of the attribute</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4346,7 +3544,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the value of the attribute</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4361,7 +3559,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the attribute</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4371,7 +3569,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4007"
+NAME="AEN3686"
 ></A
 ><H3
 ><A
@@ -4439,7 +3637,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the holding node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4456,7 +3654,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the namespace</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4473,7 +3671,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the name of the attribute</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4490,7 +3688,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the value of the attribute</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4505,7 +3703,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the attribute</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4515,7 +3713,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4043"
+NAME="AEN3722"
 ></A
 ><H3
 ><A
@@ -4568,7 +3766,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the first property in the list</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4578,7 +3776,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4059"
+NAME="AEN3738"
 ></A
 ><H3
 ><A
@@ -4602,7 +3800,7 @@
 ></TR
 ></TABLE
 ><P
->Free one attribute, all the content is freed too</P
+>Free one property, all the childs are freed too.</P
 ><P
 ></P
 ><DIV
@@ -4631,7 +3829,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an attribute</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4641,7 +3839,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4075"
+NAME="AEN3754"
 ></A
 ><H3
 ><A
@@ -4701,7 +3899,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the element where the attribute will be grafted</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4718,7 +3916,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4733,7 +3931,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> a new xmlAttrPtr, or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4743,7 +3941,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4101"
+NAME="AEN3780"
 ></A
 ><H3
 ><A
@@ -4803,7 +4001,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the element where the attributes will be grafted</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4820,7 +4018,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the first attribute</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4835,7 +4033,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> a new xmlAttrPtr, or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4845,7 +4043,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4127"
+NAME="AEN3806"
 ></A
 ><H3
 ><A
@@ -4901,7 +4099,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the dtd</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4916,7 +4114,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> a new xmlDtdPtr, or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4926,7 +4124,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4148"
+NAME="AEN3827"
 ></A
 ><H3
 ><A
@@ -4984,7 +4182,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5001,7 +4199,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  if 1 do a recursive copy.</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5016,7 +4214,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> a new xmlDocPtr, or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5026,7 +4224,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4173"
+NAME="AEN3852"
 ></A
 ><H3
 ><A
@@ -5076,176 +4274,6 @@
 >content</I
 ></TT
 >
-are optionnal (NULL).
-NOTE: <TT
-CLASS="PARAMETER"
-><I
->content</I
-></TT
-> is supposed to be a piece of XML CDATA, so it allow entities
-references, but XML special chars need to be escaped first by using
-<A
-HREF="gnome-xml-entities.html#XMLENCODEENTITIESREENTRANT"
->xmlEncodeEntitiesReentrant</A
->(). Use <A
-HREF="gnome-xml-tree.html#XMLNEWDOCRAWNODE"
->xmlNewDocRawNode</A
->() if you don't
-need entities support.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->doc</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the document</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->ns</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  namespace if any</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the node name</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->content</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the XML text content if any</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->a pointer to the new node object.</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4214"
-></A
-><H3
-><A
-NAME="XMLNEWDOCRAWNODE"
-></A
->xmlNewDocRawNode ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
->  xmlNewDocRawNode                (<A
-HREF="gnome-xml-tree.html#XMLDOCPTR"
->xmlDocPtr</A
-> doc,
-                                             <A
-HREF="gnome-xml-tree.html#XMLNSPTR"
->xmlNsPtr</A
-> ns,
-                                             const <A
-HREF="gnome-xml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="gnome-xml-tree.html#XMLCHAR"
->xmlChar</A
-> *content);</PRE
-></TD
-></TR
-></TABLE
-><P
->Creation of a new node element within a document. <TT
-CLASS="PARAMETER"
-><I
->ns</I
-></TT
-> and <TT
-CLASS="PARAMETER"
-><I
->content</I
-></TT
->
 are optionnal (NULL).</P
 ><P
 ></P
@@ -5275,7 +4303,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5292,7 +4320,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  namespace if any</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5309,7 +4337,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5326,7 +4354,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the text content if any</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5341,7 +4369,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5351,7 +4379,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4252"
+NAME="AEN3890"
 ></A
 ><H3
 ><A
@@ -5423,7 +4451,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  namespace if any</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5440,7 +4468,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5455,7 +4483,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5465,7 +4493,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4280"
+NAME="AEN3918"
 ></A
 ><H3
 ><A
@@ -5521,22 +4549,7 @@
 >content</I
 ></TT
 > parameters are optionnal (NULL). If content is non NULL,
-a child list containing the TEXTs and ENTITY_REFs node will be created.
-NOTE: <TT
-CLASS="PARAMETER"
-><I
->content</I
-></TT
-> is supposed to be a piece of XML CDATA, so it allow entities
-references, but XML special chars need to be escaped first by using
-<A
-HREF="gnome-xml-entities.html#XMLENCODEENTITIESREENTRANT"
->xmlEncodeEntitiesReentrant</A
->(). Use <A
-HREF="gnome-xml-tree.html#XMLNEWTEXTCHILD"
->xmlNewTextChild</A
->() if entities
-support is not needed.</P
+a child list containing the TEXTs and ENTITY_REFs node will be created.</P
 ><P
 ></P
 ><DIV
@@ -5565,7 +4578,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the parent node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5582,7 +4595,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a namespace if any</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5599,7 +4612,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the name of the child</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5616,7 +4629,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the XML content of the child if any.</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5631,7 +4644,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5641,168 +4654,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4322"
-></A
-><H3
-><A
-NAME="XMLNEWTEXTCHILD"
-></A
->xmlNewTextChild ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
->  xmlNewTextChild                 (<A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> parent,
-                                             <A
-HREF="gnome-xml-tree.html#XMLNSPTR"
->xmlNsPtr</A
-> ns,
-                                             const <A
-HREF="gnome-xml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="gnome-xml-tree.html#XMLCHAR"
->xmlChar</A
-> *content);</PRE
-></TD
-></TR
-></TABLE
-><P
->Creation of a new child element, added at the end of <TT
-CLASS="PARAMETER"
-><I
->parent</I
-></TT
-> childs list.
-<TT
-CLASS="PARAMETER"
-><I
->ns</I
-></TT
-> and <TT
-CLASS="PARAMETER"
-><I
->content</I
-></TT
-> parameters are optionnal (NULL). If content is non NULL,
-a child TEXT node will be created containing the string content.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->parent</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the parent node</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->ns</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  a namespace if any</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the name of the child</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->content</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the text content of the child if any.</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->a pointer to the new node object.</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4361"
+NAME="AEN3957"
 ></A
 ><H3
 ><A
@@ -5862,7 +4714,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5879,7 +4731,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the text content</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5894,7 +4746,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5904,7 +4756,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4387"
+NAME="AEN3983"
 ></A
 ><H3
 ><A
@@ -5960,7 +4812,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the text content</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5975,7 +4827,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5985,7 +4837,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4408"
+NAME="AEN4004"
 ></A
 ><H3
 ><A
@@ -6045,7 +4897,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the processing instruction name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6062,7 +4914,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the PI content</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6077,7 +4929,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6087,7 +4939,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4434"
+NAME="AEN4030"
 ></A
 ><H3
 ><A
@@ -6149,7 +5001,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6166,7 +5018,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the text content</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6183,7 +5035,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the text len.</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6198,7 +5050,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6208,7 +5060,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4464"
+NAME="AEN4060"
 ></A
 ><H3
 ><A
@@ -6265,7 +5117,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the text content</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6282,7 +5134,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the text len.</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6297,7 +5149,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6307,7 +5159,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4489"
+NAME="AEN4085"
 ></A
 ><H3
 ><A
@@ -6367,7 +5219,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6384,7 +5236,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the comment content</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6399,7 +5251,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6409,7 +5261,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4515"
+NAME="AEN4111"
 ></A
 ><H3
 ><A
@@ -6465,7 +5317,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the comment content</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6480,7 +5332,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6490,7 +5342,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4536"
+NAME="AEN4132"
 ></A
 ><H3
 ><A
@@ -6551,7 +5403,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6568,7 +5420,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the CData block content content</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6585,7 +5437,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the length of the block</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6600,7 +5452,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6610,7 +5462,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4566"
+NAME="AEN4162"
 ></A
 ><H3
 ><A
@@ -6670,7 +5522,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6687,7 +5539,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the reference name, or the reference string with &amp; and ;</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6702,7 +5554,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new node object.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6712,7 +5564,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4592"
+NAME="AEN4188"
 ></A
 ><H3
 ><A
@@ -6769,7 +5621,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6786,7 +5638,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  if 1 do a recursive copy.</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6801,7 +5653,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> a new xmlNodePtr, or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6811,7 +5663,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4617"
+NAME="AEN4213"
 ></A
 ><H3
 ><A
@@ -6867,7 +5719,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the first node in the list.</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6882,7 +5734,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> a new xmlNodePtr, or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -6892,89 +5744,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4638"
-></A
-><H3
-><A
-NAME="XMLDOCGETROOTELEMENT"
-></A
->xmlDocGetRootElement ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
->  xmlDocGetRootElement            (<A
-HREF="gnome-xml-tree.html#XMLDOCPTR"
->xmlDocPtr</A
-> doc);</PRE
-></TD
-></TR
-></TABLE
-><P
->Get the root element of the document (doc-&gt;root is a list
-containing possibly comments, PIs, etc ...).</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->doc</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the document</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->the xmlNodePtr for the root or NULL</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4659"
+NAME="AEN4234"
 ></A
 ><H3
 ><A
@@ -7030,7 +5800,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the parent node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7045,7 +5815,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the last child or NULL if none.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -7055,7 +5825,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4680"
+NAME="AEN4255"
 ></A
 ><H3
 ><A
@@ -7108,7 +5878,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7123,7 +5893,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->1 yes, 0 no</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -7133,195 +5903,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4700"
-></A
-><H3
-><A
-NAME="XMLDOCSETROOTELEMENT"
-></A
->xmlDocSetRootElement ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
->  xmlDocSetRootElement            (<A
-HREF="gnome-xml-tree.html#XMLDOCPTR"
->xmlDocPtr</A
-> doc,
-                                             <A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> root);</PRE
-></TD
-></TR
-></TABLE
-><P
->Set the root element of the document (doc-&gt;root is a list
-containing possibly comments, PIs, etc ...).</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->doc</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the document</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->root</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the new document root element</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->the old root element if any was found</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4726"
-></A
-><H3
-><A
-NAME="XMLNODESETNAME"
-></A
->xmlNodeSetName ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void        xmlNodeSetName                  (<A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> cur,
-                                             const <A
-HREF="gnome-xml-tree.html#XMLCHAR"
->xmlChar</A
-> *name);</PRE
-></TD
-></TR
-></TABLE
-><P
->Searches the language of a node, i.e. the values of the xml:lang
-attribute or the one carried by the nearest ancestor.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->cur</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the node being changed</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the new tag name</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4747"
+NAME="AEN4275"
 ></A
 ><H3
 ><A
@@ -7386,7 +5968,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the parent node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7403,7 +5985,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the child node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7418,7 +6000,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the child or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -7428,111 +6010,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4774"
-></A
-><H3
-><A
-NAME="XMLREPLACENODE"
-></A
->xmlReplaceNode ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
->  xmlReplaceNode                  (<A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> old,
-                                             <A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> cur);</PRE
-></TD
-></TR
-></TABLE
-><P
->Unlink the old node from it's current context, prune the new one
-at the same place. If cur was already inserted in a document it is
-first unlinked from its existing context.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->old</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the old node</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->cur</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the node</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->the old node</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4800"
+NAME="AEN4302"
 ></A
 ><H3
 ><A
@@ -7563,19 +6041,12 @@
 ></TR
 ></TABLE
 ><P
->Add a new element <TT
-CLASS="PARAMETER"
-><I
->elem</I
-></TT
-> to the list of siblings of <TT
+>Add a new element to the list of siblings of <TT
 CLASS="PARAMETER"
 ><I
 >cur</I
 ></TT
->
-If the new element was already inserted in a document it is
-first unlinked from its existing context.</P
+></P
 ><P
 ></P
 ><DIV
@@ -7604,7 +6075,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the child node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7621,7 +6092,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the new node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -7636,7 +6107,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new element or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -7646,235 +6117,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4828"
-></A
-><H3
-><A
-NAME="XMLADDPREVSIBLING"
-></A
->xmlAddPrevSibling ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
->  xmlAddPrevSibling               (<A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> cur,
-                                             <A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> elem);</PRE
-></TD
-></TR
-></TABLE
-><P
->Add a new element <TT
-CLASS="PARAMETER"
-><I
->elem</I
-></TT
-> as the previous siblings of <TT
-CLASS="PARAMETER"
-><I
->cur</I
-></TT
->
-If the new element was already inserted in a document it is
-first unlinked from its existing context.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->cur</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the child node</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->elem</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the new node</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->the new element or NULL in case of error.</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4856"
-></A
-><H3
-><A
-NAME="XMLADDNEXTSIBLING"
-></A
->xmlAddNextSibling ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
->  xmlAddNextSibling               (<A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> cur,
-                                             <A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> elem);</PRE
-></TD
-></TR
-></TABLE
-><P
->Add a new element <TT
-CLASS="PARAMETER"
-><I
->elem</I
-></TT
-> as the next siblings of <TT
-CLASS="PARAMETER"
-><I
->cur</I
-></TT
->
-If the new element was already inserted in a document it is
-first unlinked from its existing context.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->cur</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the child node</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->elem</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the new node</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->the new element or NULL in case of error.</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN4884"
+NAME="AEN4329"
 ></A
 ><H3
 ><A
@@ -7927,7 +6170,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -7937,7 +6180,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4900"
+NAME="AEN4345"
 ></A
 ><H3
 ><A
@@ -7997,7 +6240,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the first text node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8014,7 +6257,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the second text node being merged</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8029,7 +6272,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the first text node augmented</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -8039,7 +6282,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4926"
+NAME="AEN4371"
 ></A
 ><H3
 ><A
@@ -8097,7 +6340,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8114,7 +6357,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the content</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8131,12 +6374,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  <TT
-CLASS="PARAMETER"
-><I
->content</I
-></TT
-> lenght</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -8146,7 +6384,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4952"
+NAME="AEN4396"
 ></A
 ><H3
 ><A
@@ -8200,7 +6438,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the first node in the list</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -8210,7 +6448,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4968"
+NAME="AEN4412"
 ></A
 ><H3
 ><A
@@ -8263,7 +6501,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -8273,86 +6511,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN4984"
-></A
-><H3
-><A
-NAME="XMLREMOVEPROP"
-></A
->xmlRemoveProp ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int         xmlRemoveProp                   (<A
-HREF="gnome-xml-tree.html#XMLATTRPTR"
->xmlAttrPtr</A
-> cur);</PRE
-></TD
-></TR
-></TABLE
-><P
->Unlink and free one attribute, all the content is freed too
-Note this doesn't work for namespace definition attributes</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->cur</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  an attribute</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->0 if success and -1 in case of error.</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5004"
+NAME="AEN4428"
 ></A
 ><H3
 ><A
@@ -8424,7 +6583,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8441,7 +6600,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the current node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8458,7 +6617,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the namespace string</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8473,7 +6632,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the namespace pointer or NULL.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -8483,7 +6642,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5036"
+NAME="AEN4460"
 ></A
 ><H3
 ><A
@@ -8548,7 +6707,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8565,7 +6724,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the current node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8582,7 +6741,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the namespace value</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8597,7 +6756,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the namespace pointer or NULL.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -8607,7 +6766,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5067"
+NAME="AEN4491"
 ></A
 ><H3
 ><A
@@ -8667,7 +6826,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8684,7 +6843,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the current node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8699,9 +6858,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->an NULL terminated array of all the xmlNsPtr found
-that need to be freed by the caller or NULL if no
-namespace if defined</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -8711,7 +6868,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5093"
+NAME="AEN4517"
 ></A
 ><H3
 ><A
@@ -8768,7 +6925,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a node in the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8785,7 +6942,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a namespace pointer</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -8795,7 +6952,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5114"
+NAME="AEN4538"
 ></A
 ><H3
 ><A
@@ -8851,7 +7008,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the namespace</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8866,7 +7023,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> a new xmlNsPtr, or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -8876,7 +7033,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5135"
+NAME="AEN4559"
 ></A
 ><H3
 ><A
@@ -8932,7 +7089,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the first namespace</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -8947,7 +7104,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> a new xmlNsPtr, or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -8957,7 +7114,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5156"
+NAME="AEN4580"
 ></A
 ><H3
 ><A
@@ -9021,7 +7178,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9038,7 +7195,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9055,7 +7212,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute value</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9070,7 +7227,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the attribute pointer.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -9080,7 +7237,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5187"
+NAME="AEN4611"
 ></A
 ><H3
 ><A
@@ -9112,12 +7269,7 @@
 ></TABLE
 ><P
 >Search and get the value of an attribute associated to a node
-This does the entity substitution.
-This function looks in DTD attribute declaration for <GTKDOCLINK
-HREF="FIXED"
->FIXED</GTKDOCLINK
-> or
-default declaration values unless DTD use has been turned off.</P
+This does the entity substitution.</P
 ><P
 ></P
 ><DIV
@@ -9146,7 +7298,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9163,7 +7315,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9178,8 +7330,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the attribute value or NULL if not found.
-It's up to the caller to free the memory.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -9189,138 +7340,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5214"
-></A
-><H3
-><A
-NAME="XMLGETNSPROP"
-></A
->xmlGetNsProp ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><A
-HREF="gnome-xml-tree.html#XMLCHAR"
->xmlChar</A
->*    xmlGetNsProp                    (<A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> node,
-                                             const <A
-HREF="gnome-xml-tree.html#XMLCHAR"
->xmlChar</A
-> *name,
-                                             const <A
-HREF="gnome-xml-tree.html#XMLCHAR"
->xmlChar</A
-> *nameSpace);</PRE
-></TD
-></TR
-></TABLE
-><P
->Search and get the value of an attribute associated to a node
-This attribute has to be anchored in the namespace specified.
-This does the entity substitution.
-This function looks in DTD attribute declaration for <GTKDOCLINK
-HREF="FIXED"
->FIXED</GTKDOCLINK
-> or
-default declaration values unless DTD use has been turned off.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->node</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the node</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the attribute name</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->nameSpace</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the URI of the namespace</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->the attribute value or NULL if not found.
-It's up to the caller to free the memory.</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5246"
+NAME="AEN4637"
 ></A
 ><H3
 ><A
@@ -9381,7 +7401,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9398,7 +7418,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the value of the attribute</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9413,7 +7433,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the first child</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -9423,7 +7443,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5272"
+NAME="AEN4663"
 ></A
 ><H3
 ><A
@@ -9485,7 +7505,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9502,7 +7522,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the value of the text</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9519,7 +7539,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the length of the string value</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9534,7 +7554,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the first child</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -9544,7 +7564,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5302"
+NAME="AEN4693"
 ></A
 ><H3
 ><A
@@ -9606,7 +7626,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9623,7 +7643,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a Node list</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9640,7 +7660,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  should we replace entity contents or show their external form</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9655,7 +7675,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the string copy, the calller must free it.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -9665,7 +7685,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5332"
+NAME="AEN4723"
 ></A
 ><H3
 ><A
@@ -9722,7 +7742,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node being modified</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9739,7 +7759,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the new value of the content</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -9749,7 +7769,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5353"
+NAME="AEN4744"
 ></A
 ><H3
 ><A
@@ -9807,7 +7827,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node being modified</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9824,7 +7844,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the new value of the content</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9841,12 +7861,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the size of <TT
-CLASS="PARAMETER"
-><I
->content</I
-></TT
-></TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -9856,7 +7871,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5379"
+NAME="AEN4769"
 ></A
 ><H3
 ><A
@@ -9913,7 +7928,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node being modified</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -9930,7 +7945,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  extra content</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -9940,7 +7955,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5400"
+NAME="AEN4790"
 ></A
 ><H3
 ><A
@@ -9998,7 +8013,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node being modified</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -10015,7 +8030,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  extra content</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -10032,12 +8047,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the size of <TT
-CLASS="PARAMETER"
-><I
->content</I
-></TT
-></TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -10047,7 +8057,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5426"
+NAME="AEN4815"
 ></A
 ><H3
 ><A
@@ -10106,7 +8116,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node being read</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -10121,8 +8131,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a new xmlChar * or NULL if no content is available.
-It's up to the caller to free the memory.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -10132,7 +8141,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5447"
+NAME="AEN4836"
 ></A
 ><H3
 ><A
@@ -10189,7 +8198,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node being checked</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -10204,8 +8213,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the lang value, or NULL if not found
-It's up to the caller to free the memory.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -10215,7 +8223,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5468"
+NAME="AEN4857"
 ></A
 ><H3
 ><A
@@ -10243,8 +8251,8 @@
 ></TR
 ></TABLE
 ><P
->Set the language of a node, i.e. the values of the xml:lang
-attribute.</P
+>Searches the language of a node, i.e. the values of the xml:lang
+attribute or the one carried by the nearest ancestor.</P
 ><P
 ></P
 ><DIV
@@ -10273,7 +8281,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node being changed</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -10290,7 +8298,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the langage description</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -10300,13 +8308,13 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5489"
+NAME="AEN4878"
 ></A
 ><H3
 ><A
-NAME="XMLNODEGETBASE"
+NAME="XMLREMOVEPROP"
 ></A
->xmlNodeGetBase ()</H3
+>xmlRemoveProp ()</H3
 ><TABLE
 BORDER="0"
 BGCOLOR="#D6E8FF"
@@ -10316,23 +8324,16 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
-><A
-HREF="gnome-xml-tree.html#XMLCHAR"
->xmlChar</A
->*    xmlNodeGetBase                  (<A
-HREF="gnome-xml-tree.html#XMLDOCPTR"
->xmlDocPtr</A
-> doc,
-                                             <A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
+>int         xmlRemoveProp                   (<A
+HREF="gnome-xml-tree.html#XMLATTRPTR"
+>xmlAttrPtr</A
 > cur);</PRE
 ></TD
 ></TR
 ></TABLE
 ><P
->Searches for the BASE URL. The code should work on both XML
-and HTML document even if base mechanisms are completely different.</P
+>Unlink and free one attribute, all the content is freed too
+Note this doesn't work for namespace definition attributes</P
 ><P
 ></P
 ><DIV
@@ -10354,23 +8355,6 @@
 ><TT
 CLASS="PARAMETER"
 ><I
->doc</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the document the node pertains to</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
 >cur</I
 ></TT
 >&nbsp;:</TD
@@ -10378,7 +8362,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the node being checked</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -10393,8 +8377,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the base URL, or NULL if not found
-It's up to the caller to free the memory.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -10404,7 +8387,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5515"
+NAME="AEN4898"
 ></A
 ><H3
 ><A
@@ -10480,7 +8463,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5534"
+NAME="AEN4917"
 ></A
 ><H3
 ><A
@@ -10538,7 +8521,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the XML buffer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -10555,7 +8538,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the string to add</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -10565,7 +8548,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5555"
+NAME="AEN4938"
 ></A
 ><H3
 ><A
@@ -10620,7 +8603,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the XML buffer output</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -10637,7 +8620,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the string to add</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -10647,7 +8630,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5575"
+NAME="AEN4958"
 ></A
 ><H3
 ><A
@@ -10706,7 +8689,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the XML buffer output</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -10723,7 +8706,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the string to add</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -10733,7 +8716,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5596"
+NAME="AEN4979"
 ></A
 ><H3
 ><A
@@ -10792,7 +8775,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -10809,7 +8792,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  OUT: the memory pointer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -10826,7 +8809,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  OUT: the memory lenght</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -10836,7 +8819,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5621"
+NAME="AEN5004"
 ></A
 ><H3
 ><A
@@ -10893,94 +8876,6 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the FILE*</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->cur</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the document</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN5642"
-></A
-><H3
-><A
-NAME="XMLELEMDUMP"
-></A
->xmlElemDump ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void        xmlElemDump                     (<GTKDOCLINK
-HREF="FILE"
->FILE</GTKDOCLINK
-> *f,
-                                             <A
-HREF="gnome-xml-tree.html#XMLDOCPTR"
->xmlDocPtr</A
-> cur,
-                                             <A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> elem);</PRE
-></TD
-></TR
-></TABLE
-><P
->Dump an XML/HTML node, recursive behaviour,children are printed too.</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->f</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
 >&nbsp;</TD
 ></TR
 ><TR
@@ -10998,23 +8893,6 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the current node</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->elem</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
 >&nbsp;</TD
 ></TR
 ></TABLE
@@ -11025,7 +8903,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5668"
+NAME="AEN5025"
 ></A
 ><H3
 ><A
@@ -11051,13 +8929,7 @@
 ></TABLE
 ><P
 >Dump an XML document to a file. Will use compression if
-compiled in and enabled. If <TT
-CLASS="PARAMETER"
-><I
->filename</I
-></TT
-> is "-" the stdout file is
-used.</P
+compiled in and enabled.</P
 ><P
 ></P
 ><DIV
@@ -11086,7 +8958,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the filename</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -11103,7 +8975,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -11118,7 +8990,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
-> the number of file written or -1 in case of failure.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -11128,7 +9000,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5693"
+NAME="AEN5049"
 ></A
 ><H3
 ><A
@@ -11181,7 +9053,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -11196,7 +9068,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->0 (uncompressed) to 9 (max compression)</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -11206,7 +9078,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5713"
+NAME="AEN5069"
 ></A
 ><H3
 ><A
@@ -11261,7 +9133,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -11278,7 +9150,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the compression ratio</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -11288,7 +9160,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5733"
+NAME="AEN5089"
 ></A
 ><H3
 ><A
@@ -11336,7 +9208,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->0 (uncompressed) to 9 (max compression)</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -11346,7 +9218,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN5748"
+NAME="AEN5104"
 ></A
 ><H3
 ><A
@@ -11397,7 +9269,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the compression ratio</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
diff --git a/doc/html/gnome-xml-valid.html b/doc/html/gnome-xml-valid.html
index 9c7d22e..53cf7d8 100644
--- a/doc/html/gnome-xml-valid.html
+++ b/doc/html/gnome-xml-valid.html
@@ -4,7 +4,7 @@
 >valid</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,6 +20,9 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -111,19 +114,22 @@
 ></TABLE
 ></DIV
 ><H1
->valid</H1
+><A
+NAME="GNOME-XML-VALID"
+>valid</A
+></H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN6198"
+NAME="AEN5545"
 ></A
 ><H2
 >Name</H2
->valid &#8212; </DIV
+>valid&nbsp;--&nbsp;</DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN6201"
+NAME="AEN5548"
 ></A
 ><H2
 >Synopsis</H2
@@ -809,7 +815,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN6384"
+NAME="AEN5731"
 ></A
 ><H2
 >Description</H2
@@ -819,14 +825,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN6387"
+NAME="AEN5734"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6389"
+NAME="AEN5736"
 ></A
 ><H3
 ><A
@@ -920,7 +926,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6411"
+NAME="AEN5758"
 ></A
 ><H3
 ><A
@@ -1014,7 +1020,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6433"
+NAME="AEN5780"
 ></A
 ><H3
 ><A
@@ -1030,7 +1036,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XML_MIN_NOTATION_TABLE	32</PRE
+>#define     XML_MIN_NOTATION_TABLE</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1040,33 +1046,20 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6438"
+NAME="AEN5785"
 ></A
 ><H3
 ><A
 NAME="XMLNOTATIONTABLEPTR"
 ></A
 >xmlNotationTablePtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlNotationTable *xmlNotationTablePtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6443"
+NAME="AEN5789"
 ></A
 ><H3
 ><A
@@ -1082,7 +1075,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XML_MIN_ELEMENT_TABLE	32</PRE
+>#define     XML_MIN_ELEMENT_TABLE</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1092,33 +1085,20 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6448"
+NAME="AEN5794"
 ></A
 ><H3
 ><A
 NAME="XMLELEMENTTABLEPTR"
 ></A
 >xmlElementTablePtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlElementTable *xmlElementTablePtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6453"
+NAME="AEN5798"
 ></A
 ><H3
 ><A
@@ -1134,7 +1114,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XML_MIN_ATTRIBUTE_TABLE	32</PRE
+>#define     XML_MIN_ATTRIBUTE_TABLE</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1144,33 +1124,20 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6458"
+NAME="AEN5803"
 ></A
 ><H3
 ><A
 NAME="XMLATTRIBUTETABLEPTR"
 ></A
 >xmlAttributeTablePtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlAttributeTable *xmlAttributeTablePtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6463"
+NAME="AEN5807"
 ></A
 ><H3
 ><A
@@ -1186,7 +1153,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XML_MIN_ID_TABLE	32</PRE
+>#define     XML_MIN_ID_TABLE</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1196,33 +1163,20 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6468"
+NAME="AEN5812"
 ></A
 ><H3
 ><A
 NAME="XMLIDTABLEPTR"
 ></A
 >xmlIDTablePtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlIDTable *xmlIDTablePtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6473"
+NAME="AEN5816"
 ></A
 ><H3
 ><A
@@ -1238,7 +1192,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XML_MIN_REF_TABLE	32</PRE
+>#define     XML_MIN_REF_TABLE</PRE
 ></TD
 ></TR
 ></TABLE
@@ -1248,33 +1202,20 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6478"
+NAME="AEN5821"
 ></A
 ><H3
 ><A
 NAME="XMLREFTABLEPTR"
 ></A
 >xmlRefTablePtr</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef xmlRefTable *xmlRefTablePtr;</PRE
-></TD
-></TR
-></TABLE
 ><P
 ></P
 ></DIV
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6483"
+NAME="AEN5825"
 ></A
 ><H3
 ><A
@@ -1346,7 +1287,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the validation context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1363,7 +1304,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  pointer to the DTD</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1380,7 +1321,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the entity name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1397,7 +1338,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the public identifier or NULL</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1414,7 +1355,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the system identifier or NULL</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1429,7 +1370,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->NULL if not, othervise the entity</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1439,7 +1380,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6524"
+NAME="AEN5866"
 ></A
 ><H3
 ><A
@@ -1495,7 +1436,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  A notation table</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1510,7 +1451,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new xmlNotationTablePtr or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1520,7 +1461,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6545"
+NAME="AEN5887"
 ></A
 ><H3
 ><A
@@ -1573,7 +1514,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  An notation table</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1583,7 +1524,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6561"
+NAME="AEN5903"
 ></A
 ><H3
 ><A
@@ -1640,7 +1581,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the XML buffer output</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1657,7 +1598,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  A notation table</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1667,7 +1608,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6582"
+NAME="AEN5924"
 ></A
 ><H3
 ><A
@@ -1727,7 +1668,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the subelement name or NULL</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1744,7 +1685,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the type of element content decl</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1759,7 +1700,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->NULL if not, othervise the new element content structure</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1769,7 +1710,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6608"
+NAME="AEN5950"
 ></A
 ><H3
 ><A
@@ -1825,7 +1766,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  An element content pointer.</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1840,7 +1781,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new xmlElementContentPtr or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1850,7 +1791,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6629"
+NAME="AEN5971"
 ></A
 ><H3
 ><A
@@ -1903,7 +1844,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the element content tree to free</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1913,7 +1854,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6645"
+NAME="AEN5987"
 ></A
 ><H3
 ><A
@@ -1985,7 +1926,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the validation context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2002,7 +1943,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  pointer to the DTD</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2019,7 +1960,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the entity name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2036,7 +1977,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the element type</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2053,7 +1994,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the element content tree or NULL</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2068,7 +2009,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->NULL if not, othervise the entity</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2078,7 +2019,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6686"
+NAME="AEN6028"
 ></A
 ><H3
 ><A
@@ -2134,7 +2075,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  An element table</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2149,7 +2090,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new xmlElementTablePtr or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2159,7 +2100,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6707"
+NAME="AEN6049"
 ></A
 ><H3
 ><A
@@ -2212,7 +2153,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  An element table</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2222,7 +2163,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6723"
+NAME="AEN6065"
 ></A
 ><H3
 ><A
@@ -2279,7 +2220,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the XML buffer output</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2296,7 +2237,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  An element table</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2306,7 +2247,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6744"
+NAME="AEN6086"
 ></A
 ><H3
 ><A
@@ -2362,7 +2303,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the enumeration name or NULL</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2377,8 +2318,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the xmlEnumerationPtr just created or NULL in case
-of error.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2388,7 +2328,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6765"
+NAME="AEN6107"
 ></A
 ><H3
 ><A
@@ -2441,7 +2381,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the tree to free.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2451,7 +2391,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6781"
+NAME="AEN6123"
 ></A
 ><H3
 ><A
@@ -2507,7 +2447,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the tree to copy.</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2522,8 +2462,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the xmlEnumerationPtr just created or NULL in case
-of error.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2533,7 +2472,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6802"
+NAME="AEN6144"
 ></A
 ><H3
 ><A
@@ -2617,7 +2556,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the validation context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2634,7 +2573,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  pointer to the DTD</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2651,7 +2590,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the element name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2668,7 +2607,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2685,7 +2624,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute type</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2702,7 +2641,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute default type</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2719,7 +2658,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute default value</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2736,7 +2675,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  if it's an enumeration, the associated list</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2751,7 +2690,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->NULL if not, othervise the entity</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2761,7 +2700,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6858"
+NAME="AEN6200"
 ></A
 ><H3
 ><A
@@ -2817,7 +2756,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  An attribute table</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2832,7 +2771,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the new xmlAttributeTablePtr or NULL in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2842,7 +2781,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6879"
+NAME="AEN6221"
 ></A
 ><H3
 ><A
@@ -2895,7 +2834,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  An attribute table</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2905,7 +2844,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6895"
+NAME="AEN6237"
 ></A
 ><H3
 ><A
@@ -2962,7 +2901,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the XML buffer output</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -2979,7 +2918,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  An attribute table</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -2989,7 +2928,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6916"
+NAME="AEN6258"
 ></A
 ><H3
 ><A
@@ -3057,7 +2996,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the validation context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3074,7 +3013,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  pointer to the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3091,7 +3030,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the value name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3108,7 +3047,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute holding the ID</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3123,7 +3062,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->NULL if not, othervise the new xmlIDPtr</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3133,7 +3072,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6952"
+NAME="AEN6294"
 ></A
 ><H3
 ><A
@@ -3212,7 +3151,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6972"
+NAME="AEN6314"
 ></A
 ><H3
 ><A
@@ -3265,7 +3204,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  An id table</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3275,7 +3214,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN6988"
+NAME="AEN6330"
 ></A
 ><H3
 ><A
@@ -3335,7 +3274,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  pointer to the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3352,7 +3291,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the ID value</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3367,7 +3306,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->NULL if not found, otherwise the xmlAttrPtr defining the ID</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3377,7 +3316,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7014"
+NAME="AEN6356"
 ></A
 ><H3
 ><A
@@ -3440,7 +3379,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3457,7 +3396,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the element carrying the attribute</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3474,7 +3413,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3489,7 +3428,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->0 or 1 depending on the lookup result</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3499,7 +3438,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7044"
+NAME="AEN6386"
 ></A
 ><H3
 ><A
@@ -3567,7 +3506,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the validation context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3584,7 +3523,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  pointer to the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3601,7 +3540,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the value name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3618,7 +3557,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute holding the Ref</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3633,7 +3572,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->NULL if not, othervise the new xmlRefPtr</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3643,7 +3582,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7080"
+NAME="AEN6422"
 ></A
 ><H3
 ><A
@@ -3722,7 +3661,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7100"
+NAME="AEN6442"
 ></A
 ><H3
 ><A
@@ -3775,7 +3714,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  An ref table</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3785,7 +3724,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7116"
+NAME="AEN6458"
 ></A
 ><H3
 ><A
@@ -3848,7 +3787,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3865,7 +3804,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the element carrying the attribute</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3882,7 +3821,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3897,7 +3836,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->0 or 1 depending on the lookup result</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -3907,7 +3846,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7146"
+NAME="AEN6488"
 ></A
 ><H3
 ><A
@@ -3968,7 +3907,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the validation context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -3985,7 +3924,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a document instance</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4000,7 +3939,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->1 if valid or 0 otherwise</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4010,7 +3949,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7171"
+NAME="AEN6513"
 ></A
 ><H3
 ><A
@@ -4076,7 +4015,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the validation context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4093,7 +4032,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a document instance</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4110,7 +4049,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an element definition</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4125,7 +4064,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->1 if valid or 0 otherwise</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4135,7 +4074,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7201"
+NAME="AEN6543"
 ></A
 ><H3
 ><A
@@ -4203,7 +4142,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the validation context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4220,7 +4159,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a document instance</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4237,7 +4176,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an attribute definition</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4252,7 +4191,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->1 if valid or 0 otherwise</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4262,7 +4201,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7232"
+NAME="AEN6574"
 ></A
 ><H3
 ><A
@@ -4334,7 +4273,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an attribute type</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4351,7 +4290,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an attribute value</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4366,7 +4305,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->1 if valid or 0 otherwise</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4376,7 +4315,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7261"
+NAME="AEN6603"
 ></A
 ><H3
 ><A
@@ -4441,7 +4380,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the validation context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4458,7 +4397,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a document instance</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4475,7 +4414,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a notation definition</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4490,7 +4429,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->1 if valid or 0 otherwise</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4500,7 +4439,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7291"
+NAME="AEN6633"
 ></A
 ><H3
 ><A
@@ -4532,7 +4471,7 @@
 ></TR
 ></TABLE
 ><P
->Try to validate the document against the dtd instance</P
+>Try to validate the dtd instance</P
 ><P
 >basically it does check all the definitions in the DtD.</P
 ><P
@@ -4563,7 +4502,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the validation context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4580,7 +4519,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a document instance</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4597,7 +4536,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a dtd instance</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4612,7 +4551,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->1 if valid or 0 otherwise</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4622,7 +4561,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7322"
+NAME="AEN6664"
 ></A
 ><H3
 ><A
@@ -4683,7 +4622,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the validation context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4700,7 +4639,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a document instance</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4715,7 +4654,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->1 if valid or 0 otherwise</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4725,7 +4664,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7348"
+NAME="AEN6690"
 ></A
 ><H3
 ><A
@@ -4786,7 +4725,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the validation context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4803,7 +4742,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a document instance</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4820,7 +4759,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an element instance</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4835,7 +4774,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->1 if valid or 0 otherwise</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4845,7 +4784,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7378"
+NAME="AEN6720"
 ></A
 ><H3
 ><A
@@ -4916,7 +4855,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the validation context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4933,7 +4872,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a document instance</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4950,7 +4889,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an element instance</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -4965,7 +4904,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->1 if valid or 0 otherwise</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -4975,7 +4914,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7410"
+NAME="AEN6752"
 ></A
 ><H3
 ><A
@@ -5056,7 +4995,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the validation context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5073,7 +5012,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a document instance</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5090,7 +5029,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an element instance</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5107,7 +5046,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an attribute instance</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5124,7 +5063,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute value (without entities processing)</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5139,7 +5078,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->1 if valid or 0 otherwise</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5149,7 +5088,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7451"
+NAME="AEN6793"
 ></A
 ><H3
 ><A
@@ -5209,7 +5148,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the validation context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5226,7 +5165,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a document instance</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5241,7 +5180,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->1 if valid or 0 otherwise</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5251,7 +5190,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7477"
+NAME="AEN6819"
 ></A
 ><H3
 ><A
@@ -5313,7 +5252,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the validation context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5330,7 +5269,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5347,7 +5286,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the notation name to check</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5362,7 +5301,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->1 if valid or 0 otherwise</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5372,7 +5311,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7507"
+NAME="AEN6849"
 ></A
 ><H3
 ><A
@@ -5430,7 +5369,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5447,7 +5386,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the element name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5462,7 +5401,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->0 if no, 1 if yes, and -1 if no element description is available</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5472,7 +5411,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7532"
+NAME="AEN6874"
 ></A
 ><H3
 ><A
@@ -5537,7 +5476,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a pointer to the DtD to search</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5554,7 +5493,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the element name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5571,7 +5510,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the attribute name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5586,7 +5525,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the xmlAttributePtr if found or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5596,7 +5535,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7563"
+NAME="AEN6905"
 ></A
 ><H3
 ><A
@@ -5656,7 +5595,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a pointer to the DtD to search</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5673,7 +5612,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the notation name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5688,7 +5627,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the xmlNotationPtr if found or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5698,7 +5637,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7589"
+NAME="AEN6931"
 ></A
 ><H3
 ><A
@@ -5758,7 +5697,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a pointer to the DtD to search</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5775,7 +5714,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the element name</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5790,7 +5729,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the xmlElementPtr if found or NULL</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5800,7 +5739,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7615"
+NAME="AEN6957"
 ></A
 ><H3
 ><A
@@ -5883,7 +5822,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an element to insert after</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5900,7 +5839,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an element to insert next</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5917,7 +5856,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an array to store the list of child names</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5934,7 +5873,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the size of the array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -5949,14 +5888,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the number of element in the list, or -1 in case of error. If
-the function returns the value <TT
-CLASS="PARAMETER"
-><I
->max</I
-></TT
-> the caller is invited to grow the
-receiving array and retry.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -5966,7 +5898,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7653"
+NAME="AEN6994"
 ></A
 ><H3
 ><A
@@ -6025,7 +5957,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an element content tree</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6042,7 +5974,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an array to store the list of child names</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6059,7 +5991,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a pointer to the number of element in the list</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6076,7 +6008,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the size of the array</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -6091,7 +6023,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the number of element in the list, or -1 in case of error.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
diff --git a/doc/html/gnome-xml-xml-error.html b/doc/html/gnome-xml-xml-error.html
index 66839b5..2b3820c 100644
--- a/doc/html/gnome-xml-xml-error.html
+++ b/doc/html/gnome-xml-xml-error.html
@@ -4,7 +4,7 @@
 >xml-error</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,6 +20,9 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -111,19 +114,22 @@
 ></TABLE
 ></DIV
 ><H1
->xml-error</H1
+><A
+NAME="GNOME-XML-XML-ERROR"
+>xml-error</A
+></H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN7691"
+NAME="AEN7032"
 ></A
 ><H2
 >Name</H2
->xml-error &#8212; </DIV
+>xml-error&nbsp;--&nbsp;</DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN7694"
+NAME="AEN7035"
 ></A
 ><H2
 >Synopsis</H2
@@ -187,7 +193,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7706"
+NAME="AEN7047"
 ></A
 ><H2
 >Description</H2
@@ -197,14 +203,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN7709"
+NAME="AEN7050"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7711"
+NAME="AEN7052"
 ></A
 ><H3
 ><A
@@ -341,7 +347,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7716"
+NAME="AEN7057"
 ></A
 ><H3
 ><A
@@ -394,7 +400,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -411,7 +417,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the message to display/transmit</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -428,7 +434,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  extra parameters for the message display</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -438,7 +444,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7739"
+NAME="AEN7080"
 ></A
 ><H3
 ><A
@@ -491,7 +497,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -508,7 +514,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the message to display/transmit</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -525,7 +531,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  extra parameters for the message display</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -535,7 +541,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7762"
+NAME="AEN7103"
 ></A
 ><H3
 ><A
@@ -588,7 +594,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -605,7 +611,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the message to display/transmit</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -622,7 +628,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  extra parameters for the message display</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -632,7 +638,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7785"
+NAME="AEN7126"
 ></A
 ><H3
 ><A
@@ -685,7 +691,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an XML parser context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -702,7 +708,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the message to display/transmit</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -719,7 +725,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  extra parameters for the message display</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -729,7 +735,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7808"
+NAME="AEN7149"
 ></A
 ><H3
 ><A
@@ -782,7 +788,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an xmlParserInputPtr input</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -792,7 +798,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN7824"
+NAME="AEN7165"
 ></A
 ><H3
 ><A
@@ -845,7 +851,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an xmlParserInputPtr input</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
diff --git a/doc/html/gnome-xml-xmlmemory.html b/doc/html/gnome-xml-xmlmemory.html
index f949091..cefaf81 100644
--- a/doc/html/gnome-xml-xmlmemory.html
+++ b/doc/html/gnome-xml-xmlmemory.html
@@ -4,7 +4,7 @@
 >xmlmemory</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -17,6 +17,9 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -99,19 +102,22 @@
 ></TABLE
 ></DIV
 ><H1
->xmlmemory</H1
+><A
+NAME="GNOME-XML-XMLMEMORY"
+>xmlmemory</A
+></H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN11788"
+NAME="AEN10660"
 ></A
 ><H2
 >Name</H2
->xmlmemory &#8212; </DIV
+>xmlmemory&nbsp;--&nbsp;</DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN11791"
+NAME="AEN10663"
 ></A
 ><H2
 >Synopsis</H2
@@ -172,14 +178,6 @@
 HREF="FILE"
 >FILE</GTKDOCLINK
 > *fp);
-void        <A
-HREF="gnome-xml-xmlmemory.html#XMLMEMSHOW"
->xmlMemShow</A
->                      (<GTKDOCLINK
-HREF="FILE"
->FILE</GTKDOCLINK
-> *fp,
-                                             int nr);
 #define     <A
 HREF="gnome-xml-xmlmemory.html#DEBUG-MEMORY-LOCATION"
 >DEBUG_MEMORY_LOCATION</A
@@ -218,7 +216,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN11814"
+NAME="AEN10684"
 ></A
 ><H2
 >Description</H2
@@ -228,14 +226,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN11817"
+NAME="AEN10687"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11819"
+NAME="AEN10689"
 ></A
 ><H3
 ><A
@@ -251,7 +249,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define NO_DEBUG_MEMORY</PRE
+>#define     NO_DEBUG_MEMORY</PRE
 ></TD
 ></TR
 ></TABLE
@@ -261,7 +259,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11824"
+NAME="AEN10694"
 ></A
 ><H3
 ><A
@@ -324,7 +322,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11840"
+NAME="AEN10710"
 ></A
 ><H3
 ><A
@@ -390,7 +388,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11857"
+NAME="AEN10727"
 ></A
 ><H3
 ><A
@@ -474,7 +472,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11878"
+NAME="AEN10748"
 ></A
 ><H3
 ><A
@@ -542,7 +540,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new string or NULL if allocation error occured.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -552,7 +550,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11898"
+NAME="AEN10768"
 ></A
 ><H3
 ><A
@@ -600,7 +598,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->0 on success</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -610,7 +608,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11913"
+NAME="AEN10783"
 ></A
 ><H3
 ><A
@@ -658,7 +656,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->an int representing the amount of memory allocated.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -668,7 +666,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11928"
+NAME="AEN10798"
 ></A
 ><H3
 ><A
@@ -696,7 +694,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11934"
+NAME="AEN10804"
 ></A
 ><H3
 ><A
@@ -749,8 +747,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  a FILE descriptor used as the output file, if NULL, the result is
-written to the file .memorylist</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -760,94 +757,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11950"
-></A
-><H3
-><A
-NAME="XMLMEMSHOW"
-></A
->xmlMemShow ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void        xmlMemShow                      (<GTKDOCLINK
-HREF="FILE"
->FILE</GTKDOCLINK
-> *fp,
-                                             int nr);</PRE
-></TD
-></TR
-></TABLE
-><P
->show a show display of the memory allocated, and dump
-the <TT
-CLASS="PARAMETER"
-><I
->nr</I
-></TT
-> last allocated areas which were not freed</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->fp</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  a FILE descriptor used as the output file</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->nr</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  number of entries to dump</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN11971"
+NAME="AEN10820"
 ></A
 ><H3
 ><A
@@ -863,7 +773,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define DEBUG_MEMORY_LOCATION</PRE
+>#define     DEBUG_MEMORY_LOCATION</PRE
 ></TD
 ></TR
 ></TABLE
@@ -873,7 +783,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11976"
+NAME="AEN10825"
 ></A
 ><H3
 ><A
@@ -889,7 +799,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define DEBUG_MEMORY</PRE
+>#define     DEBUG_MEMORY</PRE
 ></TD
 ></TR
 ></TABLE
@@ -899,7 +809,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11981"
+NAME="AEN10830"
 ></A
 ><H3
 ><A
@@ -915,7 +825,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define MEM_LIST /* keep a list of all the allocated memory blocks */</PRE
+>#define     MEM_LIST</PRE
 ></TD
 ></TR
 ></TABLE
@@ -925,7 +835,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN11986"
+NAME="AEN10835"
 ></A
 ><H3
 ><A
@@ -980,7 +890,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an int specifying the size in byte to allocate.</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -997,13 +907,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the file name or NULL
-  <TT
-CLASS="PARAMETER"
-><I
->file</I
-></TT
->:  the line number</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1030,7 +934,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12011"
+NAME="AEN10859"
 ></A
 ><H3
 ><A
@@ -1086,7 +990,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the initial memory block pointer</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1103,7 +1007,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  an int specifying the size in byte to allocate.</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1120,7 +1024,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the file name or NULL</TD
+>  the line number</TD
 ></TR
 ><TR
 ><TD
@@ -1147,7 +1051,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN12039"
+NAME="AEN10887"
 ></A
 ><H3
 ><A
@@ -1219,7 +1123,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the file name or NULL</TD
+>  the line number</TD
 ></TR
 ><TR
 ><TD
@@ -1251,7 +1155,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->a pointer to the new string or NULL if allocation error occured.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
diff --git a/doc/html/gnome-xml-xpath.html b/doc/html/gnome-xml-xpath.html
index b6c4f4e..a9c46b6 100644
--- a/doc/html/gnome-xml-xpath.html
+++ b/doc/html/gnome-xml-xpath.html
@@ -4,7 +4,7 @@
 >xpath</TITLE
 ><META
 NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.33"><LINK
+CONTENT="Modular DocBook HTML Stylesheet Version 1.44"><LINK
 REL="HOME"
 TITLE="Gnome XML Library Reference Manual"
 HREF="book1.html"><LINK
@@ -20,6 +20,9 @@
 ><BODY
 BGCOLOR="#FFFFFF"
 TEXT="#000000"
+LINK="#0000FF"
+VLINK="#840084"
+ALINK="#0000FF"
 ><DIV
 CLASS="NAVHEADER"
 ><TABLE
@@ -111,19 +114,22 @@
 ></TABLE
 ></DIV
 ><H1
->xpath</H1
+><A
+NAME="GNOME-XML-XPATH"
+>xpath</A
+></H1
 ><DIV
 CLASS="REFNAMEDIV"
 ><A
-NAME="AEN8441"
+NAME="AEN7611"
 ></A
 ><H2
 >Name</H2
->xpath &#8212; </DIV
+>xpath&nbsp;--&nbsp;</DIV
 ><DIV
 CLASS="REFSYNOPSISDIV"
 ><A
-NAME="AEN8444"
+NAME="AEN7614"
 ></A
 ><H2
 >Synopsis</H2
@@ -251,31 +257,7 @@
                                              <GTKDOCLINK
 HREF="XMLXPATHCONTEXTPTR"
 >xmlXPathContextPtr</GTKDOCLINK
-> ctxt);
-<GTKDOCLINK
-HREF="XMLNODESETPTR"
->xmlNodeSetPtr</GTKDOCLINK
-> <A
-HREF="gnome-xml-xpath.html#XMLXPATHNODESETCREATE"
->xmlXPathNodeSetCreate</A
->         (<A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> val);
-void        <A
-HREF="gnome-xml-xpath.html#XMLXPATHFREENODESETLIST"
->xmlXPathFreeNodeSetList</A
->         (<GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
-> obj);
-void        <A
-HREF="gnome-xml-xpath.html#XMLXPATHFREENODESET"
->xmlXPathFreeNodeSet</A
->             (<GTKDOCLINK
-HREF="XMLNODESETPTR"
->xmlNodeSetPtr</GTKDOCLINK
-> obj);</PRE
+> ctxt);</PRE
 ></TD
 ></TR
 ></TABLE
@@ -283,7 +265,7 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN8485"
+NAME="AEN7648"
 ></A
 ><H2
 >Description</H2
@@ -293,14 +275,14 @@
 ><DIV
 CLASS="REFSECT1"
 ><A
-NAME="AEN8488"
+NAME="AEN7651"
 ></A
 ><H2
 >Details</H2
 ><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8490"
+NAME="AEN7653"
 ></A
 ><H3
 ><A
@@ -316,7 +298,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XPATH_UNDEFINED	0</PRE
+>#define     XPATH_UNDEFINED</PRE
 ></TD
 ></TR
 ></TABLE
@@ -326,7 +308,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8495"
+NAME="AEN7658"
 ></A
 ><H3
 ><A
@@ -342,7 +324,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XPATH_NODESET	1</PRE
+>#define     XPATH_NODESET</PRE
 ></TD
 ></TR
 ></TABLE
@@ -352,7 +334,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8500"
+NAME="AEN7663"
 ></A
 ><H3
 ><A
@@ -368,7 +350,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XPATH_BOOLEAN	2</PRE
+>#define     XPATH_BOOLEAN</PRE
 ></TD
 ></TR
 ></TABLE
@@ -378,7 +360,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8505"
+NAME="AEN7668"
 ></A
 ><H3
 ><A
@@ -394,7 +376,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XPATH_NUMBER	3</PRE
+>#define     XPATH_NUMBER</PRE
 ></TD
 ></TR
 ></TABLE
@@ -404,7 +386,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8510"
+NAME="AEN7673"
 ></A
 ><H3
 ><A
@@ -420,7 +402,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XPATH_STRING	4</PRE
+>#define     XPATH_STRING</PRE
 ></TD
 ></TR
 ></TABLE
@@ -430,7 +412,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8515"
+NAME="AEN7678"
 ></A
 ><H3
 ><A
@@ -446,7 +428,7 @@
 ><TD
 ><PRE
 CLASS="PROGRAMLISTING"
->#define XPATH_USERS	5</PRE
+>#define     XPATH_USERS</PRE
 ></TD
 ></TR
 ></TABLE
@@ -456,7 +438,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8520"
+NAME="AEN7683"
 ></A
 ><H3
 ><A
@@ -550,7 +532,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8543"
+NAME="AEN7706"
 ></A
 ><H3
 ><A
@@ -629,7 +611,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8562"
+NAME="AEN7725"
 ></A
 ><H3
 ><A
@@ -729,7 +711,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8587"
+NAME="AEN7750"
 ></A
 ><H3
 ><A
@@ -808,7 +790,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8606"
+NAME="AEN7769"
 ></A
 ><H3
 ><A
@@ -864,7 +846,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the XML document</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -879,7 +861,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the xmlXPathContext just allocated.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -889,7 +871,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8627"
+NAME="AEN7790"
 ></A
 ><H3
 ><A
@@ -942,7 +924,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the context to free</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -952,7 +934,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8643"
+NAME="AEN7806"
 ></A
 ><H3
 ><A
@@ -1012,7 +994,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the XPath expression</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1029,7 +1011,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the XPath context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1044,8 +1026,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the xmlXPathObjectPtr resulting from the eveluation or NULL.
-the caller has to free the object.</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1055,7 +1036,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8669"
+NAME="AEN7832"
 ></A
 ><H3
 ><A
@@ -1108,7 +1089,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the object to free</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
@@ -1118,7 +1099,7 @@
 ><HR><DIV
 CLASS="REFSECT2"
 ><A
-NAME="AEN8685"
+NAME="AEN7848"
 ></A
 ><H3
 ><A
@@ -1178,7 +1159,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the XPath expression</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1195,7 +1176,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->  the XPath context</TD
+>&nbsp;</TD
 ></TR
 ><TR
 ><TD
@@ -1210,229 +1191,7 @@
 WIDTH="80%"
 ALIGN="LEFT"
 VALIGN="TOP"
->the xmlXPathObjectPtr resulting from the evaluation or NULL.
-the caller has to free the object.</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8711"
-></A
-><H3
-><A
-NAME="XMLXPATHNODESETCREATE"
-></A
->xmlXPathNodeSetCreate ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><GTKDOCLINK
-HREF="XMLNODESETPTR"
->xmlNodeSetPtr</GTKDOCLINK
-> xmlXPathNodeSetCreate         (<A
-HREF="gnome-xml-tree.html#XMLNODEPTR"
->xmlNodePtr</A
-> val);</PRE
-></TD
-></TR
-></TABLE
-><P
->Create a new xmlNodeSetPtr of type double and of value <TT
-CLASS="PARAMETER"
-><I
->val</I
-></TT
-></P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->val</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  an initial xmlNodePtr, or NULL</TD
-></TR
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><I
-CLASS="EMPHASIS"
->Returns</I
-> :</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->the newly created object.</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8733"
-></A
-><H3
-><A
-NAME="XMLXPATHFREENODESETLIST"
-></A
->xmlXPathFreeNodeSetList ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void        xmlXPathFreeNodeSetList         (<GTKDOCLINK
-HREF="XMLXPATHOBJECTPTR"
->xmlXPathObjectPtr</GTKDOCLINK
-> obj);</PRE
-></TD
-></TR
-></TABLE
-><P
->Free up the xmlXPathObjectPtr <TT
-CLASS="PARAMETER"
-><I
->obj</I
-></TT
-> but don't deallocate the objects in
-the list contrary to <A
-HREF="gnome-xml-xpath.html#XMLXPATHFREEOBJECT"
->xmlXPathFreeObject</A
->().</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->obj</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  an existing NodeSetList object</TD
-></TR
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><HR><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN8751"
-></A
-><H3
-><A
-NAME="XMLXPATHFREENODESET"
-></A
->xmlXPathFreeNodeSet ()</H3
-><TABLE
-BORDER="0"
-BGCOLOR="#D6E8FF"
-WIDTH="100%"
-CELLPADDING="6"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void        xmlXPathFreeNodeSet             (<GTKDOCLINK
-HREF="XMLNODESETPTR"
->xmlNodeSetPtr</GTKDOCLINK
-> obj);</PRE
-></TD
-></TR
-></TABLE
-><P
->Free the NodeSet compound (not the actual nodes !).</P
-><P
-></P
-><DIV
-CLASS="INFORMALTABLE"
-><P
-></P
-><TABLE
-BORDER="0"
-WIDTH="100%"
-BGCOLOR="#FFD0D0"
-CELLSPACING="0"
-CELLPADDING="4"
-CLASS="CALSTABLE"
-><TR
-><TD
-WIDTH="20%"
-ALIGN="RIGHT"
-VALIGN="TOP"
-><TT
-CLASS="PARAMETER"
-><I
->obj</I
-></TT
->&nbsp;:</TD
-><TD
-WIDTH="80%"
-ALIGN="LEFT"
-VALIGN="TOP"
->  the xmlNodeSetPtr to free</TD
+>&nbsp;</TD
 ></TR
 ></TABLE
 ><P
diff --git a/doc/html/index.sgml b/doc/html/index.sgml
index 673f1b5..2814563 100644
--- a/doc/html/index.sgml
+++ b/doc/html/index.sgml
@@ -2,6 +2,7 @@
 <ANCHOR id ="XML-DEFAULT-VERSION" href="gnome-xml/gnome-xml-parser.html#XML-DEFAULT-VERSION">
 <ANCHOR id ="XMLPARSERINPUTDEALLOCATE" href="gnome-xml/gnome-xml-parser.html#XMLPARSERINPUTDEALLOCATE">
 <ANCHOR id ="XMLPARSERINPUTPTR" href="gnome-xml/gnome-xml-parser.html#XMLPARSERINPUTPTR">
+<ANCHOR id ="XMLEXTERNALENTITYLOADER" href="gnome-xml/gnome-xml-parser.html#XMLEXTERNALENTITYLOADER">
 <ANCHOR id ="XMLPARSERNODEINFO" href="gnome-xml/gnome-xml-parser.html#XMLPARSERNODEINFO">
 <ANCHOR id ="XMLPARSERNODEINFOSEQ" href="gnome-xml/gnome-xml-parser.html#XMLPARSERNODEINFOSEQ">
 <ANCHOR id ="XMLPARSERNODEINFOSEQPTR" href="gnome-xml/gnome-xml-parser.html#XMLPARSERNODEINFOSEQPTR">
@@ -38,13 +39,11 @@
 <ANCHOR id ="HASINTERNALSUBSETSAXFUNC" href="gnome-xml/gnome-xml-parser.html#HASINTERNALSUBSETSAXFUNC">
 <ANCHOR id ="HASEXTERNALSUBSETSAXFUNC" href="gnome-xml/gnome-xml-parser.html#HASEXTERNALSUBSETSAXFUNC">
 <ANCHOR id ="XMLSAXHANDLERPTR" href="gnome-xml/gnome-xml-parser.html#XMLSAXHANDLERPTR">
-<ANCHOR id ="XMLEXTERNALENTITYLOADER" href="gnome-xml/gnome-xml-parser.html#XMLEXTERNALENTITYLOADER">
 <ANCHOR id ="XMLPARSERVERSION" href="gnome-xml/gnome-xml-parser.html#XMLPARSERVERSION">
 <ANCHOR id ="XMLDEFAULTSAXLOCATOR" href="gnome-xml/gnome-xml-parser.html#XMLDEFAULTSAXLOCATOR">
 <ANCHOR id ="XMLDEFAULTSAXHANDLER" href="gnome-xml/gnome-xml-parser.html#XMLDEFAULTSAXHANDLER">
 <ANCHOR id ="HTMLDEFAULTSAXHANDLER" href="gnome-xml/gnome-xml-parser.html#HTMLDEFAULTSAXHANDLER">
 <ANCHOR id ="XMLSUBSTITUTEENTITIESDEFAULTVALUE" href="gnome-xml/gnome-xml-parser.html#XMLSUBSTITUTEENTITIESDEFAULTVALUE">
-<ANCHOR id ="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">
@@ -72,15 +71,11 @@
 <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 ="XMLDEFAULTSAXHANDLERINIT" href="gnome-xml/gnome-xml-parser.html#XMLDEFAULTSAXHANDLERINIT">
-<ANCHOR id ="HTMLDEFAULTSAXHANDLERINIT" href="gnome-xml/gnome-xml-parser.html#HTMLDEFAULTSAXHANDLERINIT">
 <ANCHOR id ="XMLINITPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLINITPARSERCTXT">
 <ANCHOR id ="XMLCLEARPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLCLEARPARSERCTXT">
-<ANCHOR id ="XMLFREEPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLFREEPARSERCTXT">
 <ANCHOR id ="XMLSETUPPARSERFORBUFFER" href="gnome-xml/gnome-xml-parser.html#XMLSETUPPARSERFORBUFFER">
-<ANCHOR id ="XMLCREATEDOCPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLCREATEDOCPARSERCTXT">
-<ANCHOR id ="XMLCREATEPUSHPARSERCTXT" href="gnome-xml/gnome-xml-parser.html#XMLCREATEPUSHPARSERCTXT">
-<ANCHOR id ="XMLPARSECHUNK" href="gnome-xml/gnome-xml-parser.html#XMLPARSECHUNK">
+<ANCHOR id ="XMLDEFAULTSAXHANDLERINIT" href="gnome-xml/gnome-xml-parser.html#XMLDEFAULTSAXHANDLERINIT">
+<ANCHOR id ="HTMLDEFAULTSAXHANDLERINIT" href="gnome-xml/gnome-xml-parser.html#HTMLDEFAULTSAXHANDLERINIT">
 <ANCHOR id ="XMLPARSERFINDNODEINFO" href="gnome-xml/gnome-xml-parser.html#XMLPARSERFINDNODEINFO">
 <ANCHOR id ="XMLINITNODEINFOSEQ" href="gnome-xml/gnome-xml-parser.html#XMLINITNODEINFOSEQ">
 <ANCHOR id ="XMLCLEARNODEINFOSEQ" href="gnome-xml/gnome-xml-parser.html#XMLCLEARNODEINFOSEQ">
@@ -147,19 +142,16 @@
 <ANCHOR id ="XMLATTRPTR" href="gnome-xml/gnome-xml-tree.html#XMLATTRPTR">
 <ANCHOR id ="XMLIDPTR" href="gnome-xml/gnome-xml-tree.html#XMLIDPTR">
 <ANCHOR id ="XMLREFPTR" href="gnome-xml/gnome-xml-tree.html#XMLREFPTR">
-<ANCHOR id ="XMLBUFFERALLOCATIONSCHEME" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERALLOCATIONSCHEME">
-<ANCHOR id ="XMLBUFFER" href="gnome-xml/gnome-xml-tree.html#XMLBUFFER">
-<ANCHOR id ="XMLBUFFERPTR" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERPTR">
 <ANCHOR id ="XMLNODE" href="gnome-xml/gnome-xml-tree.html#XMLNODE">
 <ANCHOR id ="XMLNODEPTR" href="gnome-xml/gnome-xml-tree.html#XMLNODEPTR">
 <ANCHOR id ="XMLDOC" href="gnome-xml/gnome-xml-tree.html#XMLDOC">
 <ANCHOR id ="XMLDOCPTR" href="gnome-xml/gnome-xml-tree.html#XMLDOCPTR">
+<ANCHOR id ="XMLBUFFER" href="gnome-xml/gnome-xml-tree.html#XMLBUFFER">
+<ANCHOR id ="XMLBUFFERPTR" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERPTR">
 <ANCHOR id ="BASEDTD" href="gnome-xml/gnome-xml-tree.html#BASEDTD">
 <ANCHOR id ="OLDXMLWDCOMPATIBILITY" href="gnome-xml/gnome-xml-tree.html#OLDXMLWDCOMPATIBILITY">
 <ANCHOR id ="XMLINDENTTREEOUTPUT" href="gnome-xml/gnome-xml-tree.html#XMLINDENTTREEOUTPUT">
-<ANCHOR id ="XMLBUFFERALLOCSCHEME" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERALLOCSCHEME">
 <ANCHOR id ="XMLBUFFERCREATE" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERCREATE">
-<ANCHOR id ="XMLBUFFERCREATESIZE" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERCREATESIZE">
 <ANCHOR id ="XMLBUFFERFREE" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERFREE">
 <ANCHOR id ="XMLBUFFERDUMP" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERDUMP">
 <ANCHOR id ="XMLBUFFERADD" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERADD">
@@ -167,10 +159,6 @@
 <ANCHOR id ="XMLBUFFERCCAT" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERCCAT">
 <ANCHOR id ="XMLBUFFERSHRINK" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERSHRINK">
 <ANCHOR id ="XMLBUFFEREMPTY" href="gnome-xml/gnome-xml-tree.html#XMLBUFFEREMPTY">
-<ANCHOR id ="XMLBUFFERCONTENT" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERCONTENT">
-<ANCHOR id ="XMLBUFFERUSE" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERUSE">
-<ANCHOR id ="XMLBUFFERSETALLOCATIONSCHEME" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERSETALLOCATIONSCHEME">
-<ANCHOR id ="XMLBUFFERLENGTH" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERLENGTH">
 <ANCHOR id ="XMLCREATEINTSUBSET" href="gnome-xml/gnome-xml-tree.html#XMLCREATEINTSUBSET">
 <ANCHOR id ="XMLNEWDTD" href="gnome-xml/gnome-xml-tree.html#XMLNEWDTD">
 <ANCHOR id ="XMLFREEDTD" href="gnome-xml/gnome-xml-tree.html#XMLFREEDTD">
@@ -189,10 +177,8 @@
 <ANCHOR id ="XMLCOPYDTD" href="gnome-xml/gnome-xml-tree.html#XMLCOPYDTD">
 <ANCHOR id ="XMLCOPYDOC" href="gnome-xml/gnome-xml-tree.html#XMLCOPYDOC">
 <ANCHOR id ="XMLNEWDOCNODE" href="gnome-xml/gnome-xml-tree.html#XMLNEWDOCNODE">
-<ANCHOR id ="XMLNEWDOCRAWNODE" href="gnome-xml/gnome-xml-tree.html#XMLNEWDOCRAWNODE">
 <ANCHOR id ="XMLNEWNODE" href="gnome-xml/gnome-xml-tree.html#XMLNEWNODE">
 <ANCHOR id ="XMLNEWCHILD" href="gnome-xml/gnome-xml-tree.html#XMLNEWCHILD">
-<ANCHOR id ="XMLNEWTEXTCHILD" href="gnome-xml/gnome-xml-tree.html#XMLNEWTEXTCHILD">
 <ANCHOR id ="XMLNEWDOCTEXT" href="gnome-xml/gnome-xml-tree.html#XMLNEWDOCTEXT">
 <ANCHOR id ="XMLNEWTEXT" href="gnome-xml/gnome-xml-tree.html#XMLNEWTEXT">
 <ANCHOR id ="XMLNEWPI" href="gnome-xml/gnome-xml-tree.html#XMLNEWPI">
@@ -204,22 +190,15 @@
 <ANCHOR id ="XMLNEWREFERENCE" href="gnome-xml/gnome-xml-tree.html#XMLNEWREFERENCE">
 <ANCHOR id ="XMLCOPYNODE" href="gnome-xml/gnome-xml-tree.html#XMLCOPYNODE">
 <ANCHOR id ="XMLCOPYNODELIST" href="gnome-xml/gnome-xml-tree.html#XMLCOPYNODELIST">
-<ANCHOR id ="XMLDOCGETROOTELEMENT" href="gnome-xml/gnome-xml-tree.html#XMLDOCGETROOTELEMENT">
 <ANCHOR id ="XMLGETLASTCHILD" href="gnome-xml/gnome-xml-tree.html#XMLGETLASTCHILD">
 <ANCHOR id ="XMLNODEISTEXT" href="gnome-xml/gnome-xml-tree.html#XMLNODEISTEXT">
-<ANCHOR id ="XMLDOCSETROOTELEMENT" href="gnome-xml/gnome-xml-tree.html#XMLDOCSETROOTELEMENT">
-<ANCHOR id ="XMLNODESETNAME" href="gnome-xml/gnome-xml-tree.html#XMLNODESETNAME">
 <ANCHOR id ="XMLADDCHILD" href="gnome-xml/gnome-xml-tree.html#XMLADDCHILD">
-<ANCHOR id ="XMLREPLACENODE" href="gnome-xml/gnome-xml-tree.html#XMLREPLACENODE">
 <ANCHOR id ="XMLADDSIBLING" href="gnome-xml/gnome-xml-tree.html#XMLADDSIBLING">
-<ANCHOR id ="XMLADDPREVSIBLING" href="gnome-xml/gnome-xml-tree.html#XMLADDPREVSIBLING">
-<ANCHOR id ="XMLADDNEXTSIBLING" href="gnome-xml/gnome-xml-tree.html#XMLADDNEXTSIBLING">
 <ANCHOR id ="XMLUNLINKNODE" href="gnome-xml/gnome-xml-tree.html#XMLUNLINKNODE">
 <ANCHOR id ="XMLTEXTMERGE" href="gnome-xml/gnome-xml-tree.html#XMLTEXTMERGE">
 <ANCHOR id ="XMLTEXTCONCAT" href="gnome-xml/gnome-xml-tree.html#XMLTEXTCONCAT">
 <ANCHOR id ="XMLFREENODELIST" href="gnome-xml/gnome-xml-tree.html#XMLFREENODELIST">
 <ANCHOR id ="XMLFREENODE" href="gnome-xml/gnome-xml-tree.html#XMLFREENODE">
-<ANCHOR id ="XMLREMOVEPROP" href="gnome-xml/gnome-xml-tree.html#XMLREMOVEPROP">
 <ANCHOR id ="XMLSEARCHNS" href="gnome-xml/gnome-xml-tree.html#XMLSEARCHNS">
 <ANCHOR id ="XMLSEARCHNSBYHREF" href="gnome-xml/gnome-xml-tree.html#XMLSEARCHNSBYHREF">
 <ANCHOR id ="XMLGETNSLIST" href="gnome-xml/gnome-xml-tree.html#XMLGETNSLIST">
@@ -228,7 +207,6 @@
 <ANCHOR id ="XMLCOPYNAMESPACELIST" href="gnome-xml/gnome-xml-tree.html#XMLCOPYNAMESPACELIST">
 <ANCHOR id ="XMLSETPROP" href="gnome-xml/gnome-xml-tree.html#XMLSETPROP">
 <ANCHOR id ="XMLGETPROP" href="gnome-xml/gnome-xml-tree.html#XMLGETPROP">
-<ANCHOR id ="XMLGETNSPROP" href="gnome-xml/gnome-xml-tree.html#XMLGETNSPROP">
 <ANCHOR id ="XMLSTRINGGETNODELIST" href="gnome-xml/gnome-xml-tree.html#XMLSTRINGGETNODELIST">
 <ANCHOR id ="XMLSTRINGLENGETNODELIST" href="gnome-xml/gnome-xml-tree.html#XMLSTRINGLENGETNODELIST">
 <ANCHOR id ="XMLNODELISTGETSTRING" href="gnome-xml/gnome-xml-tree.html#XMLNODELISTGETSTRING">
@@ -239,14 +217,13 @@
 <ANCHOR id ="XMLNODEGETCONTENT" href="gnome-xml/gnome-xml-tree.html#XMLNODEGETCONTENT">
 <ANCHOR id ="XMLNODEGETLANG" href="gnome-xml/gnome-xml-tree.html#XMLNODEGETLANG">
 <ANCHOR id ="XMLNODESETLANG" href="gnome-xml/gnome-xml-tree.html#XMLNODESETLANG">
-<ANCHOR id ="XMLNODEGETBASE" href="gnome-xml/gnome-xml-tree.html#XMLNODEGETBASE">
+<ANCHOR id ="XMLREMOVEPROP" href="gnome-xml/gnome-xml-tree.html#XMLREMOVEPROP">
 <ANCHOR id ="XMLREMOVENODE" href="gnome-xml/gnome-xml-tree.html#XMLREMOVENODE">
 <ANCHOR id ="XMLBUFFERWRITECHAR" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERWRITECHAR">
 <ANCHOR id ="XMLBUFFERWRITECHAR" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERWRITECHAR">
 <ANCHOR id ="XMLBUFFERWRITEQUOTEDSTRING" href="gnome-xml/gnome-xml-tree.html#XMLBUFFERWRITEQUOTEDSTRING">
 <ANCHOR id ="XMLDOCDUMPMEMORY" href="gnome-xml/gnome-xml-tree.html#XMLDOCDUMPMEMORY">
 <ANCHOR id ="XMLDOCDUMP" href="gnome-xml/gnome-xml-tree.html#XMLDOCDUMP">
-<ANCHOR id ="XMLELEMDUMP" href="gnome-xml/gnome-xml-tree.html#XMLELEMDUMP">
 <ANCHOR id ="XMLSAVEFILE" href="gnome-xml/gnome-xml-tree.html#XMLSAVEFILE">
 <ANCHOR id ="XMLGETDOCCOMPRESSMODE" href="gnome-xml/gnome-xml-tree.html#XMLGETDOCCOMPRESSMODE">
 <ANCHOR id ="XMLSETDOCCOMPRESSMODE" href="gnome-xml/gnome-xml-tree.html#XMLSETDOCCOMPRESSMODE">
@@ -274,7 +251,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 ="XMLCLEANUPPREDEFINEDENTITIES" href="gnome-xml/gnome-xml-entities.html#XMLCLEANUPPREDEFINEDENTITIES">
 <ANCHOR id ="GNOME-XML-VALID" href="gnome-xml/gnome-xml-valid.html">
 <ANCHOR id ="XMLVALIDITYERRORFUNC" href="gnome-xml/gnome-xml-valid.html#XMLVALIDITYERRORFUNC">
 <ANCHOR id ="XMLVALIDITYWARNINGFUNC" href="gnome-xml/gnome-xml-valid.html#XMLVALIDITYWARNINGFUNC">
@@ -353,8 +329,6 @@
 <ANCHOR id ="HTMLNODEPTR" href="gnome-xml/gnome-xml-htmlparser.html#HTMLNODEPTR">
 <ANCHOR id ="HTMLTAGLOOKUP" href="gnome-xml/gnome-xml-htmlparser.html#HTMLTAGLOOKUP">
 <ANCHOR id ="HTMLENTITYLOOKUP" href="gnome-xml/gnome-xml-htmlparser.html#HTMLENTITYLOOKUP">
-<ANCHOR id ="HTMLISAUTOCLOSED" href="gnome-xml/gnome-xml-htmlparser.html#HTMLISAUTOCLOSED">
-<ANCHOR id ="HTMLAUTOCLOSETAG" href="gnome-xml/gnome-xml-htmlparser.html#HTMLAUTOCLOSETAG">
 <ANCHOR id ="HTMLPARSEENTITYREF" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEENTITYREF">
 <ANCHOR id ="HTMLPARSECHARREF" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSECHARREF">
 <ANCHOR id ="HTMLPARSEELEMENT" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEELEMENT">
@@ -362,9 +336,6 @@
 <ANCHOR id ="HTMLPARSEDOC" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEDOC">
 <ANCHOR id ="HTMLSAXPARSEFILE" href="gnome-xml/gnome-xml-htmlparser.html#HTMLSAXPARSEFILE">
 <ANCHOR id ="HTMLPARSEFILE" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSEFILE">
-<ANCHOR id ="HTMLFREEPARSERCTXT" href="gnome-xml/gnome-xml-htmlparser.html#HTMLFREEPARSERCTXT">
-<ANCHOR id ="HTMLCREATEPUSHPARSERCTXT" href="gnome-xml/gnome-xml-htmlparser.html#HTMLCREATEPUSHPARSERCTXT">
-<ANCHOR id ="HTMLPARSECHUNK" href="gnome-xml/gnome-xml-htmlparser.html#HTMLPARSECHUNK">
 <ANCHOR id ="GNOME-XML-HTMLTREE" href="gnome-xml/gnome-xml-htmltree.html">
 <ANCHOR id ="HTML-TEXT-NODE" href="gnome-xml/gnome-xml-htmltree.html#HTML-TEXT-NODE">
 <ANCHOR id ="HTML-ENTITY-REF-NODE" href="gnome-xml/gnome-xml-htmltree.html#HTML-ENTITY-REF-NODE">
@@ -388,9 +359,6 @@
 <ANCHOR id ="XMLXPATHEVAL" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHEVAL">
 <ANCHOR id ="XMLXPATHFREEOBJECT" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFREEOBJECT">
 <ANCHOR id ="XMLXPATHEVALEXPRESSION" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHEVALEXPRESSION">
-<ANCHOR id ="XMLXPATHNODESETCREATE" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHNODESETCREATE">
-<ANCHOR id ="XMLXPATHFREENODESETLIST" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFREENODESETLIST">
-<ANCHOR id ="XMLXPATHFREENODESET" href="gnome-xml/gnome-xml-xpath.html#XMLXPATHFREENODESET">
 <ANCHOR id ="GNOME-XML-NANOHTTP" href="gnome-xml/gnome-xml-nanohttp.html">
 <ANCHOR id ="XMLNANOHTTPFETCH" href="gnome-xml/gnome-xml-nanohttp.html#XMLNANOHTTPFETCH">
 <ANCHOR id ="XMLNANOHTTPMETHOD" href="gnome-xml/gnome-xml-nanohttp.html#XMLNANOHTTPMETHOD">
@@ -401,13 +369,11 @@
 <ANCHOR id ="XMLNANOHTTPCLOSE" href="gnome-xml/gnome-xml-nanohttp.html#XMLNANOHTTPCLOSE">
 <ANCHOR id ="GNOME-XML-XMLIO" href="gnome-xml/gnome-xml-xmlio.html">
 <ANCHOR id ="XMLPARSERINPUTBUFFERPTR" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERPTR">
-<ANCHOR id ="XMLALLOCPARSERINPUTBUFFER" href="gnome-xml/gnome-xml-xmlio.html#XMLALLOCPARSERINPUTBUFFER">
 <ANCHOR id ="XMLPARSERINPUTBUFFERCREATEFILENAME" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERCREATEFILENAME">
 <ANCHOR id ="XMLPARSERINPUTBUFFERCREATEFILE" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERCREATEFILE">
 <ANCHOR id ="XMLPARSERINPUTBUFFERCREATEFD" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERCREATEFD">
 <ANCHOR id ="XMLPARSERINPUTBUFFERREAD" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERREAD">
 <ANCHOR id ="XMLPARSERINPUTBUFFERGROW" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERGROW">
-<ANCHOR id ="XMLPARSERINPUTBUFFERPUSH" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERINPUTBUFFERPUSH">
 <ANCHOR id ="XMLFREEPARSERINPUTBUFFER" href="gnome-xml/gnome-xml-xmlio.html#XMLFREEPARSERINPUTBUFFER">
 <ANCHOR id ="XMLPARSERGETDIRECTORY" href="gnome-xml/gnome-xml-xmlio.html#XMLPARSERGETDIRECTORY">
 <ANCHOR id ="GNOME-XML-PARSERINTERNALS" href="gnome-xml/gnome-xml-parserinternals.html">
@@ -503,13 +469,12 @@
 <ANCHOR id ="XMLCHARENCODINGINPUTFUNC" href="gnome-xml/gnome-xml-encoding.html#XMLCHARENCODINGINPUTFUNC">
 <ANCHOR id ="XMLCHARENCODINGOUTPUTFUNC" href="gnome-xml/gnome-xml-encoding.html#XMLCHARENCODINGOUTPUTFUNC">
 <ANCHOR id ="XMLCHARENCODINGHANDLERPTR" href="gnome-xml/gnome-xml-encoding.html#XMLCHARENCODINGHANDLERPTR">
-<ANCHOR id ="XMLINITCHARENCODINGHANDLERS" href="gnome-xml/gnome-xml-encoding.html#XMLINITCHARENCODINGHANDLERS">
-<ANCHOR id ="XMLCLEANUPCHARENCODINGHANDLERS" href="gnome-xml/gnome-xml-encoding.html#XMLCLEANUPCHARENCODINGHANDLERS">
 <ANCHOR id ="XMLREGISTERCHARENCODINGHANDLER" href="gnome-xml/gnome-xml-encoding.html#XMLREGISTERCHARENCODINGHANDLER">
-<ANCHOR id ="XMLDETECTCHARENCODING" href="gnome-xml/gnome-xml-encoding.html#XMLDETECTCHARENCODING">
-<ANCHOR id ="XMLPARSECHARENCODING" href="gnome-xml/gnome-xml-encoding.html#XMLPARSECHARENCODING">
 <ANCHOR id ="XMLGETCHARENCODINGHANDLER" href="gnome-xml/gnome-xml-encoding.html#XMLGETCHARENCODINGHANDLER">
 <ANCHOR id ="XMLFINDCHARENCODINGHANDLER" href="gnome-xml/gnome-xml-encoding.html#XMLFINDCHARENCODINGHANDLER">
+<ANCHOR id ="XMLDETECTCHARENCODING" href="gnome-xml/gnome-xml-encoding.html#XMLDETECTCHARENCODING">
+<ANCHOR id ="XMLPARSECHARENCODING" href="gnome-xml/gnome-xml-encoding.html#XMLPARSECHARENCODING">
+<ANCHOR id ="XMLINITCHARENCODINGHANDLERS" href="gnome-xml/gnome-xml-encoding.html#XMLINITCHARENCODINGHANDLERS">
 <ANCHOR id ="GNOME-XML-DEBUGXML" href="gnome-xml/gnome-xml-debugxml.html">
 <ANCHOR id ="XMLDEBUGDUMPSTRING" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPSTRING">
 <ANCHOR id ="XMLDEBUGDUMPATTR" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPATTR">
@@ -517,13 +482,7 @@
 <ANCHOR id ="XMLDEBUGDUMPONENODE" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPONENODE">
 <ANCHOR id ="XMLDEBUGDUMPNODE" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPNODE">
 <ANCHOR id ="XMLDEBUGDUMPNODELIST" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPNODELIST">
-<ANCHOR id ="XMLDEBUGDUMPDOCUMENTHEAD" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPDOCUMENTHEAD">
 <ANCHOR id ="XMLDEBUGDUMPDOCUMENT" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPDOCUMENT">
-<ANCHOR id ="XMLDEBUGDUMPENTITIES" href="gnome-xml/gnome-xml-debugxml.html#XMLDEBUGDUMPENTITIES">
-<ANCHOR id ="XMLLSONENODE" href="gnome-xml/gnome-xml-debugxml.html#XMLLSONENODE">
-<ANCHOR id ="XMLSHELLREADLINEFUNC" href="gnome-xml/gnome-xml-debugxml.html#XMLSHELLREADLINEFUNC">
-<ANCHOR id ="XMLSHELLCMD" href="gnome-xml/gnome-xml-debugxml.html#XMLSHELLCMD">
-<ANCHOR id ="XMLSHELL" href="gnome-xml/gnome-xml-debugxml.html#XMLSHELL">
 <ANCHOR id ="GNOME-XML-XMLMEMORY" href="gnome-xml/gnome-xml-xmlmemory.html">
 <ANCHOR id ="NO-DEBUG-MEMORY" href="gnome-xml/gnome-xml-xmlmemory.html#NO-DEBUG-MEMORY">
 <ANCHOR id ="XMLFREE" href="gnome-xml/gnome-xml-xmlmemory.html#XMLFREE">
@@ -534,7 +493,6 @@
 <ANCHOR id ="XMLMEMUSED" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMUSED">
 <ANCHOR id ="XMLMEMORYDUMP" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMORYDUMP">
 <ANCHOR id ="XMLMEMDISPLAY" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMDISPLAY">
-<ANCHOR id ="XMLMEMSHOW" href="gnome-xml/gnome-xml-xmlmemory.html#XMLMEMSHOW">
 <ANCHOR id ="DEBUG-MEMORY-LOCATION" href="gnome-xml/gnome-xml-xmlmemory.html#DEBUG-MEMORY-LOCATION">
 <ANCHOR id ="DEBUG-MEMORY" href="gnome-xml/gnome-xml-xmlmemory.html#DEBUG-MEMORY">
 <ANCHOR id ="MEM-LIST" href="gnome-xml/gnome-xml-xmlmemory.html#MEM-LIST">
diff --git a/encoding.h b/encoding.h
index 6a42335..5eb1a52 100644
--- a/encoding.h
+++ b/encoding.h
@@ -90,12 +90,13 @@
  * Block defining the handlers for non UTF-8 encodings.
  */
 
-typedef struct xmlCharEncodingHandler {
+typedef struct _xmlCharEncodingHandler xmlCharEncodingHandler;
+typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
+struct _xmlCharEncodingHandler {
     char                       *name;
     xmlCharEncodingInputFunc   input;
     xmlCharEncodingOutputFunc output;
-} xmlCharEncodingHandler;
-typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
+};
 
 void	xmlInitCharEncodingHandlers	(void);
 void	xmlCleanupCharEncodingHandlers	(void);
diff --git a/entities.h b/entities.h
index 84ad7c1..0347170 100644
--- a/entities.h
+++ b/entities.h
@@ -27,7 +27,9 @@
  * and the linkind data needed for the linking in the hash table.
  */
 
-typedef struct xmlEntity {
+typedef struct _xmlEntity xmlEntity;
+typedef xmlEntity *xmlEntityPtr;
+struct _xmlEntity {
     int type;			/* The entity type */
     int len;			/* The lenght of the name */
     const xmlChar  *name;	/* Name of the entity */
@@ -36,8 +38,7 @@
     xmlChar *content;		/* The entity content or ndata if unparsed */
     int length;			/* the content length */
     xmlChar *orig;		/* The entity cont without ref substitution */
-} xmlEntity;
-typedef xmlEntity *xmlEntityPtr;
+};
 
 /*
  * ALl entities are stored in a table there is one table per DTD
@@ -46,12 +47,13 @@
 
 #define XML_MIN_ENTITIES_TABLE	32
 
-typedef struct xmlEntitiesTable {
+typedef struct _xmlEntitiesTable xmlEntitiesTable;
+typedef xmlEntitiesTable *xmlEntitiesTablePtr;
+struct _xmlEntitiesTable {
     int nb_entities;		/* number of elements stored */
     int max_entities;		/* maximum number of elements */
     xmlEntityPtr table;	        /* the table of entities */
-} xmlEntitiesTable;
-typedef xmlEntitiesTable *xmlEntitiesTablePtr;
+};
 
 
 /*
diff --git a/include/libxml/HTMLparser.h b/include/libxml/HTMLparser.h
index ecb91cb..22fe614 100644
--- a/include/libxml/HTMLparser.h
+++ b/include/libxml/HTMLparser.h
@@ -30,7 +30,9 @@
 /*
  * Internal description of an HTML element
  */
-typedef struct htmlElemDesc {
+typedef struct _htmlElemDesc htmlElemDesc;
+typedef htmlElemDesc *htmlElemDescPtr;
+struct _htmlElemDesc {
     const char *name;	/* The tag name */
     int startTag;       /* Whether the start tag can be implied */
     int endTag;         /* Whether the end tag can be implied */
@@ -38,16 +40,18 @@
     int depr;           /* Is this a deprecated element ? */
     int dtd;            /* 1: only in Loose DTD, 2: only Frameset one */
     const char *desc;   /* the description */
-} htmlElemDesc, *htmlElemDescPtr;
+};
 
 /*
  * Internal description of an HTML entity
  */
-typedef struct htmlEntityDesc {
+typedef struct _htmlEntityDesc htmlEntityDesc;
+typedef htmlEntityDesc *htmlEntityDescPtr;
+struct _htmlEntityDesc {
     int value;		/* the UNICODE value for the character */
     const char *name;	/* The entity name */
     const char *desc;   /* the description */
-} htmlEntityDesc, *htmlEntityDescPtr;
+};
 
 /*
  * There is only few public functions.
diff --git a/include/libxml/debugXML.h b/include/libxml/debugXML.h
index 8774f0b..5d4d2ae 100644
--- a/include/libxml/debugXML.h
+++ b/include/libxml/debugXML.h
@@ -64,7 +64,9 @@
  * The shell context itself
  * TODO: add the defined function tables.
  */
-typedef struct xmlShellCtxt {
+typedef struct _xmlShellCtxt xmlShellCtxt;
+typedef xmlShellCtxt *xmlShellCtxtPtr;
+struct _xmlShellCtxt {
     char *filename;
     xmlDocPtr doc;
     xmlNodePtr node;
@@ -72,7 +74,7 @@
     int loaded;
     FILE *output;
     xmlShellReadlineFunc input;
-} xmlShellCtxt, *xmlShellCtxtPtr;
+};
 
 /**
  * xmlShellCmd:
diff --git a/include/libxml/encoding.h b/include/libxml/encoding.h
index 6a42335..5eb1a52 100644
--- a/include/libxml/encoding.h
+++ b/include/libxml/encoding.h
@@ -90,12 +90,13 @@
  * Block defining the handlers for non UTF-8 encodings.
  */
 
-typedef struct xmlCharEncodingHandler {
+typedef struct _xmlCharEncodingHandler xmlCharEncodingHandler;
+typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
+struct _xmlCharEncodingHandler {
     char                       *name;
     xmlCharEncodingInputFunc   input;
     xmlCharEncodingOutputFunc output;
-} xmlCharEncodingHandler;
-typedef xmlCharEncodingHandler *xmlCharEncodingHandlerPtr;
+};
 
 void	xmlInitCharEncodingHandlers	(void);
 void	xmlCleanupCharEncodingHandlers	(void);
diff --git a/include/libxml/entities.h b/include/libxml/entities.h
index 84ad7c1..0347170 100644
--- a/include/libxml/entities.h
+++ b/include/libxml/entities.h
@@ -27,7 +27,9 @@
  * and the linkind data needed for the linking in the hash table.
  */
 
-typedef struct xmlEntity {
+typedef struct _xmlEntity xmlEntity;
+typedef xmlEntity *xmlEntityPtr;
+struct _xmlEntity {
     int type;			/* The entity type */
     int len;			/* The lenght of the name */
     const xmlChar  *name;	/* Name of the entity */
@@ -36,8 +38,7 @@
     xmlChar *content;		/* The entity content or ndata if unparsed */
     int length;			/* the content length */
     xmlChar *orig;		/* The entity cont without ref substitution */
-} xmlEntity;
-typedef xmlEntity *xmlEntityPtr;
+};
 
 /*
  * ALl entities are stored in a table there is one table per DTD
@@ -46,12 +47,13 @@
 
 #define XML_MIN_ENTITIES_TABLE	32
 
-typedef struct xmlEntitiesTable {
+typedef struct _xmlEntitiesTable xmlEntitiesTable;
+typedef xmlEntitiesTable *xmlEntitiesTablePtr;
+struct _xmlEntitiesTable {
     int nb_entities;		/* number of elements stored */
     int max_entities;		/* maximum number of elements */
     xmlEntityPtr table;	        /* the table of entities */
-} xmlEntitiesTable;
-typedef xmlEntitiesTable *xmlEntitiesTablePtr;
+};
 
 
 /*
diff --git a/include/libxml/parser.h b/include/libxml/parser.h
index 938ea8c..e02751c 100644
--- a/include/libxml/parser.h
+++ b/include/libxml/parser.h
@@ -34,7 +34,9 @@
  */
 
 typedef void (* xmlParserInputDeallocate)(xmlChar *);
-typedef struct xmlParserInput {
+typedef struct _xmlParserInput xmlParserInput;
+typedef xmlParserInput *xmlParserInputPtr;
+struct _xmlParserInput {
     /* Input buffer */
     xmlParserInputBufferPtr buf;      /* UTF-8 encoded buffer */
 
@@ -47,35 +49,36 @@
     int col;                          /* Current column */
     int consumed;                     /* How many xmlChars already consumed */
     xmlParserInputDeallocate free;    /* function to deallocate the base */
-} xmlParserInput;
-typedef xmlParserInput *xmlParserInputPtr;
+};
 
 /**
  * the parser can be asked to collect Node informations, i.e. at what
  * place in the file they were detected. 
  * NOTE: This is off by default and not very well tested.
  */
-typedef struct _xmlParserNodeInfo {
-  const struct xmlNode* node;
+typedef struct _xmlParserNodeInfo xmlParserNodeInfo;
+typedef xmlParserNodeInfo *xmlParserNodeInfoPtr;
+
+struct _xmlParserNodeInfo {
+  const struct _xmlNode* node;
   /* Position & line # that text that created the node begins & ends on */
   unsigned long begin_pos;
   unsigned long begin_line;
   unsigned long end_pos;
   unsigned long end_line;
-} _xmlParserNodeInfo;
-typedef _xmlParserNodeInfo xmlParserNodeInfo;
+};
 
-typedef struct xmlParserNodeInfoSeq {
+typedef struct _xmlParserNodeInfoSeq xmlParserNodeInfoSeq;
+typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr;
+struct _xmlParserNodeInfoSeq {
   unsigned long maximum;
   unsigned long length;
   xmlParserNodeInfo* buffer;
-} _xmlParserNodeInfoSeq;
-typedef _xmlParserNodeInfoSeq xmlParserNodeInfoSeq;
-typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr;
+};
 
 /**
- * The parser is not (yet) a state based parser, but we need to maintain
- * minimum state informations, especially for entities processing.
+ * The parser is now working also as a state based parser
+ * The recursive one use the stagte info for entities processing
  */
 typedef enum {
     XML_PARSER_EOF = -1,	/* nothing is to be parsed */
@@ -105,8 +108,10 @@
  *      takes as the only argument the parser context pointer, so migrating
  *      to a state based parser for progressive parsing shouldn't be too hard.
  */
-typedef struct _xmlParserCtxt {
-    struct xmlSAXHandler *sax;        /* The SAX handler */
+typedef struct _xmlParserCtxt xmlParserCtxt;
+typedef xmlParserCtxt *xmlParserCtxtPtr;
+struct _xmlParserCtxt {
+    struct _xmlSAXHandler *sax;       /* The SAX handler */
     void            *userData;        /* the document being built */
     xmlDocPtr           myDoc;        /* the document being built */
     int            wellFormed;        /* is the document well formed */
@@ -154,21 +159,19 @@
 
     long               nbChars;       /* number of xmlChar processed */
     long            checkIndex;       /* used by progressive parsing lookup */
-} _xmlParserCtxt;
-typedef _xmlParserCtxt xmlParserCtxt;
-typedef xmlParserCtxt *xmlParserCtxtPtr;
+};
 
 /**
  * a SAX Locator.
  */
-typedef struct xmlSAXLocator {
+typedef struct _xmlSAXLocator xmlSAXLocator;
+typedef xmlSAXLocator *xmlSAXLocatorPtr;
+struct _xmlSAXLocator {
     const xmlChar *(*getPublicId)(void *ctx);
     const xmlChar *(*getSystemId)(void *ctx);
     int (*getLineNumber)(void *ctx);
     int (*getColumnNumber)(void *ctx);
-} _xmlSAXLocator;
-typedef _xmlSAXLocator xmlSAXLocator;
-typedef xmlSAXLocator *xmlSAXLocatorPtr;
+};
 
 /**
  * a SAX handler is bunch of callbacks called by the parser when processing
@@ -221,7 +224,9 @@
 typedef int (*hasInternalSubsetSAXFunc) (void *ctx);
 typedef int (*hasExternalSubsetSAXFunc) (void *ctx);
 
-typedef struct xmlSAXHandler {
+typedef struct _xmlSAXHandler xmlSAXHandler;
+typedef xmlSAXHandler *xmlSAXHandlerPtr;
+struct _xmlSAXHandler {
     internalSubsetSAXFunc internalSubset;
     isStandaloneSAXFunc isStandalone;
     hasInternalSubsetSAXFunc hasInternalSubset;
@@ -248,8 +253,7 @@
     fatalErrorSAXFunc fatalError;
     getParameterEntitySAXFunc getParameterEntity;
     cdataBlockSAXFunc cdataBlock;
-} xmlSAXHandler;
-typedef xmlSAXHandler *xmlSAXHandlerPtr;
+};
 
 /**
  * External entity loaders types
diff --git a/include/libxml/tree.h b/include/libxml/tree.h
index 0ff3a51..1346994 100644
--- a/include/libxml/tree.h
+++ b/include/libxml/tree.h
@@ -67,12 +67,13 @@
  * a DTD Notation definition
  */
 
-typedef struct xmlNotation {
+typedef struct _xmlNotation xmlNotation;
+typedef xmlNotation *xmlNotationPtr;
+struct _xmlNotation {
     const xmlChar               *name;	/* Notation name */
     const xmlChar               *PublicID;	/* Public identifier, if any */
     const xmlChar               *SystemID;	/* System identifier, if any */
-} xmlNotation;
-typedef xmlNotation *xmlNotationPtr;
+};
 
 /*
  * a DTD Attribute definition
@@ -98,23 +99,25 @@
     XML_ATTRIBUTE_FIXED
 } xmlAttributeDefault;
 
-typedef struct xmlEnumeration {
-    struct xmlEnumeration    *next;	/* next one */
-    const xmlChar            *name;	/* Enumeration name */
-} xmlEnumeration;
+typedef struct _xmlEnumeration xmlEnumeration;
 typedef xmlEnumeration *xmlEnumerationPtr;
+struct _xmlEnumeration {
+    struct _xmlEnumeration    *next;	/* next one */
+    const xmlChar            *name;	/* Enumeration name */
+};
 
-typedef struct xmlAttribute {
+typedef struct _xmlAttribute xmlAttribute;
+typedef xmlAttribute *xmlAttributePtr;
+struct _xmlAttribute {
     const xmlChar         *elem;	/* Element holding the attribute */
     const xmlChar         *name;	/* Attribute name */
-    struct xmlAttribute   *next;        /* list of attributes of an element */
+    struct _xmlAttribute   *next;       /* list of attributes of an element */
     xmlAttributeType       type;	/* The type */
     xmlAttributeDefault    def;		/* the default */
     const xmlChar         *defaultValue;/* or the default value */
     xmlEnumerationPtr      tree;        /* or the enumeration tree if any */
     const xmlChar         *prefix;      /* the namespace prefix if any */
-} xmlAttribute;
-typedef xmlAttribute *xmlAttributePtr;
+};
 
 /*
  * a DTD Element definition.
@@ -133,14 +136,15 @@
     XML_ELEMENT_CONTENT_PLUS
 } xmlElementContentOccur;
 
-typedef struct xmlElementContent {
+typedef struct _xmlElementContent xmlElementContent;
+typedef xmlElementContent *xmlElementContentPtr;
+struct _xmlElementContent {
     xmlElementContentType     type;	/* PCDATA, ELEMENT, SEQ or OR */
     xmlElementContentOccur    ocur;	/* ONCE, OPT, MULT or PLUS */
     const xmlChar            *name;	/* Element name */
-    struct xmlElementContent *c1;	/* first child */
-    struct xmlElementContent *c2;	/* second child */
-} xmlElementContent;
-typedef xmlElementContent *xmlElementContentPtr;
+    struct _xmlElementContent *c1;	/* first child */
+    struct _xmlElementContent *c2;	/* second child */
+};
 
 typedef enum {
     XML_ELEMENT_TYPE_EMPTY = 1,
@@ -149,13 +153,14 @@
     XML_ELEMENT_TYPE_ELEMENT
 } xmlElementTypeVal;
 
-typedef struct xmlElement {
+typedef struct _xmlElement xmlElement;
+typedef xmlElement *xmlElementPtr;
+struct _xmlElement {
     const xmlChar          *name;	/* Element name */
     xmlElementTypeVal       type;	/* The type */
     xmlElementContentPtr content;	/* the allowed element content */
     xmlAttributePtr   attributes;	/* List of the declared attributes */
-} xmlElement;
-typedef xmlElement *xmlElementPtr;
+};
 
 /*
  * An XML namespace.
@@ -168,18 +173,21 @@
     XML_LOCAL_NAMESPACE		/* new style local scoping */
 } xmlNsType;
 
-typedef struct xmlNs {
-    struct xmlNs  *next;	/* next Ns link for this node  */
+typedef struct _xmlNs xmlNs;
+typedef xmlNs *xmlNsPtr;
+struct _xmlNs {
+    struct _xmlNs  *next;	/* next Ns link for this node  */
     xmlNsType      type;	/* global or local */
     const xmlChar *href;	/* URL for the namespace */
     const xmlChar *prefix;	/* prefix for the namespace */
-} xmlNs;
-typedef xmlNs *xmlNsPtr;
+};
 
 /*
  * An XML DtD, as defined by <!DOCTYPE.
  */
-typedef struct xmlDtd {
+typedef struct _xmlDtd xmlDtd;
+typedef xmlDtd *xmlDtdPtr;
+struct _xmlDtd {
     const xmlChar *name;	/* Name of the DTD */
     const xmlChar *ExternalID;	/* External identifier for PUBLIC DTD */
     const xmlChar *SystemID;	/* URI for a SYSTEM or PUBLIC DTD */
@@ -188,47 +196,49 @@
     void          *attributes;  /* Hash table for attributes if any */
     void          *entities;    /* Hash table for entities if any */
     /* struct xmlDtd *next;	 * next  link for this document  */
-} xmlDtd;
-typedef xmlDtd *xmlDtdPtr;
+};
 
 /*
  * A attribute of an XML node.
  */
-typedef struct xmlAttr {
+typedef struct _xmlAttr xmlAttr;
+typedef xmlAttr *xmlAttrPtr;
+struct _xmlAttr {
 #ifndef XML_WITHOUT_CORBA
     void           *_private;	/* for Corba, must be first ! */
     void           *vepv;	/* for Corba, must be next ! */
 #endif
     xmlElementType  type;       /* XML_ATTRIBUTE_NODE, must be third ! */
-    struct xmlNode *node;	/* attr->node link */
-    struct xmlAttr *next;	/* attribute list link */
-    const xmlChar  *name;       /* the name of the property */
-    struct xmlNode *val;        /* the value of the property */
-    xmlNs          *ns;         /* pointer to the associated namespace */
-} xmlAttr;
-typedef xmlAttr *xmlAttrPtr;
+    struct _xmlNode *node;	/* attr->node link */
+    struct _xmlAttr *next;	/* attribute list link */
+    const xmlChar   *name;      /* the name of the property */
+    struct _xmlNode *val;       /* the value of the property */
+    xmlNs           *ns;        /* pointer to the associated namespace */
+};
 
 /*
  * An XML ID instance.
  */
 
-typedef struct xmlID {
-    struct xmlID     *next;	/* next ID */
+typedef struct _xmlID xmlID;
+typedef xmlID *xmlIDPtr;
+struct _xmlID {
+    struct _xmlID    *next;	/* next ID */
     const xmlChar    *value;	/* The ID name */
     xmlAttrPtr        attr;	/* The attribut holding it */
-} xmlID;
-typedef xmlID *xmlIDPtr;
+};
 
 /*
  * An XML IDREF instance.
  */
 
-typedef struct xmlRef {
-    struct xmlRef     *next;	/* next Ref */
+typedef struct _xmlRef xmlRef;
+typedef xmlRef *xmlRefPtr;
+struct _xmlRef {
+    struct _xmlRef    *next;	/* next Ref */
     const xmlChar     *value;	/* The Ref name */
     xmlAttrPtr        attr;	/* The attribut holding it */
-} xmlRef;
-typedef xmlRef *xmlRefPtr;
+};
 
 /*
  * A buffer structure
@@ -239,31 +249,33 @@
     XML_BUFFER_ALLOC_EXACT
 } xmlBufferAllocationScheme;
 
-typedef struct xmlBuffer {
+typedef struct _xmlBuffer xmlBuffer;
+typedef xmlBuffer *xmlBufferPtr;
+struct _xmlBuffer {
     xmlChar *content;		/* The buffer content UTF8 */
     unsigned int use;		/* The buffer size used */
     unsigned int size;		/* The buffer size */
     xmlBufferAllocationScheme alloc; /* The realloc method */
-} _xmlBuffer;
-typedef _xmlBuffer xmlBuffer;
-typedef xmlBuffer *xmlBufferPtr;
+};
 
 /*
  * A node in an XML tree.
  */
-typedef struct xmlNode {
+typedef struct _xmlNode xmlNode;
+typedef xmlNode *xmlNodePtr;
+struct _xmlNode {
 #ifndef XML_WITHOUT_CORBA
     void           *_private;	/* for Corba, must be first ! */
     void           *vepv;	/* for Corba, must be next ! */
 #endif
     xmlElementType  type;	/* type number in the DTD, must be third ! */
-    struct xmlDoc  *doc;	/* the containing document */
-    struct xmlNode *parent;	/* child->parent link */
-    struct xmlNode *next;	/* next sibling link  */
-    struct xmlNode *prev;	/* previous sibling link  */
-    struct xmlNode *childs;	/* parent->childs link */
-    struct xmlNode *last;	/* last child link */
-    struct xmlAttr *properties;	/* properties list */
+    struct _xmlDoc  *doc;	/* the containing document */
+    struct _xmlNode *parent;	/* child->parent link */
+    struct _xmlNode *next;	/* next sibling link  */
+    struct _xmlNode *prev;	/* previous sibling link  */
+    struct _xmlNode *childs;	/* parent->childs link */
+    struct _xmlNode *last;	/* last child link */
+    struct _xmlAttr *properties;/* properties list */
     const xmlChar  *name;       /* the name of the node, or the entity */
     xmlNs          *ns;         /* pointer to the associated namespace */
     xmlNs          *nsDef;      /* namespace definitions on this node */
@@ -272,14 +284,14 @@
 #else
     xmlBufferPtr   content;     /* the content in a buffer */
 #endif
-} _xmlNode;
-typedef _xmlNode xmlNode;
-typedef _xmlNode *xmlNodePtr;
+};
 
 /*
  * An XML document.
  */
-typedef struct xmlDoc {
+typedef struct _xmlDoc xmlDoc;
+typedef xmlDoc *xmlDocPtr;
+struct _xmlDoc {
 #ifndef XML_WITHOUT_CORBA
     void           *_private;	/* for Corba, must be first ! */
     void           *vepv;	/* for Corba, must be next ! */
@@ -290,15 +302,13 @@
     const xmlChar  *encoding;   /* encoding, if any */
     int             compression;/* level of zlib compression */
     int             standalone; /* standalone document (no external refs) */
-    struct xmlDtd  *intSubset;	/* the document internal subset */
-    struct xmlDtd  *extSubset;	/* the document external subset */
-    struct xmlNs   *oldNs;	/* Global namespace, the old way */
-    struct xmlNode *root;	/* the document tree */
+    struct _xmlDtd  *intSubset;	/* the document internal subset */
+    struct _xmlDtd  *extSubset;	/* the document external subset */
+    struct _xmlNs   *oldNs;	/* Global namespace, the old way */
+    struct _xmlNode *root;	/* the document tree */
     void           *ids;        /* Hash table for ID attributes if any */
     void           *refs;       /* Hash table for IDREFs attributes if any */
-} _xmlDoc;
-typedef _xmlDoc xmlDoc;
-typedef xmlDoc *xmlDocPtr;
+};
 
 /*
  * Variables.
diff --git a/include/libxml/valid.h b/include/libxml/valid.h
index 7190bbf..8c86b17 100644
--- a/include/libxml/valid.h
+++ b/include/libxml/valid.h
@@ -23,11 +23,13 @@
 typedef void (*xmlValidityErrorFunc) (void *ctx, const char *msg, ...);
 typedef void (*xmlValidityWarningFunc) (void *ctx, const char *msg, ...);
 
-typedef struct xmlValidCtxt {
+typedef struct _xmlValidCtxt xmlValidCtxt;
+typedef xmlValidCtxt *xmlValidCtxtPtr;
+struct _xmlValidCtxt {
     void *userData;			/* user specific data block */
     xmlValidityErrorFunc error;		/* the callback in case of errors */
     xmlValidityWarningFunc warning;	/* the callback in case of warning */
-} xmlValidCtxt, *xmlValidCtxtPtr;
+};
 
 /*
  * ALl notation declarations are stored in a table
@@ -36,12 +38,13 @@
 
 #define XML_MIN_NOTATION_TABLE	32
 
-typedef struct xmlNotationTable {
+typedef struct _xmlNotationTable xmlNotationTable;
+typedef xmlNotationTable *xmlNotationTablePtr;
+struct _xmlNotationTable {
     int nb_notations;		/* number of notations stored */
     int max_notations;		/* maximum number of notations */
     xmlNotationPtr *table;	/* the table of attributes */
-} xmlNotationTable;
-typedef xmlNotationTable *xmlNotationTablePtr;
+};
 
 /*
  * ALl element declarations are stored in a table
@@ -50,12 +53,13 @@
 
 #define XML_MIN_ELEMENT_TABLE	32
 
-typedef struct xmlElementTable {
+typedef struct _xmlElementTable xmlElementTable;
+typedef xmlElementTable *xmlElementTablePtr;
+struct _xmlElementTable {
     int nb_elements;		/* number of elements stored */
     int max_elements;		/* maximum number of elements */
     xmlElementPtr *table;	/* the table of elements */
-} xmlElementTable;
-typedef xmlElementTable *xmlElementTablePtr;
+};
 
 /*
  * ALl attribute declarations are stored in a table
@@ -64,12 +68,13 @@
 
 #define XML_MIN_ATTRIBUTE_TABLE	32
 
-typedef struct xmlAttributeTable {
+typedef struct _xmlAttributeTable xmlAttributeTable;
+typedef xmlAttributeTable *xmlAttributeTablePtr;
+struct _xmlAttributeTable {
     int nb_attributes;		/* number of attributes stored */
     int max_attributes;		/* maximum number of attributes */
     xmlAttributePtr *table;	/* the table of attributes */
-} xmlAttributeTable;
-typedef xmlAttributeTable *xmlAttributeTablePtr;
+};
 
 /*
  * ALl IDs attributes are stored in a table
@@ -78,12 +83,13 @@
 
 #define XML_MIN_ID_TABLE	32
 
-typedef struct xmlIDTable {
+typedef struct _xmlIDTable xmlIDTable;
+typedef xmlIDTable *xmlIDTablePtr;
+struct _xmlIDTable {
     int nb_ids;			/* number of ids stored */
     int max_ids;		/* maximum number of ids */
     xmlIDPtr *table;		/* the table of ids */
-} xmlIDTable;
-typedef xmlIDTable *xmlIDTablePtr;
+};
 
 /*
  * ALl Refs attributes are stored in a table
@@ -92,12 +98,13 @@
 
 #define XML_MIN_REF_TABLE	32
 
-typedef struct xmlRefTable {
+typedef struct _xmlRefTable xmlRefTable;
+typedef xmlRefTable *xmlRefTablePtr;
+struct _xmlRefTable {
     int nb_refs;			/* number of refs stored */
     int max_refs;		/* maximum number of refs */
     xmlRefPtr *table;		/* the table of refs */
-} xmlRefTable;
-typedef xmlRefTable *xmlRefTablePtr;
+};
 
 /* Notation */
 xmlNotationPtr	    xmlAddNotationDecl	(xmlValidCtxtPtr ctxt,
@@ -158,6 +165,7 @@
 int		xmlIsID		(xmlDocPtr doc,
 				 xmlNodePtr elem,
 				 xmlAttrPtr attr);
+int		xmlRemoveID	(xmlDocPtr doc, xmlAttrPtr attr);
 
 /* IDREFs */
 xmlRefPtr	xmlAddRef	(xmlValidCtxtPtr ctxt,
@@ -169,6 +177,7 @@
 int		xmlIsRef	(xmlDocPtr doc,
 				 xmlNodePtr elem,
 				 xmlAttrPtr attr);
+int		xmlRemoveRef	(xmlDocPtr doc, xmlAttrPtr attr);
 
 /**
  * The public function calls related to validity checking
diff --git a/include/libxml/xlink.h b/include/libxml/xlink.h
index 1533148..0bcceeb 100644
--- a/include/libxml/xlink.h
+++ b/include/libxml/xlink.h
@@ -148,12 +148,13 @@
  * There is no default xlink callbacks, if one want to get link
  * recognition activated, those call backs must be provided before parsing.
  */
-typedef struct xlinkHandler {
+typedef struct _xlinkHandler xlinkHandler;
+typedef xlinkHandler *xlinkHandlerPtr;
+struct _xlinkHandler {
     xlinkSimpleLinkFunk simple;
     xlinkExtendedLinkFunk extended;
     xlinkExtendedLinkSetFunk set;
-} xlinkHandler;
-typedef xlinkHandler *xlinkHandlerPtr;
+};
 
 /**
  * the default detection routine, can be overriden, they call the default
diff --git a/include/libxml/xmlIO.h b/include/libxml/xmlIO.h
index bf43de2..48bbcbb 100644
--- a/include/libxml/xmlIO.h
+++ b/include/libxml/xmlIO.h
@@ -18,7 +18,9 @@
 extern "C" {
 #endif
 
-typedef struct xmlParserInputBuffer {
+typedef struct _xmlParserInputBuffer xmlParserInputBuffer;
+typedef xmlParserInputBuffer *xmlParserInputBufferPtr;
+struct _xmlParserInputBuffer {
     /* Inputs */
     FILE          *file;    /* Input on file handler */
     void*        gzfile;    /* Input on a compressed stream */
@@ -29,9 +31,8 @@
     
     xmlBufferPtr buffer;    /* Local buffer encoded in  UTF-8 */
 
-} xmlParserInputBuffer;
+};
 
-typedef xmlParserInputBuffer *xmlParserInputBufferPtr;
 
 /*
  * Interfaces
diff --git a/include/libxml/xpath.h b/include/libxml/xpath.h
index 84c8305..c0222e6 100644
--- a/include/libxml/xpath.h
+++ b/include/libxml/xpath.h
@@ -18,16 +18,21 @@
 extern "C" {
 #endif
 
-typedef struct xmlXPathParserContext *xmlXPathParserContextPtr;
+typedef struct _xmlXPathContext xmlXPathContext;
+typedef xmlXPathContext *xmlXPathContextPtr;
+typedef struct _xmlXPathParserContext xmlXPathParserContext;
+typedef xmlXPathParserContext *xmlXPathParserContextPtr;
 
 /*
  * A node-set (an unordered collection of nodes without duplicates) 
  */
-typedef struct xmlNodeSet {
+typedef struct _xmlNodeSet xmlNodeSet;
+typedef xmlNodeSet *xmlNodeSetPtr;
+struct _xmlNodeSet {
     int nodeNr;			/* # of node in the set */
     int nodeMax;		/* allocated space */
     xmlNodePtr *nodeTab;	/* array of nodes in no particular order */
-} xmlNodeSet, *xmlNodeSetPtr;
+};
 
 /*
  * An expression is evaluated to yield an object, which
@@ -45,14 +50,16 @@
 #define XPATH_STRING	4
 #define XPATH_USERS	5
 
-typedef struct xmlXPathObject {
+typedef struct _xmlXPathObject xmlXPathObject;
+typedef xmlXPathObject *xmlXPathObjectPtr;
+struct _xmlXPathObject {
     int type;
     xmlNodeSetPtr nodesetval;
     int boolval;
     double floatval;
     xmlChar *stringval;
     void *user;
-} xmlXPathObject, *xmlXPathObjectPtr;
+};
 
 /*
  * A conversion function is associated to a type and used to cast
@@ -64,19 +71,23 @@
  * Extra type: a name and a conversion function.
  */
 
-typedef struct xmlXPathType {
+typedef struct _xmlXPathType xmlXPathType;
+typedef xmlXPathType *xmlXPathTypePtr;
+struct _xmlXPathType {
     const xmlChar         *name;		/* the type name */
     xmlXPathConvertFunc func;		/* the conversion function */
-} xmlXPathType, *xmlXPathTypePtr;
+};
 
 /*
  * Extra variable: a name and a value.
  */
 
-typedef struct xmlXPathVariable {
+typedef struct _xmlXPathVariable xmlXPathVariable;
+typedef xmlXPathVariable *xmlXPathVariablePtr;
+struct _xmlXPathVariable {
     const xmlChar       *name;		/* the variable name */
     xmlXPathObjectPtr value;		/* the value */
-} xmlXPathVariable, *xmlXPathVariablePtr;
+};
 
 /*
  * an evaluation function, the parameters are on the context stack
@@ -88,10 +99,12 @@
  * Extra function: a name and a evaluation function.
  */
 
-typedef struct xmlXPathFunct {
+typedef struct _xmlXPathFunct xmlXPathFunct;
+typedef xmlXPathFunct *xmlXPathFuncPtr;
+struct _xmlXPathFunct {
     const xmlChar      *name;		/* the function name */
     xmlXPathEvalFunc func;		/* the evaluation function */
-} xmlXPathFunc, *xmlXPathFuncPtr;
+};
 
 /*
  * An axis traversal function. To traverse an axis, the engine calls
@@ -106,10 +119,12 @@
  * Extra axis: a name and an axis function.
  */
 
-typedef struct xmlXPathAxis {
+typedef struct _xmlXPathAxis xmlXPathAxis;
+typedef xmlXPathAxis *xmlXPathAxisPtr;
+struct _xmlXPathAxis {
     const xmlChar      *name;		/* the axis name */
     xmlXPathAxisFunc func;		/* the search function */
-} xmlXPathAxis, *xmlXPathAxisPtr;
+};
 
 /* 
  * Expression evaluation occurs with respect to a context.
@@ -121,7 +136,7 @@
  *    - the set of namespace declarations in scope for the expression 
  */
 
-typedef struct xmlXPathContext {
+struct _xmlXPathContext {
     xmlDocPtr doc;			/* The current document */
     xmlNodePtr node;			/* The current node */
     xmlNodeSetPtr nodelist;		/* The current node list */
@@ -146,13 +161,13 @@
     xmlNsPtr *namespaces;		/* The namespaces lookup */
     int nsNr;				/* the current Namespace index */
     void *user;				/* user defined extra info */
-} xmlXPathContext, *xmlXPathContextPtr;
+};
 
 /*
  * An XPath parser context, it contains pure parsing informations,
  * an xmlXPathContext, and the stack of objects.
  */
-typedef struct xmlXPathParserContext {
+struct _xmlXPathParserContext {
     const xmlChar *cur;			/* the current char being parsed */
     const xmlChar *base;			/* the full expression */
 
@@ -163,7 +178,7 @@
     int                 valueNr;	/* number of values stacked */
     int                valueMax;	/* max number of values stacked */
     xmlXPathObjectPtr *valueTab;	/* stack of values */
-} xmlXPathParserContext;
+};
 
 /*
  * An XPath function
diff --git a/parser.c b/parser.c
index a344ad1..a861deb 100644
--- a/parser.c
+++ b/parser.c
@@ -4832,14 +4832,29 @@
     /*
      * Skip up to the end of the conditionnal section.
      */
-    while ((CUR != 0) && ((CUR != ']') || (NXT(1) != ']') || (NXT(2) != '>')))
+    while ((CUR != 0) && ((CUR != ']') || (NXT(1) != ']') || (NXT(2) != '>'))) {
 	NEXT;
+	/*
+	 * Pop-up of finished entities.
+	 */
+	while ((CUR == 0) && (ctxt->inputNr > 1))
+	    xmlPopInput(ctxt);
+
+	if (CUR == 0)
+	    GROW;
+    }
+
+    if (CUR == 0)
+        SHRINK;
+
     if (CUR == 0) {
 	if ((ctxt->sax != NULL) && (ctxt->sax->error != NULL))
 	    ctxt->sax->error(ctxt->userData,
 	        "XML conditional section not closed\n");
 	ctxt->errNo = XML_ERR_CONDSEC_NOT_FINISHED;
 	ctxt->wellFormed = 0;
+    } else {
+        SKIP(3);
     }
 }
 
@@ -7013,15 +7028,16 @@
 }
 
 /**
- * xmlParseTry:
+ * xmlParseTryOrFinish:
  * @ctxt:  an XML parser context
+ * @terminate:  last chunk indicator
  *
  * Try to progress on parsing
  *
  * Returns zero if no parsing was possible
  */
 int
-xmlParseTry(xmlParserCtxtPtr ctxt) {
+xmlParseTryOrFinish(xmlParserCtxtPtr ctxt, int terminate) {
     int ret = 0;
     xmlParserInputPtr in;
     int avail;
@@ -7128,7 +7144,8 @@
 	        if ((cur == '<') && (next == '?')) {
 		    /* PI or XML decl */
 		    if (avail < 5) return(ret);
-		    if (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0) 
+		    if ((!terminate) &&
+		        (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0))
 			return(ret);
 		    if ((ctxt->sax) && (ctxt->sax->setDocumentLocator))
 			ctxt->sax->setDocumentLocator(ctxt->userData,
@@ -7181,7 +7198,8 @@
 		cur = in->cur[0];
 		next = in->cur[1];
 	        if ((cur == '<') && (next == '?')) {
-		    if (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0) 
+		    if ((!terminate) &&
+		        (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0))
 			goto done;
 #ifdef DEBUG_PUSH
 		    fprintf(stderr, "PP: Parsing PI\n");
@@ -7189,7 +7207,8 @@
 		    xmlParsePI(ctxt);
 		} else if ((cur == '<') && (next == '!') &&
 		    (in->cur[2] == '-') && (in->cur[3] == '-')) {
-		    if (xmlParseLookupSequence(ctxt, '-', '-', '>') < 0) 
+		    if ((!terminate) &&
+		        (xmlParseLookupSequence(ctxt, '-', '-', '>') < 0))
 			goto done;
 #ifdef DEBUG_PUSH
 		    fprintf(stderr, "PP: Parsing Comment\n");
@@ -7201,7 +7220,8 @@
 		    (in->cur[4] == 'C') && (in->cur[5] == 'T') &&
 		    (in->cur[6] == 'Y') && (in->cur[7] == 'P') &&
 		    (in->cur[8] == 'E')) {
-		    if (xmlParseLookupSequence(ctxt, '>', 0, 0) < 0) 
+		    if ((!terminate) &&
+		        (xmlParseLookupSequence(ctxt, '>', 0, 0) < 0))
 			goto done;
 #ifdef DEBUG_PUSH
 		    fprintf(stderr, "PP: Parsing internal subset\n");
@@ -7239,7 +7259,8 @@
 		cur = in->cur[0];
 		next = in->cur[1];
 	        if ((cur == '<') && (next == '?')) {
-		    if (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0) 
+		    if ((!terminate) &&
+		        (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0))
 			goto done;
 #ifdef DEBUG_PUSH
 		    fprintf(stderr, "PP: Parsing PI\n");
@@ -7247,7 +7268,8 @@
 		    xmlParsePI(ctxt);
 		} else if ((cur == '<') && (next == '!') &&
 		    (in->cur[2] == '-') && (in->cur[3] == '-')) {
-		    if (xmlParseLookupSequence(ctxt, '-', '-', '>') < 0) 
+		    if ((!terminate) &&
+		        (xmlParseLookupSequence(ctxt, '-', '-', '>') < 0))
 			goto done;
 #ifdef DEBUG_PUSH
 		    fprintf(stderr, "PP: Parsing Comment\n");
@@ -7275,7 +7297,8 @@
 		cur = in->cur[0];
 		next = in->cur[1];
 	        if ((cur == '<') && (next == '?')) {
-		    if (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0) 
+		    if ((!terminate) &&
+		        (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0))
 			goto done;
 #ifdef DEBUG_PUSH
 		    fprintf(stderr, "PP: Parsing PI\n");
@@ -7284,7 +7307,8 @@
 		    ctxt->instate = XML_PARSER_EPILOG;
 		} else if ((cur == '<') && (next == '!') &&
 		    (in->cur[2] == '-') && (in->cur[3] == '-')) {
-		    if (xmlParseLookupSequence(ctxt, '-', '-', '>') < 0) 
+		    if ((!terminate) &&
+		        (xmlParseLookupSequence(ctxt, '-', '-', '>') < 0))
 			goto done;
 #ifdef DEBUG_PUSH
 		    fprintf(stderr, "PP: Parsing Comment\n");
@@ -7329,7 +7353,8 @@
 			ctxt->sax->endDocument(ctxt->userData);
 		    goto done;
 		}
-		if (xmlParseLookupSequence(ctxt, '>', 0, 0) < 0) 
+		if ((!terminate) &&
+		    (xmlParseLookupSequence(ctxt, '>', 0, 0) < 0))
 		    goto done;
 		name = xmlParseStartTag(ctxt);
 		if (name == NULL) {
@@ -7426,7 +7451,8 @@
 		cur = in->cur[0];
 		next = in->cur[1];
 	        if ((cur == '<') && (next == '?')) {
-		    if (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0) 
+		    if ((!terminate) &&
+		        (xmlParseLookupSequence(ctxt, '?', '>', 0) < 0))
 			goto done;
 #ifdef DEBUG_PUSH
 		    fprintf(stderr, "PP: Parsing PI\n");
@@ -7434,7 +7460,8 @@
 		    xmlParsePI(ctxt);
 		} else if ((cur == '<') && (next == '!') &&
 		           (in->cur[2] == '-') && (in->cur[3] == '-')) {
-		    if (xmlParseLookupSequence(ctxt, '-', '-', '>') < 0) 
+		    if ((!terminate) &&
+		        (xmlParseLookupSequence(ctxt, '-', '-', '>') < 0))
 			goto done;
 #ifdef DEBUG_PUSH
 		    fprintf(stderr, "PP: Parsing Comment\n");
@@ -7468,7 +7495,8 @@
 #endif
 		    break;
 		} else if (cur == '&') {
-		    if (xmlParseLookupSequence(ctxt, ';', 0, 0) < 0) 
+		    if ((!terminate) &&
+		        (xmlParseLookupSequence(ctxt, ';', 0, 0) < 0))
 			goto done;
 #ifdef DEBUG_PUSH
 		    fprintf(stderr, "PP: Parsing Reference\n");
@@ -7490,7 +7518,8 @@
 		     */
 		    if ((ctxt->inputNr == 1) &&
 		        (avail < XML_PARSER_BIG_BUFFER_SIZE)) {
-			if (xmlParseLookupSequence(ctxt, '<', 0, 0) < 0) 
+			if ((!terminate) &&
+			    (xmlParseLookupSequence(ctxt, '<', 0, 0) < 0))
 			    goto done;
                     }
 		    ctxt->checkIndex = 0;
@@ -7543,7 +7572,8 @@
             case XML_PARSER_END_TAG:
 		if (avail < 2)
 		    goto done;
-		if (xmlParseLookupSequence(ctxt, '>', 0, 0) < 0) 
+		if ((!terminate) &&
+		    (xmlParseLookupSequence(ctxt, '>', 0, 0) < 0))
 		    goto done;
 		xmlParseEndTag(ctxt);
 		if (ctxt->name == NULL) {
@@ -7672,6 +7702,19 @@
 }
 
 /**
+ * xmlParseTry:
+ * @ctxt:  an XML parser context
+ *
+ * Try to progress on parsing
+ *
+ * Returns zero if no parsing was possible
+ */
+int
+xmlParseTry(xmlParserCtxtPtr ctxt) {
+    return(xmlParseTryOrFinish(ctxt, 0));
+}
+
+/**
  * xmlParseChunk:
  * @ctxt:  an XML parser context
  * @chunk:  an char array
@@ -7697,9 +7740,9 @@
 	fprintf(stderr, "PP: pushed %d\n", size);
 #endif
 
-        xmlParseTry(ctxt);
+        xmlParseTryOrFinish(ctxt, terminate);
     } else if (ctxt->instate != XML_PARSER_EOF)
-        xmlParseTry(ctxt);
+        xmlParseTryOrFinish(ctxt, terminate);
     if (terminate) {
 	if ((ctxt->instate != XML_PARSER_EOF) &&
 	    (ctxt->instate != XML_PARSER_EPILOG)) {
diff --git a/parser.h b/parser.h
index 938ea8c..e02751c 100644
--- a/parser.h
+++ b/parser.h
@@ -34,7 +34,9 @@
  */
 
 typedef void (* xmlParserInputDeallocate)(xmlChar *);
-typedef struct xmlParserInput {
+typedef struct _xmlParserInput xmlParserInput;
+typedef xmlParserInput *xmlParserInputPtr;
+struct _xmlParserInput {
     /* Input buffer */
     xmlParserInputBufferPtr buf;      /* UTF-8 encoded buffer */
 
@@ -47,35 +49,36 @@
     int col;                          /* Current column */
     int consumed;                     /* How many xmlChars already consumed */
     xmlParserInputDeallocate free;    /* function to deallocate the base */
-} xmlParserInput;
-typedef xmlParserInput *xmlParserInputPtr;
+};
 
 /**
  * the parser can be asked to collect Node informations, i.e. at what
  * place in the file they were detected. 
  * NOTE: This is off by default and not very well tested.
  */
-typedef struct _xmlParserNodeInfo {
-  const struct xmlNode* node;
+typedef struct _xmlParserNodeInfo xmlParserNodeInfo;
+typedef xmlParserNodeInfo *xmlParserNodeInfoPtr;
+
+struct _xmlParserNodeInfo {
+  const struct _xmlNode* node;
   /* Position & line # that text that created the node begins & ends on */
   unsigned long begin_pos;
   unsigned long begin_line;
   unsigned long end_pos;
   unsigned long end_line;
-} _xmlParserNodeInfo;
-typedef _xmlParserNodeInfo xmlParserNodeInfo;
+};
 
-typedef struct xmlParserNodeInfoSeq {
+typedef struct _xmlParserNodeInfoSeq xmlParserNodeInfoSeq;
+typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr;
+struct _xmlParserNodeInfoSeq {
   unsigned long maximum;
   unsigned long length;
   xmlParserNodeInfo* buffer;
-} _xmlParserNodeInfoSeq;
-typedef _xmlParserNodeInfoSeq xmlParserNodeInfoSeq;
-typedef xmlParserNodeInfoSeq *xmlParserNodeInfoSeqPtr;
+};
 
 /**
- * The parser is not (yet) a state based parser, but we need to maintain
- * minimum state informations, especially for entities processing.
+ * The parser is now working also as a state based parser
+ * The recursive one use the stagte info for entities processing
  */
 typedef enum {
     XML_PARSER_EOF = -1,	/* nothing is to be parsed */
@@ -105,8 +108,10 @@
  *      takes as the only argument the parser context pointer, so migrating
  *      to a state based parser for progressive parsing shouldn't be too hard.
  */
-typedef struct _xmlParserCtxt {
-    struct xmlSAXHandler *sax;        /* The SAX handler */
+typedef struct _xmlParserCtxt xmlParserCtxt;
+typedef xmlParserCtxt *xmlParserCtxtPtr;
+struct _xmlParserCtxt {
+    struct _xmlSAXHandler *sax;       /* The SAX handler */
     void            *userData;        /* the document being built */
     xmlDocPtr           myDoc;        /* the document being built */
     int            wellFormed;        /* is the document well formed */
@@ -154,21 +159,19 @@
 
     long               nbChars;       /* number of xmlChar processed */
     long            checkIndex;       /* used by progressive parsing lookup */
-} _xmlParserCtxt;
-typedef _xmlParserCtxt xmlParserCtxt;
-typedef xmlParserCtxt *xmlParserCtxtPtr;
+};
 
 /**
  * a SAX Locator.
  */
-typedef struct xmlSAXLocator {
+typedef struct _xmlSAXLocator xmlSAXLocator;
+typedef xmlSAXLocator *xmlSAXLocatorPtr;
+struct _xmlSAXLocator {
     const xmlChar *(*getPublicId)(void *ctx);
     const xmlChar *(*getSystemId)(void *ctx);
     int (*getLineNumber)(void *ctx);
     int (*getColumnNumber)(void *ctx);
-} _xmlSAXLocator;
-typedef _xmlSAXLocator xmlSAXLocator;
-typedef xmlSAXLocator *xmlSAXLocatorPtr;
+};
 
 /**
  * a SAX handler is bunch of callbacks called by the parser when processing
@@ -221,7 +224,9 @@
 typedef int (*hasInternalSubsetSAXFunc) (void *ctx);
 typedef int (*hasExternalSubsetSAXFunc) (void *ctx);
 
-typedef struct xmlSAXHandler {
+typedef struct _xmlSAXHandler xmlSAXHandler;
+typedef xmlSAXHandler *xmlSAXHandlerPtr;
+struct _xmlSAXHandler {
     internalSubsetSAXFunc internalSubset;
     isStandaloneSAXFunc isStandalone;
     hasInternalSubsetSAXFunc hasInternalSubset;
@@ -248,8 +253,7 @@
     fatalErrorSAXFunc fatalError;
     getParameterEntitySAXFunc getParameterEntity;
     cdataBlockSAXFunc cdataBlock;
-} xmlSAXHandler;
-typedef xmlSAXHandler *xmlSAXHandlerPtr;
+};
 
 /**
  * External entity loaders types
diff --git a/result/HTML/fp40.htm b/result/HTML/fp40.htm
index cdff576..85f0931 100644
--- a/result/HTML/fp40.htm
+++ b/result/HTML/fp40.htm
@@ -94,7 +94,7 @@
 <h3><a name="kb">Microsoft Knowledge Base</a></h3>
 <p>For further technical information on FrontPage, please consult Support Online. Use Support
 Online to easily search Microsoft Product Support Services' collection of resources including 
-technical articles from Microsoft's extensive Knowledge Base, FAQs,  troubleshooters to find 
+technical articles from Microsoft's extensive Knowledge Base, FAQs, &amp; troubleshooters to find 
 fast, accurate answers. You can also customize the site to control your search using either 
 keywords or the site's natural language search engine, which uses normal everyday language for 
 answering inquiries, so you can write your question in your own words. To begin, go to
diff --git a/result/HTML/wired.html b/result/HTML/wired.html
index e861450..509bc1b 100644
--- a/result/HTML/wired.html
+++ b/result/HTML/wired.html
@@ -3,7 +3,7 @@
 <head><title>Top Stories News from Wired News</title></head>
 <body bgcolor="#FFFFFF" text="#000000" link="#333399" vlink="#660066" alink="#666699">
 <table border="0" width="600" cellspacing="0" cellpadding="0"><tr>
-<td valign="top" align="LEFT"><table BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="468" HEIGHT="60" BGCOLOR="#FFFFFF"><form METHOD="GET" ACTION="http://nsads.hotwired.com/event.ng/Type=click&ProfileID=9688&RunID=14074&AdID=22584&GroupID=1&FamilyID=2684&TagValues=8.25.156.159.166.171.172.174.179.180.181.182.183.196.197.199.208.389.412.436.2041.6750.78456.79630.81880&amp;Redirect=http://www.springstreet.com/aa/citysearch.htm" id="form1" name="form1">
+<td valign="top" align="LEFT"><table BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="468" HEIGHT="60" BGCOLOR="#FFFFFF"><form METHOD="GET" ACTION="http://nsads.hotwired.com/event.ng/Type=click&amp;ProfileID=9688&amp;RunID=14074&amp;AdID=22584&amp;GroupID=1&amp;FamilyID=2684&amp;TagValues=8.25.156.159.166.171.172.174.179.180.181.182.183.196.197.199.208.389.412.436.2041.6750.78456.79630.81880&amp;Redirect=http://www.springstreet.com/aa/citysearch.htm" id="form1" name="form1">
 <tr>
 <td BGCOLOR="#330099"><input NAME="city" TYPE="text" SIZE="7" MAXLENGTH="20" VALUE="Seattle"></td>
 <td ROWSPAN="2" ALIGN="LEFT" BGCOLOR="FFFFFF"><input TYPE="IMAGE" SRC="http://static.wired.com/advertising/blipverts/allapartments/990625jpa_ssthome.gif" WIDTH="375" HEIGHT="60" BORDER="0" VALUE="search" HSPACE="0" alt="Search over 6,000,000 Apts with SpringStreet"></td>
@@ -66,7 +66,7 @@
 <input TYPE="hidden" NAME="source" VALUE="2hb8bhc059">
 </td></tr>
 </form></table>
-<td valign="top" align="RIGHT"><a href="http://nsads.hotwired.com/event.ng/Type=click&ProfileID=5597&RunID=17167&AdID=22588&GroupID=1&FamilyID=3228&TagValues=8.25.159.171.172.174.179.180.181.182.183.196.197.199.208.241.389.412.436.2035.6749.6750.70367.78456.79630.81880&amp;Redirect=http:%2F%2Fwww.hp.com%2Fgo%2Foriginal%20" TARGET="_top"><img src="http://static.wired.com/advertising/blipverts/hp_colorinkjet/hp_970c_120x60_6.gif" BORDER="1" height="60" width="120" alt="True to the Original"></a></td>
+<td valign="top" align="RIGHT"><a href="http://nsads.hotwired.com/event.ng/Type=click&amp;ProfileID=5597&amp;RunID=17167&amp;AdID=22588&amp;GroupID=1&amp;FamilyID=3228&amp;TagValues=8.25.159.171.172.174.179.180.181.182.183.196.197.199.208.241.389.412.436.2035.6749.6750.70367.78456.79630.81880&amp;Redirect=http:%2F%2Fwww.hp.com%2Fgo%2Foriginal%20" TARGET="_top"><img src="http://static.wired.com/advertising/blipverts/hp_colorinkjet/hp_970c_120x60_6.gif" BORDER="1" height="60" width="120" alt="True to the Original"></a></td>
 </tr></table>
 <!-- WIRED NEWS header --><!-- CMD_HOST = scoop.hotwired.com --><a name="#"></a>
 <table border="0" width="600" cellspacing="0" cellpadding="0">
@@ -89,15 +89,15 @@
 <td colspan="2" bgcolor="#999999"><table border="0" cellspacing="0" cellpadding="5"><form name="RedirectSearch" action="http://redirect.wired.com/search"><tr>
 <td><font face="courier" size="1"><input type="TEXT" name="query" size="20" value=""></font></td>
 <td><select name="url">
-<option value="http://search.hotwired.com/search97/s97.vts?Action=FilterSearch&Filter=docs_filter.hts&ResultTemplate=vignette.hts&Collection=vignette&QueryMode=Internet&Query=">Wired News</option>
-<option value="http://search.hotwired.com/search97/s97.vts?Action=FilterSearch&Filter=docs_filter.hts&ResultTemplate=webmonkey.hts&Collection=webmonkey&QueryMode=Internet&Query=">Webmonkey</option>
-<option value="http://search.hotwired.com/search97/s97.vts?collection=webmonkey_guides&Action=FilterSearch&filter=docs_filter.hts&ResultTemplate=webmonkey_guides.hts&QueryMode=Internet&Query=">Webmonkey Guides</option>
-<option value="http://search.hotwired.com/search97/s97.vts?collection=hotwired&Action=FilterSearch&filter=docs_filter.hts&ResultTemplate=hotwired_archive.hts&QueryMode=Internet&Query=">HotWired Archives</option>
-<option value="http://search.hotwired.com/search97/s97.vts?Action=FilterSearch&Filter=docs_filter.hts&ResultTemplate=magazine.hts&Collection=magazine&QueryMode=Internet&Query=">Wired Magazine</option>
-<option value="http://search.hotwired.com/search97/s97.vts?Action=FilterSearch&Filter=docs_filter.hts&ResultTemplate=animation.hts&Collection=animation&QueryMode=Internet&Query=">Animation Express</option>
-<option value="http://search.hotwired.com/search97/s97.vts?collection=suck&Action=FilterSearch&filter=docs_filter.hts&ResultTemplate=suck.hts&QueryMode=Internet&Query=">Suck.com</option>
-<option value="http://search.hotwired.com/search97/s97.vts?collection=uber_hotwired&Action=FilterSearch&filter=docs_filter.hts&ResultTemplate=uber_hotwired.hts&QueryMode=Internet&Query=">All of HotWired</option>
-<option value="http://www.hotbot.com/?SM=MC&DV=0&LG=any&RD=RG&DC=10&DE=2&_v=2&OPs=MDRTP&MT=">The Web -&gt; HotBot</option>
+<option value="http://search.hotwired.com/search97/s97.vts?Action=FilterSearch&amp;Filter=docs_filter.hts&amp;ResultTemplate=vignette.hts&amp;Collection=vignette&amp;QueryMode=Internet&amp;Query=">Wired News</option>
+<option value="http://search.hotwired.com/search97/s97.vts?Action=FilterSearch&amp;Filter=docs_filter.hts&amp;ResultTemplate=webmonkey.hts&amp;Collection=webmonkey&amp;QueryMode=Internet&amp;Query=">Webmonkey</option>
+<option value="http://search.hotwired.com/search97/s97.vts?collection=webmonkey_guides&amp;Action=FilterSearch&amp;filter=docs_filter.hts&amp;ResultTemplate=webmonkey_guides.hts&amp;QueryMode=Internet&amp;Query=">Webmonkey Guides</option>
+<option value="http://search.hotwired.com/search97/s97.vts?collection=hotwired&amp;Action=FilterSearch&amp;filter=docs_filter.hts&amp;ResultTemplate=hotwired_archive.hts&amp;QueryMode=Internet&amp;Query=">HotWired Archives</option>
+<option value="http://search.hotwired.com/search97/s97.vts?Action=FilterSearch&amp;Filter=docs_filter.hts&amp;ResultTemplate=magazine.hts&amp;Collection=magazine&amp;QueryMode=Internet&amp;Query=">Wired Magazine</option>
+<option value="http://search.hotwired.com/search97/s97.vts?Action=FilterSearch&amp;Filter=docs_filter.hts&amp;ResultTemplate=animation.hts&amp;Collection=animation&amp;QueryMode=Internet&amp;Query=">Animation Express</option>
+<option value="http://search.hotwired.com/search97/s97.vts?collection=suck&amp;Action=FilterSearch&amp;filter=docs_filter.hts&amp;ResultTemplate=suck.hts&amp;QueryMode=Internet&amp;Query=">Suck.com</option>
+<option value="http://search.hotwired.com/search97/s97.vts?collection=uber_hotwired&amp;Action=FilterSearch&amp;filter=docs_filter.hts&amp;ResultTemplate=uber_hotwired.hts&amp;QueryMode=Internet&amp;Query=">All of HotWired</option>
+<option value="http://www.hotbot.com/?SM=MC&amp;DV=0&amp;LG=any&amp;RD=RG&amp;DC=10&amp;DE=2&amp;_v=2&amp;OPs=MDRTP&amp;MT=">The Web -&gt; HotBot</option>
 </select></td>
 <td><input type="SUBMIT" name="SUBMIT" value="SEARCH"></td>
 </tr></form></table>
@@ -205,7 +205,7 @@
 </form></td></tr>
 <tr align="left" valign="top"><td valign="top" bgcolor="#CCFFCC">
 <input type="submit" value="GO">
-<img SRC="http://barnesandnoble.bfast.com/booklink/serve?sourceid=383471&is_search=Y" border="0" align="top">
+<img SRC="http://barnesandnoble.bfast.com/booklink/serve?sourceid=383471&amp;is_search=Y" border="0" align="top">
 <!--
 <IMG SRC="http://www.wired.com/partner/bn/trackingimg/ot_wn_nav_c_bn.gif" border=0 width=1 height=1 align=top>
 -->
@@ -306,7 +306,7 @@
 <font size="1" face="Arial, Geneva, sans-serif" color="#000000">Ongoing goings-on. </font>
 <br>
 <br>
-<font size="2" face="Arial,Helvetica, sans-serif"><b><a href="/news/commentarySection/0,1292,31926,00.html">Rants  Raves</a></b></font>
+<font size="2" face="Arial,Helvetica, sans-serif"><b><a href="/news/commentarySection/0,1292,31926,00.html">Rants &amp; Raves</a></b></font>
 <br>
 <font size="2" face="Arial, Helvetica, sans-serif">
 <font size="1" face="Arial, Geneva, sans-serif" color="#000000">Readers on Apple's G4 ... AOL's passwords ... MS vs. Linux.</font>
@@ -404,8 +404,8 @@
 <br>
 <font size="1" face="Arial, Helvetica, sans-serif" color="#000000">An IS/IT resource <br>
 <i>Sponsored by <a href="http://r.wired.com/r/wn_is_r_ssec/http://ad.doubleclick.net/clk;653163;3599571;s?http://www.sprintbiz.com/s
-ervlet/appservlet?from=/wired/sprint/&template=/security/security.html&SITE=
-wired.com&BANNER=Sprint" style="text-decoration:none"><font color="#000000">Sprint</font></a>
+ervlet/appservlet?from=/wired/sprint/&amp;template=/security/security.html&amp;SITE=
+wired.com&amp;BANNER=Sprint" style="text-decoration:none"><font color="#000000">Sprint</font></a>
 </i>
 </font>
 </font>
@@ -445,7 +445,7 @@
 Contruction workers in Berlin opened an old wound in the German psyche this week when they accidentally stumbled across Adolf Hitler's bunker while excavating near the Brandenburg Gate. The bunker, just south of the Gate, was where Hitler and his closest associates barricaded themselves as the Red Army approached Berlin in the waning days of World War II. It is also where the F&#252;hrer and his bride, Eva Braun, committed suicide rather than fall into the hands of the Russians. Although the bunker's location has never been a mystery, it has been sealed off since the end of the war to keep neo-Nazis from turning it into a shrine.

 <br>
 </p>
-<li>More from <a href="http://www.lycos.com/news/flash/hitlerbunker.html?v=wn1015&lpv=1">Lycos</a>
+<li>More from <a href="http://www.lycos.com/news/flash/hitlerbunker.html?v=wn1015&amp;lpv=1">Lycos</a>
 </li>
 </font>
 <br>
diff --git a/tree.c b/tree.c
index bbeb90b..f21c76e 100644
--- a/tree.c
+++ b/tree.c
@@ -690,7 +690,7 @@
 
     while (node != NULL) {
         if (node->type == XML_TEXT_NODE) {
-	    if ((inLine) || (doc->type == XML_HTML_DOCUMENT_NODE)) {
+	    if (inLine) {
 #ifndef XML_USE_BUFFER_CONTENT
 		ret = xmlStrcat(ret, node->content);
 #else
@@ -941,6 +941,10 @@
         fprintf(stderr, "xmlFreeProp : property == NULL\n");
 	return;
     }
+    /* Check for ID removal -> leading to invalid references ! */
+    if ((cur->node != NULL) && 
+        (xmlIsID(cur->node->doc, cur->node, cur)))
+        xmlRemoveID(cur->node->doc, cur);
     if (cur->name != NULL) xmlFree((char *) cur->name);
     if (cur->val != NULL) xmlFreeNodeList(cur->val);
     memset(cur, -1, sizeof(xmlAttr));
diff --git a/tree.h b/tree.h
index 0ff3a51..1346994 100644
--- a/tree.h
+++ b/tree.h
@@ -67,12 +67,13 @@
  * a DTD Notation definition
  */
 
-typedef struct xmlNotation {
+typedef struct _xmlNotation xmlNotation;
+typedef xmlNotation *xmlNotationPtr;
+struct _xmlNotation {
     const xmlChar               *name;	/* Notation name */
     const xmlChar               *PublicID;	/* Public identifier, if any */
     const xmlChar               *SystemID;	/* System identifier, if any */
-} xmlNotation;
-typedef xmlNotation *xmlNotationPtr;
+};
 
 /*
  * a DTD Attribute definition
@@ -98,23 +99,25 @@
     XML_ATTRIBUTE_FIXED
 } xmlAttributeDefault;
 
-typedef struct xmlEnumeration {
-    struct xmlEnumeration    *next;	/* next one */
-    const xmlChar            *name;	/* Enumeration name */
-} xmlEnumeration;
+typedef struct _xmlEnumeration xmlEnumeration;
 typedef xmlEnumeration *xmlEnumerationPtr;
+struct _xmlEnumeration {
+    struct _xmlEnumeration    *next;	/* next one */
+    const xmlChar            *name;	/* Enumeration name */
+};
 
-typedef struct xmlAttribute {
+typedef struct _xmlAttribute xmlAttribute;
+typedef xmlAttribute *xmlAttributePtr;
+struct _xmlAttribute {
     const xmlChar         *elem;	/* Element holding the attribute */
     const xmlChar         *name;	/* Attribute name */
-    struct xmlAttribute   *next;        /* list of attributes of an element */
+    struct _xmlAttribute   *next;       /* list of attributes of an element */
     xmlAttributeType       type;	/* The type */
     xmlAttributeDefault    def;		/* the default */
     const xmlChar         *defaultValue;/* or the default value */
     xmlEnumerationPtr      tree;        /* or the enumeration tree if any */
     const xmlChar         *prefix;      /* the namespace prefix if any */
-} xmlAttribute;
-typedef xmlAttribute *xmlAttributePtr;
+};
 
 /*
  * a DTD Element definition.
@@ -133,14 +136,15 @@
     XML_ELEMENT_CONTENT_PLUS
 } xmlElementContentOccur;
 
-typedef struct xmlElementContent {
+typedef struct _xmlElementContent xmlElementContent;
+typedef xmlElementContent *xmlElementContentPtr;
+struct _xmlElementContent {
     xmlElementContentType     type;	/* PCDATA, ELEMENT, SEQ or OR */
     xmlElementContentOccur    ocur;	/* ONCE, OPT, MULT or PLUS */
     const xmlChar            *name;	/* Element name */
-    struct xmlElementContent *c1;	/* first child */
-    struct xmlElementContent *c2;	/* second child */
-} xmlElementContent;
-typedef xmlElementContent *xmlElementContentPtr;
+    struct _xmlElementContent *c1;	/* first child */
+    struct _xmlElementContent *c2;	/* second child */
+};
 
 typedef enum {
     XML_ELEMENT_TYPE_EMPTY = 1,
@@ -149,13 +153,14 @@
     XML_ELEMENT_TYPE_ELEMENT
 } xmlElementTypeVal;
 
-typedef struct xmlElement {
+typedef struct _xmlElement xmlElement;
+typedef xmlElement *xmlElementPtr;
+struct _xmlElement {
     const xmlChar          *name;	/* Element name */
     xmlElementTypeVal       type;	/* The type */
     xmlElementContentPtr content;	/* the allowed element content */
     xmlAttributePtr   attributes;	/* List of the declared attributes */
-} xmlElement;
-typedef xmlElement *xmlElementPtr;
+};
 
 /*
  * An XML namespace.
@@ -168,18 +173,21 @@
     XML_LOCAL_NAMESPACE		/* new style local scoping */
 } xmlNsType;
 
-typedef struct xmlNs {
-    struct xmlNs  *next;	/* next Ns link for this node  */
+typedef struct _xmlNs xmlNs;
+typedef xmlNs *xmlNsPtr;
+struct _xmlNs {
+    struct _xmlNs  *next;	/* next Ns link for this node  */
     xmlNsType      type;	/* global or local */
     const xmlChar *href;	/* URL for the namespace */
     const xmlChar *prefix;	/* prefix for the namespace */
-} xmlNs;
-typedef xmlNs *xmlNsPtr;
+};
 
 /*
  * An XML DtD, as defined by <!DOCTYPE.
  */
-typedef struct xmlDtd {
+typedef struct _xmlDtd xmlDtd;
+typedef xmlDtd *xmlDtdPtr;
+struct _xmlDtd {
     const xmlChar *name;	/* Name of the DTD */
     const xmlChar *ExternalID;	/* External identifier for PUBLIC DTD */
     const xmlChar *SystemID;	/* URI for a SYSTEM or PUBLIC DTD */
@@ -188,47 +196,49 @@
     void          *attributes;  /* Hash table for attributes if any */
     void          *entities;    /* Hash table for entities if any */
     /* struct xmlDtd *next;	 * next  link for this document  */
-} xmlDtd;
-typedef xmlDtd *xmlDtdPtr;
+};
 
 /*
  * A attribute of an XML node.
  */
-typedef struct xmlAttr {
+typedef struct _xmlAttr xmlAttr;
+typedef xmlAttr *xmlAttrPtr;
+struct _xmlAttr {
 #ifndef XML_WITHOUT_CORBA
     void           *_private;	/* for Corba, must be first ! */
     void           *vepv;	/* for Corba, must be next ! */
 #endif
     xmlElementType  type;       /* XML_ATTRIBUTE_NODE, must be third ! */
-    struct xmlNode *node;	/* attr->node link */
-    struct xmlAttr *next;	/* attribute list link */
-    const xmlChar  *name;       /* the name of the property */
-    struct xmlNode *val;        /* the value of the property */
-    xmlNs          *ns;         /* pointer to the associated namespace */
-} xmlAttr;
-typedef xmlAttr *xmlAttrPtr;
+    struct _xmlNode *node;	/* attr->node link */
+    struct _xmlAttr *next;	/* attribute list link */
+    const xmlChar   *name;      /* the name of the property */
+    struct _xmlNode *val;       /* the value of the property */
+    xmlNs           *ns;        /* pointer to the associated namespace */
+};
 
 /*
  * An XML ID instance.
  */
 
-typedef struct xmlID {
-    struct xmlID     *next;	/* next ID */
+typedef struct _xmlID xmlID;
+typedef xmlID *xmlIDPtr;
+struct _xmlID {
+    struct _xmlID    *next;	/* next ID */
     const xmlChar    *value;	/* The ID name */
     xmlAttrPtr        attr;	/* The attribut holding it */
-} xmlID;
-typedef xmlID *xmlIDPtr;
+};
 
 /*
  * An XML IDREF instance.
  */
 
-typedef struct xmlRef {
-    struct xmlRef     *next;	/* next Ref */
+typedef struct _xmlRef xmlRef;
+typedef xmlRef *xmlRefPtr;
+struct _xmlRef {
+    struct _xmlRef    *next;	/* next Ref */
     const xmlChar     *value;	/* The Ref name */
     xmlAttrPtr        attr;	/* The attribut holding it */
-} xmlRef;
-typedef xmlRef *xmlRefPtr;
+};
 
 /*
  * A buffer structure
@@ -239,31 +249,33 @@
     XML_BUFFER_ALLOC_EXACT
 } xmlBufferAllocationScheme;
 
-typedef struct xmlBuffer {
+typedef struct _xmlBuffer xmlBuffer;
+typedef xmlBuffer *xmlBufferPtr;
+struct _xmlBuffer {
     xmlChar *content;		/* The buffer content UTF8 */
     unsigned int use;		/* The buffer size used */
     unsigned int size;		/* The buffer size */
     xmlBufferAllocationScheme alloc; /* The realloc method */
-} _xmlBuffer;
-typedef _xmlBuffer xmlBuffer;
-typedef xmlBuffer *xmlBufferPtr;
+};
 
 /*
  * A node in an XML tree.
  */
-typedef struct xmlNode {
+typedef struct _xmlNode xmlNode;
+typedef xmlNode *xmlNodePtr;
+struct _xmlNode {
 #ifndef XML_WITHOUT_CORBA
     void           *_private;	/* for Corba, must be first ! */
     void           *vepv;	/* for Corba, must be next ! */
 #endif
     xmlElementType  type;	/* type number in the DTD, must be third ! */
-    struct xmlDoc  *doc;	/* the containing document */
-    struct xmlNode *parent;	/* child->parent link */
-    struct xmlNode *next;	/* next sibling link  */
-    struct xmlNode *prev;	/* previous sibling link  */
-    struct xmlNode *childs;	/* parent->childs link */
-    struct xmlNode *last;	/* last child link */
-    struct xmlAttr *properties;	/* properties list */
+    struct _xmlDoc  *doc;	/* the containing document */
+    struct _xmlNode *parent;	/* child->parent link */
+    struct _xmlNode *next;	/* next sibling link  */
+    struct _xmlNode *prev;	/* previous sibling link  */
+    struct _xmlNode *childs;	/* parent->childs link */
+    struct _xmlNode *last;	/* last child link */
+    struct _xmlAttr *properties;/* properties list */
     const xmlChar  *name;       /* the name of the node, or the entity */
     xmlNs          *ns;         /* pointer to the associated namespace */
     xmlNs          *nsDef;      /* namespace definitions on this node */
@@ -272,14 +284,14 @@
 #else
     xmlBufferPtr   content;     /* the content in a buffer */
 #endif
-} _xmlNode;
-typedef _xmlNode xmlNode;
-typedef _xmlNode *xmlNodePtr;
+};
 
 /*
  * An XML document.
  */
-typedef struct xmlDoc {
+typedef struct _xmlDoc xmlDoc;
+typedef xmlDoc *xmlDocPtr;
+struct _xmlDoc {
 #ifndef XML_WITHOUT_CORBA
     void           *_private;	/* for Corba, must be first ! */
     void           *vepv;	/* for Corba, must be next ! */
@@ -290,15 +302,13 @@
     const xmlChar  *encoding;   /* encoding, if any */
     int             compression;/* level of zlib compression */
     int             standalone; /* standalone document (no external refs) */
-    struct xmlDtd  *intSubset;	/* the document internal subset */
-    struct xmlDtd  *extSubset;	/* the document external subset */
-    struct xmlNs   *oldNs;	/* Global namespace, the old way */
-    struct xmlNode *root;	/* the document tree */
+    struct _xmlDtd  *intSubset;	/* the document internal subset */
+    struct _xmlDtd  *extSubset;	/* the document external subset */
+    struct _xmlNs   *oldNs;	/* Global namespace, the old way */
+    struct _xmlNode *root;	/* the document tree */
     void           *ids;        /* Hash table for ID attributes if any */
     void           *refs;       /* Hash table for IDREFs attributes if any */
-} _xmlDoc;
-typedef _xmlDoc xmlDoc;
-typedef xmlDoc *xmlDocPtr;
+};
 
 /*
  * Variables.
diff --git a/valid.c b/valid.c
index f592c18..0efa3c6 100644
--- a/valid.c
+++ b/valid.c
@@ -713,7 +713,7 @@
  * @ctxt:  the validation context
  * @elem:  the element name
  *
- * Veryfy that the element don't have too many ID attributes
+ * Verify that the element don't have too many ID attributes
  * declared.
  *
  * Returns the number of ID attributes found.
@@ -1504,7 +1504,7 @@
 }
 
 /**
- * xmlIsID
+ * xmlIsID:
  * @doc:  the document
  * @elem:  the element carrying the attribute
  * @attr:  the attribute
@@ -1517,13 +1517,21 @@
  */
 int
 xmlIsID(xmlDocPtr doc, xmlNodePtr elem, xmlAttrPtr attr) {
+    if (doc == NULL) return(0);
+    if (attr == NULL) return(0);
     if ((doc->intSubset == NULL) && (doc->extSubset == NULL)) {
         if (((attr->name[0] == 'I') || (attr->name[0] == 'i')) &&
             ((attr->name[1] == 'D') || (attr->name[1] == 'd')) &&
 	    (attr->name[2] == 0)) return(1);
+    } else if (doc->type == XML_HTML_DOCUMENT_NODE) {
+        if ((!xmlStrcmp(BAD_CAST "id", attr->name)) ||
+	    (!xmlStrcmp(BAD_CAST "name", attr->name)))
+	    return(1);
+	return(0);    
     } else {
 	xmlAttributePtr attrDecl;
 
+	if (elem == NULL) return(0);
 	attrDecl = xmlGetDtdAttrDesc(doc->intSubset, elem->name, attr->name);
 	if ((attrDecl == NULL) && (doc->extSubset != NULL))
 	    attrDecl = xmlGetDtdAttrDesc(doc->extSubset, elem->name,
@@ -1536,6 +1544,42 @@
 }
 
 /**
+ * xmlRemoveID
+ * @doc:  the document
+ * @attr:  the attribute
+ *
+ * Remove the given attribute from the ID table maintained internally.
+ *
+ * Returns -1 if the lookup failed and 0 otherwise
+ */
+int
+xmlRemoveID(xmlDocPtr doc, xmlAttrPtr attr) {
+    xmlIDPtr cur;
+    xmlIDTablePtr table;
+    int i;
+
+    if (doc == NULL) return(-1);
+    if (attr == NULL) return(-1);
+    table = doc->ids;
+    if (table == NULL) 
+        return(-1);
+
+    /*
+     * Search the ID list.
+     */
+    for (i = 0;i < table->nb_ids;i++) {
+        cur = table->table[i];
+	if (cur->attr == attr) {
+	    table->nb_ids--;
+	    memmove(&table->table[i], &table->table[i+1],
+	            (table->nb_ids - i) * sizeof(xmlIDPtr));
+	    return(0);
+	}
+    }
+    return(-1);
+}
+
+/**
  * xmlGetID:
  * @doc:  pointer to the document
  * @ID:  the ID value
@@ -1723,7 +1767,7 @@
 }
 
 /**
- * xmlIsRef
+ * xmlIsRef:
  * @doc:  the document
  * @elem:  the element carrying the attribute
  * @attr:  the attribute
@@ -1758,11 +1802,47 @@
 }
 
 /**
+ * xmlRemoveRef
+ * @doc:  the document
+ * @attr:  the attribute
+ *
+ * Remove the given attribute from the Ref table maintained internally.
+ *
+ * Returns -1 if the lookup failed and 0 otherwise
+ */
+int
+xmlRemoveRef(xmlDocPtr doc, xmlAttrPtr attr) {
+    xmlRefPtr cur;
+    xmlRefTablePtr table;
+    int i;
+
+    if (doc == NULL) return(-1);
+    if (attr == NULL) return(-1);
+    table = doc->refs;
+    if (table == NULL) 
+        return(-1);
+
+    /*
+     * Search the Ref list.
+     */
+    for (i = 0;i < table->nb_refs;i++) {
+        cur = table->table[i];
+	if (cur->attr == attr) {
+	    table->nb_refs--;
+	    memmove(&table->table[i], &table->table[i+1],
+	            (table->nb_refs - i) * sizeof(xmlRefPtr));
+	    return(0);
+	}
+    }
+    return(-1);
+}
+
+/**
  * xmlGetRef:
  * @doc:  pointer to the document
  * @Ref:  the Ref value
  *
- * Search the attribute declaring the given Ref
+ * Search the next attribute declaring the given Ref
  *
  * Returns NULL if not found, otherwise the xmlAttrPtr defining the Ref
  */
diff --git a/valid.h b/valid.h
index 7190bbf..8c86b17 100644
--- a/valid.h
+++ b/valid.h
@@ -23,11 +23,13 @@
 typedef void (*xmlValidityErrorFunc) (void *ctx, const char *msg, ...);
 typedef void (*xmlValidityWarningFunc) (void *ctx, const char *msg, ...);
 
-typedef struct xmlValidCtxt {
+typedef struct _xmlValidCtxt xmlValidCtxt;
+typedef xmlValidCtxt *xmlValidCtxtPtr;
+struct _xmlValidCtxt {
     void *userData;			/* user specific data block */
     xmlValidityErrorFunc error;		/* the callback in case of errors */
     xmlValidityWarningFunc warning;	/* the callback in case of warning */
-} xmlValidCtxt, *xmlValidCtxtPtr;
+};
 
 /*
  * ALl notation declarations are stored in a table
@@ -36,12 +38,13 @@
 
 #define XML_MIN_NOTATION_TABLE	32
 
-typedef struct xmlNotationTable {
+typedef struct _xmlNotationTable xmlNotationTable;
+typedef xmlNotationTable *xmlNotationTablePtr;
+struct _xmlNotationTable {
     int nb_notations;		/* number of notations stored */
     int max_notations;		/* maximum number of notations */
     xmlNotationPtr *table;	/* the table of attributes */
-} xmlNotationTable;
-typedef xmlNotationTable *xmlNotationTablePtr;
+};
 
 /*
  * ALl element declarations are stored in a table
@@ -50,12 +53,13 @@
 
 #define XML_MIN_ELEMENT_TABLE	32
 
-typedef struct xmlElementTable {
+typedef struct _xmlElementTable xmlElementTable;
+typedef xmlElementTable *xmlElementTablePtr;
+struct _xmlElementTable {
     int nb_elements;		/* number of elements stored */
     int max_elements;		/* maximum number of elements */
     xmlElementPtr *table;	/* the table of elements */
-} xmlElementTable;
-typedef xmlElementTable *xmlElementTablePtr;
+};
 
 /*
  * ALl attribute declarations are stored in a table
@@ -64,12 +68,13 @@
 
 #define XML_MIN_ATTRIBUTE_TABLE	32
 
-typedef struct xmlAttributeTable {
+typedef struct _xmlAttributeTable xmlAttributeTable;
+typedef xmlAttributeTable *xmlAttributeTablePtr;
+struct _xmlAttributeTable {
     int nb_attributes;		/* number of attributes stored */
     int max_attributes;		/* maximum number of attributes */
     xmlAttributePtr *table;	/* the table of attributes */
-} xmlAttributeTable;
-typedef xmlAttributeTable *xmlAttributeTablePtr;
+};
 
 /*
  * ALl IDs attributes are stored in a table
@@ -78,12 +83,13 @@
 
 #define XML_MIN_ID_TABLE	32
 
-typedef struct xmlIDTable {
+typedef struct _xmlIDTable xmlIDTable;
+typedef xmlIDTable *xmlIDTablePtr;
+struct _xmlIDTable {
     int nb_ids;			/* number of ids stored */
     int max_ids;		/* maximum number of ids */
     xmlIDPtr *table;		/* the table of ids */
-} xmlIDTable;
-typedef xmlIDTable *xmlIDTablePtr;
+};
 
 /*
  * ALl Refs attributes are stored in a table
@@ -92,12 +98,13 @@
 
 #define XML_MIN_REF_TABLE	32
 
-typedef struct xmlRefTable {
+typedef struct _xmlRefTable xmlRefTable;
+typedef xmlRefTable *xmlRefTablePtr;
+struct _xmlRefTable {
     int nb_refs;			/* number of refs stored */
     int max_refs;		/* maximum number of refs */
     xmlRefPtr *table;		/* the table of refs */
-} xmlRefTable;
-typedef xmlRefTable *xmlRefTablePtr;
+};
 
 /* Notation */
 xmlNotationPtr	    xmlAddNotationDecl	(xmlValidCtxtPtr ctxt,
@@ -158,6 +165,7 @@
 int		xmlIsID		(xmlDocPtr doc,
 				 xmlNodePtr elem,
 				 xmlAttrPtr attr);
+int		xmlRemoveID	(xmlDocPtr doc, xmlAttrPtr attr);
 
 /* IDREFs */
 xmlRefPtr	xmlAddRef	(xmlValidCtxtPtr ctxt,
@@ -169,6 +177,7 @@
 int		xmlIsRef	(xmlDocPtr doc,
 				 xmlNodePtr elem,
 				 xmlAttrPtr attr);
+int		xmlRemoveRef	(xmlDocPtr doc, xmlAttrPtr attr);
 
 /**
  * The public function calls related to validity checking
diff --git a/xlink.h b/xlink.h
index 1533148..0bcceeb 100644
--- a/xlink.h
+++ b/xlink.h
@@ -148,12 +148,13 @@
  * There is no default xlink callbacks, if one want to get link
  * recognition activated, those call backs must be provided before parsing.
  */
-typedef struct xlinkHandler {
+typedef struct _xlinkHandler xlinkHandler;
+typedef xlinkHandler *xlinkHandlerPtr;
+struct _xlinkHandler {
     xlinkSimpleLinkFunk simple;
     xlinkExtendedLinkFunk extended;
     xlinkExtendedLinkSetFunk set;
-} xlinkHandler;
-typedef xlinkHandler *xlinkHandlerPtr;
+};
 
 /**
  * the default detection routine, can be overriden, they call the default
diff --git a/xmlIO.h b/xmlIO.h
index bf43de2..48bbcbb 100644
--- a/xmlIO.h
+++ b/xmlIO.h
@@ -18,7 +18,9 @@
 extern "C" {
 #endif
 
-typedef struct xmlParserInputBuffer {
+typedef struct _xmlParserInputBuffer xmlParserInputBuffer;
+typedef xmlParserInputBuffer *xmlParserInputBufferPtr;
+struct _xmlParserInputBuffer {
     /* Inputs */
     FILE          *file;    /* Input on file handler */
     void*        gzfile;    /* Input on a compressed stream */
@@ -29,9 +31,8 @@
     
     xmlBufferPtr buffer;    /* Local buffer encoded in  UTF-8 */
 
-} xmlParserInputBuffer;
+};
 
-typedef xmlParserInputBuffer *xmlParserInputBufferPtr;
 
 /*
  * Interfaces
diff --git a/xpath.h b/xpath.h
index 84c8305..c0222e6 100644
--- a/xpath.h
+++ b/xpath.h
@@ -18,16 +18,21 @@
 extern "C" {
 #endif
 
-typedef struct xmlXPathParserContext *xmlXPathParserContextPtr;
+typedef struct _xmlXPathContext xmlXPathContext;
+typedef xmlXPathContext *xmlXPathContextPtr;
+typedef struct _xmlXPathParserContext xmlXPathParserContext;
+typedef xmlXPathParserContext *xmlXPathParserContextPtr;
 
 /*
  * A node-set (an unordered collection of nodes without duplicates) 
  */
-typedef struct xmlNodeSet {
+typedef struct _xmlNodeSet xmlNodeSet;
+typedef xmlNodeSet *xmlNodeSetPtr;
+struct _xmlNodeSet {
     int nodeNr;			/* # of node in the set */
     int nodeMax;		/* allocated space */
     xmlNodePtr *nodeTab;	/* array of nodes in no particular order */
-} xmlNodeSet, *xmlNodeSetPtr;
+};
 
 /*
  * An expression is evaluated to yield an object, which
@@ -45,14 +50,16 @@
 #define XPATH_STRING	4
 #define XPATH_USERS	5
 
-typedef struct xmlXPathObject {
+typedef struct _xmlXPathObject xmlXPathObject;
+typedef xmlXPathObject *xmlXPathObjectPtr;
+struct _xmlXPathObject {
     int type;
     xmlNodeSetPtr nodesetval;
     int boolval;
     double floatval;
     xmlChar *stringval;
     void *user;
-} xmlXPathObject, *xmlXPathObjectPtr;
+};
 
 /*
  * A conversion function is associated to a type and used to cast
@@ -64,19 +71,23 @@
  * Extra type: a name and a conversion function.
  */
 
-typedef struct xmlXPathType {
+typedef struct _xmlXPathType xmlXPathType;
+typedef xmlXPathType *xmlXPathTypePtr;
+struct _xmlXPathType {
     const xmlChar         *name;		/* the type name */
     xmlXPathConvertFunc func;		/* the conversion function */
-} xmlXPathType, *xmlXPathTypePtr;
+};
 
 /*
  * Extra variable: a name and a value.
  */
 
-typedef struct xmlXPathVariable {
+typedef struct _xmlXPathVariable xmlXPathVariable;
+typedef xmlXPathVariable *xmlXPathVariablePtr;
+struct _xmlXPathVariable {
     const xmlChar       *name;		/* the variable name */
     xmlXPathObjectPtr value;		/* the value */
-} xmlXPathVariable, *xmlXPathVariablePtr;
+};
 
 /*
  * an evaluation function, the parameters are on the context stack
@@ -88,10 +99,12 @@
  * Extra function: a name and a evaluation function.
  */
 
-typedef struct xmlXPathFunct {
+typedef struct _xmlXPathFunct xmlXPathFunct;
+typedef xmlXPathFunct *xmlXPathFuncPtr;
+struct _xmlXPathFunct {
     const xmlChar      *name;		/* the function name */
     xmlXPathEvalFunc func;		/* the evaluation function */
-} xmlXPathFunc, *xmlXPathFuncPtr;
+};
 
 /*
  * An axis traversal function. To traverse an axis, the engine calls
@@ -106,10 +119,12 @@
  * Extra axis: a name and an axis function.
  */
 
-typedef struct xmlXPathAxis {
+typedef struct _xmlXPathAxis xmlXPathAxis;
+typedef xmlXPathAxis *xmlXPathAxisPtr;
+struct _xmlXPathAxis {
     const xmlChar      *name;		/* the axis name */
     xmlXPathAxisFunc func;		/* the search function */
-} xmlXPathAxis, *xmlXPathAxisPtr;
+};
 
 /* 
  * Expression evaluation occurs with respect to a context.
@@ -121,7 +136,7 @@
  *    - the set of namespace declarations in scope for the expression 
  */
 
-typedef struct xmlXPathContext {
+struct _xmlXPathContext {
     xmlDocPtr doc;			/* The current document */
     xmlNodePtr node;			/* The current node */
     xmlNodeSetPtr nodelist;		/* The current node list */
@@ -146,13 +161,13 @@
     xmlNsPtr *namespaces;		/* The namespaces lookup */
     int nsNr;				/* the current Namespace index */
     void *user;				/* user defined extra info */
-} xmlXPathContext, *xmlXPathContextPtr;
+};
 
 /*
  * An XPath parser context, it contains pure parsing informations,
  * an xmlXPathContext, and the stack of objects.
  */
-typedef struct xmlXPathParserContext {
+struct _xmlXPathParserContext {
     const xmlChar *cur;			/* the current char being parsed */
     const xmlChar *base;			/* the full expression */
 
@@ -163,7 +178,7 @@
     int                 valueNr;	/* number of values stacked */
     int                valueMax;	/* max number of values stacked */
     xmlXPathObjectPtr *valueTab;	/* stack of values */
-} xmlXPathParserContext;
+};
 
 /*
  * An XPath function