Cleanup, cleanup .. removed libxml softlink for good cleanup to get 100%

Cleanup, cleanup ..
* configure.in Makefile.am: removed libxml softlink for good
* include/libxml/*.h *.c doc/Makefile.am: cleanup to get
  100% coverage by gtk-doc
Daniel
diff --git a/ChangeLog b/ChangeLog
index 32755a5..a6be614 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Thu Jul 19 15:29:26 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
+
+	* configure.in Makefile.am: removed libxml softlink for good
+	* include/libxml/*.h *.c doc/Makefile.am: cleanup to get
+	  100% coverage by gtk-doc
+
 Tue Jul 17 17:36:46 EDT 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
 
 	* xmlmemory.c include/libxml/xmlmemory.h: debugging on IA64,
diff --git a/HTMLparser.c b/HTMLparser.c
index 8812c3d..4f37f6a 100644
--- a/HTMLparser.c
+++ b/HTMLparser.c
@@ -1785,6 +1785,9 @@
  * @URI:  URI for the dtd, or NULL
  * @ExternalID:  the external ID of the DTD, or NULL
  *
+ * Creates a new HTML document without a DTD node if @URI and @ExternalID
+ * are NULL
+ *
  * Returns a new document, do not intialize the DTD if not provided
  */
 htmlDocPtr
@@ -1827,6 +1830,8 @@
  * @URI:  URI for the dtd, or NULL
  * @ExternalID:  the external ID of the DTD, or NULL
  *
+ * Creates a new HTML document
+ *
  * Returns a new document
  */
 htmlDocPtr
diff --git a/Makefile.am b/Makefile.am
index 202b2c9..a6f4331 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -79,14 +79,6 @@
 
 check-local: tests
 
-$(srcdir)/libxml:
-	-$(RM) -f $(srcdir)/libxml
-	ln -s $(srcdir)/. $(srcdir)/libxml
-
-install-data: $(srcdir)/libxml
-
-$(libxml2_la_SOURCES): $(srcdir)/libxml
-
 testall : tests SVGtests SAXtests
 
 tests: XMLtests XMLenttests HTMLtests Validtests URItests XPathtests XPtrtests XIncludetests Scripttests
diff --git a/catalog.c b/catalog.c
index f4b6188..9664c4f 100644
--- a/catalog.c
+++ b/catalog.c
@@ -473,7 +473,7 @@
  *									*
  ************************************************************************/
 
-/*
+/**
  * xmlLoadCatalog:
  * @filename:  a file path
  *
@@ -548,7 +548,7 @@
     return(ret);
 }
 
-/*
+/**
  * xmlLoadCatalogs:
  * @paths:  a list of file path separated by ':' or spaces
  *
diff --git a/configure.in b/configure.in
index 977dde3..068061c 100644
--- a/configure.in
+++ b/configure.in
@@ -441,24 +441,5 @@
 AC_SUBST(M_LIBS)
 AC_SUBST(RDL_LIBS)
 
-dnl
-dnl cleanup any remaining symlinks if any for include/libxml, this
-dnl is only needed for the people using CVS and transitionning
-dnl
-if test -d $srcdir/include/CVS
-then
-    if test -L $srcdir/include/libxml
-    then
-	    rm -rf $srcdir/include/libxml
-	    echo The CVS repository changed a bit
-	    echo 'please run "cvs update -d" and rerun the configuration script'
-	    exit 1
-    fi
-    if test -e $srcdir/xmlversion.h
-    then
-	rm -f $srcdir/xmlversion.h
-    fi
-fi
-
 AC_OUTPUT(libxml.spec Makefile include/Makefile include/libxml/Makefile doc/Makefile example/Makefile include/libxml/xmlversion.h include/libxml/xmlwin32version.h xml2-config libxml-2.0.pc xml2Conf.sh)
 
diff --git a/debugXML.c b/debugXML.c
index a36ad03..3056548 100644
--- a/debugXML.c
+++ b/debugXML.c
@@ -29,18 +29,31 @@
 #define IS_BLANK(c)							\
   (((c) == '\n') || ((c) == '\r') || ((c) == '\t') || ((c) == ' '))
 
-void xmlDebugDumpString(FILE *output, const xmlChar *str) {
+/**
+ * xmlDebugDumpString:
+ * @output:  the FILE * for the output
+ * @str:  the string
+ *
+ * Dumps informations about the string, shorten it if necessary
+ */
+void
+xmlDebugDumpString(FILE * output, const xmlChar * str)
+{
     int i;
+
     if (str == NULL) {
-	fprintf(output, "(NULL)");
-	return;
+        fprintf(output, "(NULL)");
+        return;
     }
-    for (i = 0;i < 40;i++)
-        if (str[i] == 0) return;
-	else if (IS_BLANK(str[i])) fputc(' ', output);
-	else if (str[i] >= 0x80)
-	     fprintf(output, "#%X", str[i]);
-	else fputc(str[i], output);
+    for (i = 0; i < 40; i++)
+        if (str[i] == 0)
+            return;
+        else if (IS_BLANK(str[i]))
+            fputc(' ', output);
+        else if (str[i] >= 0x80)
+            fprintf(output, "#%X", str[i]);
+        else
+            fputc(str[i], output);
     fprintf(output, "...");
 }
 
@@ -457,7 +470,16 @@
     }
 }
 
-void xmlDebugDumpAttr(FILE *output, xmlAttrPtr attr, int depth) {
+/**
+ * xmlDebugDumpAttr:
+ * @output:  the FILE * for the output
+ * @attr:  the attribute
+ * @depth:  the indentation level.
+ *
+ * Dumps debug information for the attribute
+ */
+void
+xmlDebugDumpAttr(FILE *output, xmlAttrPtr attr, int depth) {
     int i;
     char shift[100];
 
@@ -495,298 +517,371 @@
     }
 }
 
-void xmlDebugDumpAttrList(FILE *output, xmlAttrPtr attr, int depth) {
+/**
+ * xmlDebugDumpAttrList:
+ * @output:  the FILE * for the output
+ * @attr:  the attribute list
+ * @depth:  the indentation level.
+ *
+ * Dumps debug information for the attribute list
+ */
+void
+xmlDebugDumpAttrList(FILE * output, xmlAttrPtr attr, int depth)
+{
     while (attr != NULL) {
         xmlDebugDumpAttr(output, attr, depth);
-	attr = attr->next;
+        attr = attr->next;
     }
 }
 
-void xmlDebugDumpOneNode(FILE *output, xmlNodePtr node, int depth) {
+/**
+ * xmlDebugDumpOneNode:
+ * @output:  the FILE * for the output
+ * @node:  the node
+ * @depth:  the indentation level.
+ *
+ * Dumps debug information for the element node, it is not recursive
+ */
+void
+xmlDebugDumpOneNode(FILE * output, xmlNodePtr node, int depth)
+{
     int i;
     char shift[100];
 
-    for (i = 0;((i < depth) && (i < 25));i++)
+    for (i = 0; ((i < depth) && (i < 25)); i++)
         shift[2 * i] = shift[2 * i + 1] = ' ';
     shift[2 * i] = shift[2 * i + 1] = 0;
 
     switch (node->type) {
-	case XML_ELEMENT_NODE:
-	    fprintf(output, shift);
-	    fprintf(output, "ELEMENT ");
-	    if ((node->ns != NULL) && (node->ns->prefix != NULL)) {
-		xmlDebugDumpString(output, node->ns->prefix);
-	        fprintf(output, ":");
-	    }
-	    xmlDebugDumpString(output, node->name);
-	    fprintf(output, "\n");
-	    break;
-	case XML_ATTRIBUTE_NODE:
-	    fprintf(output, shift);
-	    fprintf(output, "Error, ATTRIBUTE found here\n");
-	    break;
-	case XML_TEXT_NODE:
-	    fprintf(output, shift);
-	    fprintf(output, "TEXT\n");
-	    break;
-	case XML_CDATA_SECTION_NODE:
-	    fprintf(output, shift);
-	    fprintf(output, "CDATA_SECTION\n");
-	    break;
-	case XML_ENTITY_REF_NODE:
-	    fprintf(output, shift);
-	    fprintf(output, "ENTITY_REF(%s)\n", node->name);
-	    break;
-	case XML_ENTITY_NODE:
-	    fprintf(output, shift);
-	    fprintf(output, "ENTITY\n");
-	    break;
-	case XML_PI_NODE:
-	    fprintf(output, shift);
-	    fprintf(output, "PI %s\n", node->name);
-	    break;
-	case XML_COMMENT_NODE:
-	    fprintf(output, shift);
-	    fprintf(output, "COMMENT\n");
-	    break;
-	case XML_DOCUMENT_NODE:
-	case XML_HTML_DOCUMENT_NODE:
-	    fprintf(output, shift);
-	    fprintf(output, "Error, DOCUMENT found here\n");
-	    break;
-	case XML_DOCUMENT_TYPE_NODE:
-	    fprintf(output, shift);
-	    fprintf(output, "DOCUMENT_TYPE\n");
-	    break;
-	case XML_DOCUMENT_FRAG_NODE:
-	    fprintf(output, shift);
-	    fprintf(output, "DOCUMENT_FRAG\n");
-	    break;
-	case XML_NOTATION_NODE:
-	    fprintf(output, shift);
-	    fprintf(output, "NOTATION\n");
-	    break;
-	case XML_DTD_NODE:
-	    xmlDebugDumpDtdNode(output, (xmlDtdPtr) node, depth);
-	    return;
-	case XML_ELEMENT_DECL:
-	    xmlDebugDumpElemDecl(output, (xmlElementPtr) node, depth);
-	    return;
-	case XML_ATTRIBUTE_DECL:
-	    xmlDebugDumpAttrDecl(output, (xmlAttributePtr) node, depth);
-	    return;
+        case XML_ELEMENT_NODE:
+            fprintf(output, shift);
+            fprintf(output, "ELEMENT ");
+            if ((node->ns != NULL) && (node->ns->prefix != NULL)) {
+                xmlDebugDumpString(output, node->ns->prefix);
+                fprintf(output, ":");
+            }
+            xmlDebugDumpString(output, node->name);
+            fprintf(output, "\n");
+            break;
+        case XML_ATTRIBUTE_NODE:
+            fprintf(output, shift);
+            fprintf(output, "Error, ATTRIBUTE found here\n");
+            break;
+        case XML_TEXT_NODE:
+            fprintf(output, shift);
+            fprintf(output, "TEXT\n");
+            break;
+        case XML_CDATA_SECTION_NODE:
+            fprintf(output, shift);
+            fprintf(output, "CDATA_SECTION\n");
+            break;
+        case XML_ENTITY_REF_NODE:
+            fprintf(output, shift);
+            fprintf(output, "ENTITY_REF(%s)\n", node->name);
+            break;
+        case XML_ENTITY_NODE:
+            fprintf(output, shift);
+            fprintf(output, "ENTITY\n");
+            break;
+        case XML_PI_NODE:
+            fprintf(output, shift);
+            fprintf(output, "PI %s\n", node->name);
+            break;
+        case XML_COMMENT_NODE:
+            fprintf(output, shift);
+            fprintf(output, "COMMENT\n");
+            break;
+        case XML_DOCUMENT_NODE:
+        case XML_HTML_DOCUMENT_NODE:
+            fprintf(output, shift);
+            fprintf(output, "Error, DOCUMENT found here\n");
+            break;
+        case XML_DOCUMENT_TYPE_NODE:
+            fprintf(output, shift);
+            fprintf(output, "DOCUMENT_TYPE\n");
+            break;
+        case XML_DOCUMENT_FRAG_NODE:
+            fprintf(output, shift);
+            fprintf(output, "DOCUMENT_FRAG\n");
+            break;
+        case XML_NOTATION_NODE:
+            fprintf(output, shift);
+            fprintf(output, "NOTATION\n");
+            break;
+        case XML_DTD_NODE:
+            xmlDebugDumpDtdNode(output, (xmlDtdPtr) node, depth);
+            return;
+        case XML_ELEMENT_DECL:
+            xmlDebugDumpElemDecl(output, (xmlElementPtr) node, depth);
+            return;
+        case XML_ATTRIBUTE_DECL:
+            xmlDebugDumpAttrDecl(output, (xmlAttributePtr) node, depth);
+            return;
         case XML_ENTITY_DECL:
-	    xmlDebugDumpEntityDecl(output, (xmlEntityPtr) node, depth);
-	    return;
+            xmlDebugDumpEntityDecl(output, (xmlEntityPtr) node, depth);
+            return;
         case XML_NAMESPACE_DECL:
-	    xmlDebugDumpNamespace(output, (xmlNsPtr) node, depth);
-	    return;
+            xmlDebugDumpNamespace(output, (xmlNsPtr) node, depth);
+            return;
         case XML_XINCLUDE_START:
-	    fprintf(output, shift);
-	    fprintf(output, "INCLUDE START\n");
-	    return;
+            fprintf(output, shift);
+            fprintf(output, "INCLUDE START\n");
+            return;
         case XML_XINCLUDE_END:
-	    fprintf(output, shift);
-	    fprintf(output, "INCLUDE END\n");
-	    return;
-	default:
-	    fprintf(output, shift);
-	    fprintf(output, "NODE_%d !!!\n", node->type);
-	    return;
+            fprintf(output, shift);
+            fprintf(output, "INCLUDE END\n");
+            return;
+        default:
+            fprintf(output, shift);
+            fprintf(output, "NODE_%d !!!\n", node->type);
+            return;
     }
     if (node->doc == NULL) {
         fprintf(output, shift);
-	fprintf(output, "doc == NULL !!!\n");
+        fprintf(output, "doc == NULL !!!\n");
     }
-    if (node->nsDef != NULL) 
+    if (node->nsDef != NULL)
         xmlDebugDumpNamespaceList(output, node->nsDef, depth + 1);
     if (node->properties != NULL)
-	xmlDebugDumpAttrList(output, node->properties, depth + 1);
+        xmlDebugDumpAttrList(output, node->properties, depth + 1);
     if (node->type != XML_ENTITY_REF_NODE) {
-	if ((node->type != XML_ELEMENT_NODE) &&
-	    (node->content != NULL)) {
-            shift[2 * i] = shift[2 * i + 1] = ' ' ;
-            shift[2 * i + 2] = shift[2 * i + 3] = 0 ;
-	    fprintf(output, shift);
-	    fprintf(output, "content=");
-#ifndef XML_USE_BUFFER_CONTENT	    
-	    xmlDebugDumpString(output, node->content);
+        if ((node->type != XML_ELEMENT_NODE) && (node->content != NULL)) {
+            shift[2 * i] = shift[2 * i + 1] = ' ';
+            shift[2 * i + 2] = shift[2 * i + 3] = 0;
+            fprintf(output, shift);
+            fprintf(output, "content=");
+#ifndef XML_USE_BUFFER_CONTENT
+            xmlDebugDumpString(output, node->content);
 #else
-	    xmlDebugDumpString(output, xmlBufferContent(node->content));
+            xmlDebugDumpString(output, xmlBufferContent(node->content));
 #endif
-	    fprintf(output, "\n");
-	}
+            fprintf(output, "\n");
+        }
     } else {
         xmlEntityPtr ent;
-	ent = xmlGetDocEntity(node->doc, node->name);
-	if (ent != NULL)
-	    xmlDebugDumpEntity(output, ent, depth + 1);
+
+        ent = xmlGetDocEntity(node->doc, node->name);
+        if (ent != NULL)
+            xmlDebugDumpEntity(output, ent, depth + 1);
     }
     /*
      * Do a bit of checking
      */
     if (node->parent == NULL)
-	fprintf(output, "PBM: Node has no parent\n");
+        fprintf(output, "PBM: Node has no parent\n");
     if (node->doc == NULL)
-	fprintf(output, "PBM: Node has no doc\n");
+        fprintf(output, "PBM: Node has no doc\n");
     if ((node->parent != NULL) && (node->doc != node->parent->doc))
-	fprintf(output, "PBM: Node doc differs from parent's one\n");
+        fprintf(output, "PBM: Node doc differs from parent's one\n");
     if (node->prev == NULL) {
-	if ((node->parent != NULL) && (node->parent->children != node))
-	    fprintf(output, "PBM: Node has no prev and not first of list\n");
+        if ((node->parent != NULL) && (node->parent->children != node))
+            fprintf(output,
+                    "PBM: Node has no prev and not first of list\n");
     } else {
-	if (node->prev->next != node)
-	    fprintf(output, "PBM: Node prev->next : back link wrong\n");
+        if (node->prev->next != node)
+            fprintf(output, "PBM: Node prev->next : back link wrong\n");
     }
     if (node->next == NULL) {
-	if ((node->parent != NULL) && (node->parent->last != node))
-	    fprintf(output, "PBM: Node has no next and not last of list\n");
+        if ((node->parent != NULL) && (node->parent->last != node))
+            fprintf(output,
+                    "PBM: Node has no next and not last of list\n");
     } else {
-	if (node->next->prev != node)
-	    fprintf(output, "PBM: Node next->prev : forward link wrong\n");
+        if (node->next->prev != node)
+            fprintf(output, "PBM: Node next->prev : forward link wrong\n");
     }
 }
 
-void xmlDebugDumpNode(FILE *output, xmlNodePtr node, int depth) {
+/**
+ * xmlDebugDumpNode:
+ * @output:  the FILE * for the output
+ * @node:  the node
+ * @depth:  the indentation level.
+ *
+ * Dumps debug information for the element node, it is recursive
+ */
+void
+xmlDebugDumpNode(FILE * output, xmlNodePtr node, int depth)
+{
     xmlDebugDumpOneNode(output, node, depth);
     if ((node->children != NULL) && (node->type != XML_ENTITY_REF_NODE))
-	xmlDebugDumpNodeList(output, node->children, depth + 1);
+        xmlDebugDumpNodeList(output, node->children, depth + 1);
 }
 
-void xmlDebugDumpNodeList(FILE *output, xmlNodePtr node, int depth) {
+/**
+ * xmlDebugDumpNodeList:
+ * @output:  the FILE * for the output
+ * @node:  the node list
+ * @depth:  the indentation level.
+ *
+ * Dumps debug information for the list of element node, it is recursive
+ */
+void
+xmlDebugDumpNodeList(FILE * output, xmlNodePtr node, int depth)
+{
     while (node != NULL) {
         xmlDebugDumpNode(output, node, depth);
-	node = node->next;
+        node = node->next;
     }
 }
 
 
-void xmlDebugDumpDocumentHead(FILE *output, xmlDocPtr doc) {
-    if (output == NULL) output = stdout;
+/**
+ * xmlDebugDumpDocumentHead:
+ * @output:  the FILE * for the output
+ * @doc:  the document
+ *
+ * Dumps debug information cncerning the document, not recursive
+ */
+void
+xmlDebugDumpDocumentHead(FILE * output, xmlDocPtr doc)
+{
+    if (output == NULL)
+        output = stdout;
     if (doc == NULL) {
         fprintf(output, "DOCUMENT == NULL !\n");
-	return;
+        return;
     }
 
     switch (doc->type) {
-	case XML_ELEMENT_NODE:
-	    fprintf(output, "Error, ELEMENT found here ");
-	    break;
-	case XML_ATTRIBUTE_NODE:
-	    fprintf(output, "Error, ATTRIBUTE found here\n");
-	    break;
-	case XML_TEXT_NODE:
-	    fprintf(output, "Error, TEXT\n");
-	    break;
-	case XML_CDATA_SECTION_NODE:
-	    fprintf(output, "Error, CDATA_SECTION\n");
-	    break;
-	case XML_ENTITY_REF_NODE:
-	    fprintf(output, "Error, ENTITY_REF\n");
-	    break;
-	case XML_ENTITY_NODE:
-	    fprintf(output, "Error, ENTITY\n");
-	    break;
-	case XML_PI_NODE:
-	    fprintf(output, "Error, PI\n");
-	    break;
-	case XML_COMMENT_NODE:
-	    fprintf(output, "Error, COMMENT\n");
-	    break;
-	case XML_DOCUMENT_NODE:
-	    fprintf(output, "DOCUMENT\n");
-	    break;
-	case XML_HTML_DOCUMENT_NODE:
-	    fprintf(output, "HTML DOCUMENT\n");
-	    break;
-	case XML_DOCUMENT_TYPE_NODE:
-	    fprintf(output, "Error, DOCUMENT_TYPE\n");
-	    break;
-	case XML_DOCUMENT_FRAG_NODE:
-	    fprintf(output, "Error, DOCUMENT_FRAG\n");
-	    break;
-	case XML_NOTATION_NODE:
-	    fprintf(output, "Error, NOTATION\n");
-	    break;
-	default:
-	    fprintf(output, "NODE_%d\n", doc->type);
+        case XML_ELEMENT_NODE:
+            fprintf(output, "Error, ELEMENT found here ");
+            break;
+        case XML_ATTRIBUTE_NODE:
+            fprintf(output, "Error, ATTRIBUTE found here\n");
+            break;
+        case XML_TEXT_NODE:
+            fprintf(output, "Error, TEXT\n");
+            break;
+        case XML_CDATA_SECTION_NODE:
+            fprintf(output, "Error, CDATA_SECTION\n");
+            break;
+        case XML_ENTITY_REF_NODE:
+            fprintf(output, "Error, ENTITY_REF\n");
+            break;
+        case XML_ENTITY_NODE:
+            fprintf(output, "Error, ENTITY\n");
+            break;
+        case XML_PI_NODE:
+            fprintf(output, "Error, PI\n");
+            break;
+        case XML_COMMENT_NODE:
+            fprintf(output, "Error, COMMENT\n");
+            break;
+        case XML_DOCUMENT_NODE:
+            fprintf(output, "DOCUMENT\n");
+            break;
+        case XML_HTML_DOCUMENT_NODE:
+            fprintf(output, "HTML DOCUMENT\n");
+            break;
+        case XML_DOCUMENT_TYPE_NODE:
+            fprintf(output, "Error, DOCUMENT_TYPE\n");
+            break;
+        case XML_DOCUMENT_FRAG_NODE:
+            fprintf(output, "Error, DOCUMENT_FRAG\n");
+            break;
+        case XML_NOTATION_NODE:
+            fprintf(output, "Error, NOTATION\n");
+            break;
+        default:
+            fprintf(output, "NODE_%d\n", doc->type);
     }
     if (doc->name != NULL) {
-	fprintf(output, "name=");
+        fprintf(output, "name=");
         xmlDebugDumpString(output, BAD_CAST doc->name);
-	fprintf(output, "\n");
+        fprintf(output, "\n");
     }
     if (doc->version != NULL) {
-	fprintf(output, "version=");
+        fprintf(output, "version=");
         xmlDebugDumpString(output, doc->version);
-	fprintf(output, "\n");
+        fprintf(output, "\n");
     }
     if (doc->encoding != NULL) {
-	fprintf(output, "encoding=");
+        fprintf(output, "encoding=");
         xmlDebugDumpString(output, doc->encoding);
-	fprintf(output, "\n");
+        fprintf(output, "\n");
     }
     if (doc->URL != NULL) {
-	fprintf(output, "URL=");
+        fprintf(output, "URL=");
         xmlDebugDumpString(output, doc->URL);
-	fprintf(output, "\n");
+        fprintf(output, "\n");
     }
     if (doc->standalone)
         fprintf(output, "standalone=true\n");
-    if (doc->oldNs != NULL) 
+    if (doc->oldNs != NULL)
         xmlDebugDumpNamespaceList(output, doc->oldNs, 0);
 }
 
-void xmlDebugDumpDocument(FILE *output, xmlDocPtr doc) {
-    if (output == NULL) output = stdout;
+/**
+ * xmlDebugDumpDocument:
+ * @output:  the FILE * for the output
+ * @doc:  the document
+ *
+ * Dumps debug information for the document, it's recursive
+ */
+void
+xmlDebugDumpDocument(FILE * output, xmlDocPtr doc)
+{
+    if (output == NULL)
+        output = stdout;
     if (doc == NULL) {
         fprintf(output, "DOCUMENT == NULL !\n");
-	return;
+        return;
     }
     xmlDebugDumpDocumentHead(output, doc);
     if (((doc->type == XML_DOCUMENT_NODE) ||
-         (doc->type == XML_HTML_DOCUMENT_NODE)) &&
-        (doc->children != NULL))
+         (doc->type == XML_HTML_DOCUMENT_NODE)) && (doc->children != NULL))
         xmlDebugDumpNodeList(output, doc->children, 1);
-}    
+}
 
-void xmlDebugDumpDTD(FILE *output, xmlDtdPtr dtd) {
+/**
+ * xmlDebugDumpDTD:
+ * @output:  the FILE * for the output
+ * @dtd:  the DTD
+ *
+ * Dumps debug information for the DTD
+ */
+void
+xmlDebugDumpDTD(FILE * output, xmlDtdPtr dtd)
+{
     if (dtd == NULL)
-	return;
+        return;
     if (dtd->type != XML_DTD_NODE) {
-	fprintf(output, "PBM: not a DTD\n");
-	return;
+        fprintf(output, "PBM: not a DTD\n");
+        return;
     }
     if (dtd->name != NULL)
-	fprintf(output, "DTD(%s)", dtd->name);
+        fprintf(output, "DTD(%s)", dtd->name);
     else
-	fprintf(output, "DTD");
+        fprintf(output, "DTD");
     if (dtd->ExternalID != NULL)
-	fprintf(output, ", PUBLIC %s", dtd->ExternalID);
+        fprintf(output, ", PUBLIC %s", dtd->ExternalID);
     if (dtd->SystemID != NULL)
-	fprintf(output, ", SYSTEM %s", dtd->SystemID);
+        fprintf(output, ", SYSTEM %s", dtd->SystemID);
     fprintf(output, "\n");
     /*
      * Do a bit of checking
      */
     if ((dtd->parent != NULL) && (dtd->doc != dtd->parent->doc))
-	fprintf(output, "PBM: Dtd doc differs from parent's one\n");
+        fprintf(output, "PBM: Dtd doc differs from parent's one\n");
     if (dtd->prev == NULL) {
-	if ((dtd->parent != NULL) && (dtd->parent->children != (xmlNodePtr)dtd))
-	    fprintf(output, "PBM: Dtd has no prev and not first of list\n");
+        if ((dtd->parent != NULL)
+            && (dtd->parent->children != (xmlNodePtr) dtd))
+            fprintf(output,
+                    "PBM: Dtd has no prev and not first of list\n");
     } else {
-	if (dtd->prev->next != (xmlNodePtr) dtd)
-	    fprintf(output, "PBM: Dtd prev->next : back link wrong\n");
+        if (dtd->prev->next != (xmlNodePtr) dtd)
+            fprintf(output, "PBM: Dtd prev->next : back link wrong\n");
     }
     if (dtd->next == NULL) {
-	if ((dtd->parent != NULL) && (dtd->parent->last != (xmlNodePtr) dtd))
-	    fprintf(output, "PBM: Dtd has no next and not last of list\n");
+        if ((dtd->parent != NULL)
+            && (dtd->parent->last != (xmlNodePtr) dtd))
+            fprintf(output, "PBM: Dtd has no next and not last of list\n");
     } else {
-	if (dtd->next->prev != (xmlNodePtr) dtd)
-	    fprintf(output, "PBM: Dtd next->prev : forward link wrong\n");
+        if (dtd->next->prev != (xmlNodePtr) dtd)
+            fprintf(output, "PBM: Dtd next->prev : forward link wrong\n");
     }
     if (dtd->children == NULL)
-	fprintf(output, "    DTD is empty\n");
+        fprintf(output, "    DTD is empty\n");
     else
         xmlDebugDumpNodeList(output, dtd->children, 1);
 }
@@ -826,70 +921,84 @@
     fprintf(output, "\n");	
 }
 
-void xmlDebugDumpEntities(FILE *output, xmlDocPtr doc) {
-    if (output == NULL) output = stdout;
+/**
+ * xmlDebugDumpEntities:
+ * @output:  the FILE * for the output
+ * @doc:  the document
+ *
+ * Dumps debug information for all the entities in use by the document
+ */
+void
+xmlDebugDumpEntities(FILE * output, xmlDocPtr doc)
+{
+    if (output == NULL)
+        output = stdout;
     if (doc == NULL) {
         fprintf(output, "DOCUMENT == NULL !\n");
-	return;
+        return;
     }
 
     switch (doc->type) {
-	case XML_ELEMENT_NODE:
-	    fprintf(output, "Error, ELEMENT found here ");
-	    break;
-	case XML_ATTRIBUTE_NODE:
-	    fprintf(output, "Error, ATTRIBUTE found here\n");
-	    break;
-	case XML_TEXT_NODE:
-	    fprintf(output, "Error, TEXT\n");
-	    break;
-	case XML_CDATA_SECTION_NODE:
-	    fprintf(output, "Error, CDATA_SECTION\n");
-	    break;
-	case XML_ENTITY_REF_NODE:
-	    fprintf(output, "Error, ENTITY_REF\n");
-	    break;
-	case XML_ENTITY_NODE:
-	    fprintf(output, "Error, ENTITY\n");
-	    break;
-	case XML_PI_NODE:
-	    fprintf(output, "Error, PI\n");
-	    break;
-	case XML_COMMENT_NODE:
-	    fprintf(output, "Error, COMMENT\n");
-	    break;
-	case XML_DOCUMENT_NODE:
-	    fprintf(output, "DOCUMENT\n");
-	    break;
-	case XML_HTML_DOCUMENT_NODE:
-	    fprintf(output, "HTML DOCUMENT\n");
-	    break;
-	case XML_DOCUMENT_TYPE_NODE:
-	    fprintf(output, "Error, DOCUMENT_TYPE\n");
-	    break;
-	case XML_DOCUMENT_FRAG_NODE:
-	    fprintf(output, "Error, DOCUMENT_FRAG\n");
-	    break;
-	case XML_NOTATION_NODE:
-	    fprintf(output, "Error, NOTATION\n");
-	    break;
-	default:
-	    fprintf(output, "NODE_%d\n", doc->type);
+        case XML_ELEMENT_NODE:
+            fprintf(output, "Error, ELEMENT found here ");
+            break;
+        case XML_ATTRIBUTE_NODE:
+            fprintf(output, "Error, ATTRIBUTE found here\n");
+            break;
+        case XML_TEXT_NODE:
+            fprintf(output, "Error, TEXT\n");
+            break;
+        case XML_CDATA_SECTION_NODE:
+            fprintf(output, "Error, CDATA_SECTION\n");
+            break;
+        case XML_ENTITY_REF_NODE:
+            fprintf(output, "Error, ENTITY_REF\n");
+            break;
+        case XML_ENTITY_NODE:
+            fprintf(output, "Error, ENTITY\n");
+            break;
+        case XML_PI_NODE:
+            fprintf(output, "Error, PI\n");
+            break;
+        case XML_COMMENT_NODE:
+            fprintf(output, "Error, COMMENT\n");
+            break;
+        case XML_DOCUMENT_NODE:
+            fprintf(output, "DOCUMENT\n");
+            break;
+        case XML_HTML_DOCUMENT_NODE:
+            fprintf(output, "HTML DOCUMENT\n");
+            break;
+        case XML_DOCUMENT_TYPE_NODE:
+            fprintf(output, "Error, DOCUMENT_TYPE\n");
+            break;
+        case XML_DOCUMENT_FRAG_NODE:
+            fprintf(output, "Error, DOCUMENT_FRAG\n");
+            break;
+        case XML_NOTATION_NODE:
+            fprintf(output, "Error, NOTATION\n");
+            break;
+        default:
+            fprintf(output, "NODE_%d\n", doc->type);
     }
     if ((doc->intSubset != NULL) && (doc->intSubset->entities != NULL)) {
-        xmlEntitiesTablePtr table = (xmlEntitiesTablePtr) 
-	                            doc->intSubset->entities;
-	fprintf(output, "Entities in internal subset\n");
-	xmlHashScan(table, (xmlHashScanner)xmlDebugDumpEntityCallback, output);
+        xmlEntitiesTablePtr table = (xmlEntitiesTablePtr)
+            doc->intSubset->entities;
+
+        fprintf(output, "Entities in internal subset\n");
+        xmlHashScan(table, (xmlHashScanner) xmlDebugDumpEntityCallback,
+                    output);
     } else
-	fprintf(output, "No entities in internal subset\n");
+        fprintf(output, "No entities in internal subset\n");
     if ((doc->extSubset != NULL) && (doc->extSubset->entities != NULL)) {
-        xmlEntitiesTablePtr table = (xmlEntitiesTablePtr) 
-	                            doc->extSubset->entities;
-	fprintf(output, "Entities in external subset\n");
-	xmlHashScan(table, (xmlHashScanner)xmlDebugDumpEntityCallback, output);
+        xmlEntitiesTablePtr table = (xmlEntitiesTablePtr)
+            doc->extSubset->entities;
+
+        fprintf(output, "Entities in external subset\n");
+        xmlHashScan(table, (xmlHashScanner) xmlDebugDumpEntityCallback,
+                    output);
     } else
-	fprintf(output, "No entities in external subset\n");
+        fprintf(output, "No entities in external subset\n");
 }
 
 static int xmlLsCountNode(xmlNodePtr node) {
@@ -942,7 +1051,8 @@
     return(ret);
 }
 
-void xmlLsOneNode(FILE *output, xmlNodePtr node) {
+static void
+xmlLsOneNode(FILE *output, xmlNodePtr node) {
     switch (node->type) {
 	case XML_ELEMENT_NODE:
 	    fprintf(output, "-");
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 58d2a90..01c8f45 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -17,7 +17,7 @@
 # html_DATA = gnome-dev-info.html
 
 scan:
-	gtkdoc-scan --module=libxml --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="acconfig.h config.h"
+	gtkdoc-scan --module=libxml --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="acconfig.h config.h xmlwin32version.h win32config.h trio.h strio.h triop.h"
 
 templates: scan
 	gtkdoc-mktmpl --module=libxml
diff --git a/encoding.c b/encoding.c
index aa73f77..f7c020c 100644
--- a/encoding.c
+++ b/encoding.c
@@ -362,7 +362,6 @@
 /**
  * xmlUTF8Strsub:
  * @utf:  a sequence of UTF-8 encoded bytes
- *
  * @start: relative pos of first char
  * @len:   total number to copy
  *
@@ -1768,8 +1767,8 @@
 }
 
 /**
- * xmlGetCharEncodingHandler:
- * @enc:  a string describing the char encoding.
+ * xmlFindCharEncodingHandler:
+ * @name:  a string describing the char encoding.
  *
  * Search in the registrered set the handler able to read/write that encoding.
  *
diff --git a/hash.c b/hash.c
index e061c11..ab01352 100644
--- a/hash.c
+++ b/hash.c
@@ -304,7 +304,7 @@
  *
  * Find the userdata specified by the name.
  *
- * Returns the a pointer to the userdata
+ * Returns the pointer to the userdata
  */
 void *
 xmlHashLookup(xmlHashTablePtr table, const xmlChar *name) {
@@ -319,7 +319,7 @@
  *
  * Find the userdata specified by the (name, name2) tuple.
  *
- * Returns the a pointer to the userdata
+ * Returns the pointer to the userdata
  */
 void *
 xmlHashLookup2(xmlHashTablePtr table, const xmlChar *name,
@@ -470,7 +470,7 @@
 }
 
 /**
- * xmlHashLookup:
+ * xmlHashLookup3:
  * @table: the hash table
  * @name: the name of the userdata
  * @name2: a second name of the userdata
@@ -615,6 +615,8 @@
  * xmlHashSize:
  * @table: the hash table
  *
+ * Query the number of element installed in the hash table.
+ *
  * Returns the number of elements in the hash table or
  * -1 in case of error
  */
diff --git a/include/libxml/SAX.h b/include/libxml/SAX.h
index aad01b8..4472f83 100644
--- a/include/libxml/SAX.h
+++ b/include/libxml/SAX.h
@@ -54,7 +54,7 @@
 						 xmlChar *content);
 void		attributeDecl			(void *ctx,
 						 const xmlChar *elem,
-						 const xmlChar *name,
+						 const xmlChar *fullname,
 						 int type,
 						 int def,
 						 const xmlChar *defaultValue,
diff --git a/include/libxml/catalog.h b/include/libxml/catalog.h
index 16b0f67..504b2e6 100644
--- a/include/libxml/catalog.h
+++ b/include/libxml/catalog.h
@@ -36,7 +36,7 @@
 #define XML_CATALOGS_NAMESPACE		\
     (const xmlChar *) "urn:oasis:names:tc:entity:xmlns:xml:catalog"
 
-int		xmlLoadCatalog		(const char *URL);
+int		xmlLoadCatalog		(const char *filename);
 void		xmlLoadCatalogs		(const char *paths);
 void		xmlCatalogCleanup	(void);
 void		xmlCatalogDump		(FILE *out);
diff --git a/include/libxml/debugXML.h b/include/libxml/debugXML.h
index 6ed6ef9..36f86a4 100644
--- a/include/libxml/debugXML.h
+++ b/include/libxml/debugXML.h
@@ -43,11 +43,9 @@
 void	xmlDebugDumpDocument	(FILE *output,
 				 xmlDocPtr doc);
 void	xmlDebugDumpDTD		(FILE *output,
-				 xmlDtdPtr doc);
+				 xmlDtdPtr dtd);
 void	xmlDebugDumpEntities	(FILE *output,
 				 xmlDocPtr doc);
-void	xmlLsOneNode		(FILE *output,
-				 xmlNodePtr node);
 
 /****************************************************************
  *								*
diff --git a/include/libxml/hash.h b/include/libxml/hash.h
index dcbcc6c..2447606 100644
--- a/include/libxml/hash.h
+++ b/include/libxml/hash.h
@@ -104,19 +104,10 @@
  */
 xmlHashTablePtr		xmlHashCopy	(xmlHashTablePtr table,
 					 xmlHashCopier f);
-int			xmlHashSize	(xmlHashTablePtr);
+int			xmlHashSize	(xmlHashTablePtr table);
 void			xmlHashScan	(xmlHashTablePtr table,
 					 xmlHashScanner f,
 					 void *data);
-void			xmlHashScan1	(xmlHashTablePtr table,
-					 const xmlChar *name,
-					 xmlHashScanner f,
-					 void *data);
-void			xmlHashScan2	(xmlHashTablePtr table,
-					 const xmlChar *name,
-					 const xmlChar *name2,
-					 xmlHashScanner f,
-					 void *data);
 void			xmlHashScan3	(xmlHashTablePtr table,
 					 const xmlChar *name,
 					 const xmlChar *name2,
diff --git a/include/libxml/parser.h b/include/libxml/parser.h
index f3ae597..fdfb75f 100644
--- a/include/libxml/parser.h
+++ b/include/libxml/parser.h
@@ -19,8 +19,10 @@
 extern "C" {
 #endif
 
-/*
- * Constants.
+/**
+ * XML_DEFAULT_VERSION:
+ *
+ * The default version of XML used: 1.0
  */
 #define XML_DEFAULT_VERSION	"1.0"
 
@@ -36,6 +38,7 @@
  */
 
 typedef void (* xmlParserInputDeallocate)(xmlChar *);
+
 typedef struct _xmlParserInput xmlParserInput;
 typedef xmlParserInput *xmlParserInputPtr;
 struct _xmlParserInput {
@@ -344,6 +347,11 @@
  */
 
 #ifdef VMS
+/**
+ * xmlSubstituteEntitiesDefaultValue:
+ *
+ * global variable controlling the entity substitution default behaviour
+ */
 LIBXML_DLL_IMPORT extern int xmlSubstituteEntitiesDefaultVal;
 #define xmlSubstituteEntitiesDefaultValue xmlSubstituteEntitiesDefaultVal
 #else
diff --git a/include/libxml/parserInternals.h b/include/libxml/parserInternals.h
index 5370ac1..81ecff7 100644
--- a/include/libxml/parserInternals.h
+++ b/include/libxml/parserInternals.h
@@ -326,12 +326,29 @@
 void			xmlParseExternalSubset	(xmlParserCtxtPtr ctxt,
 						 const xmlChar *ExternalID,
 						 const xmlChar *SystemID); 
-/*
- * Entities substitution
+/**
+ * XML_SUBSTITUTE_NONE:
+ *
+ * If no entities need to be substitued
  */
 #define XML_SUBSTITUTE_NONE	0
+/**
+ * XML_SUBSTITUTE_REF:
+ *
+ * Whether general entities need to be substitued
+ */
 #define XML_SUBSTITUTE_REF	1
+/**
+ * XML_SUBSTITUTE_PEREF:
+ *
+ * Whether parameter entities need to be substitued
+ */
 #define XML_SUBSTITUTE_PEREF	2
+/**
+ * XML_SUBSTITUTE_BOTH:
+ *
+ * Both general and parameter entities need to be substitued
+ */
 #define XML_SUBSTITUTE_BOTH 	3
 
 xmlChar *		xmlDecodeEntities	(xmlParserCtxtPtr ctxt,
diff --git a/include/libxml/tree.h b/include/libxml/tree.h
index b5f6302..d72ebf7 100644
--- a/include/libxml/tree.h
+++ b/include/libxml/tree.h
@@ -25,6 +25,12 @@
 extern "C" {
 #endif
 
+/**
+ * XML_XML_NAMESPACE:
+ *
+ * This is the namespace for the special xml: prefix predefined in the
+ * XML Namespace specification
+ */
 #define XML_XML_NAMESPACE \
     (const xmlChar *) "http://www.w3.org/XML/1998/namespace"
 
@@ -249,6 +255,11 @@
 };
 
 
+/**
+ * XML_LOCAL_NAMESPACE:
+ *
+ * A namespace declaration node
+ */
 #define XML_LOCAL_NAMESPACE XML_NAMESPACE_DECL
 typedef xmlElementType xmlNsType;
 
@@ -259,7 +270,6 @@
  * Note that prefix == NULL is valid, it defines the default namespace
  * within the subtree (until overriden).
  *
- * XML_GLOBAL_NAMESPACE is now deprecated for good
  * xmlNsType is unified with xmlElementType
  */
 
@@ -405,8 +415,21 @@
     xmlNs           *nsDef;     /* namespace definitions on this node */
 };
 
-#define XML_GET_CONTENT(n) ((n)->type == XML_ELEMENT_PTR ? NULL : (n)->content)
-#define XML_GET_LINE(n) ((n)->type == XML_ELEMENT_PTR ? (int) (n)->content : 0)
+/**
+ * XML_GET_CONTENT:
+ *
+ * macro to extract the content pointer of a node
+ */
+#define XML_GET_CONTENT(n)					\
+    ((n)->type == XML_ELEMENT_PTR ? NULL : (n)->content)
+
+/**
+ * XML_GET_LINE:
+ *
+ * macro to extract the line number of an element node
+ */
+#define XML_GET_LINE(n)						\
+    ((n)->type == XML_ELEMENT_PTR ? (int) (n)->content : 0)
 
 /**
  * xmlDoc:
@@ -499,7 +522,6 @@
 					 unsigned int len);
 void		xmlBufferEmpty		(xmlBufferPtr buf);
 const xmlChar*	xmlBufferContent	(const xmlBufferPtr buf);
-int		xmlBufferUse		(const xmlBufferPtr buf);
 void		xmlBufferSetAllocationScheme(xmlBufferPtr buf,
 					 xmlBufferAllocationScheme scheme);
 int		xmlBufferLength		(const xmlBufferPtr buf);
@@ -709,7 +731,6 @@
  * Removing content.
  */
 int		xmlRemoveProp		(xmlAttrPtr attr);
-int		xmlRemoveNode		(xmlNodePtr node); /* TODO */
 int		xmlUnsetProp		(xmlNodePtr node,
 					 const xmlChar *name);
 int		xmlUnsetNsProp		(xmlNodePtr node,
diff --git a/include/libxml/uri.h b/include/libxml/uri.h
index e4bbbe8..972ef92 100644
--- a/include/libxml/uri.h
+++ b/include/libxml/uri.h
@@ -45,7 +45,7 @@
 xmlURIPtr	xmlCreateURI		(void);
 xmlChar *	xmlBuildURI		(const xmlChar *URI,
 	                        	 const xmlChar *base);
-xmlURIPtr	xmlParseURI		(const char *URI);
+xmlURIPtr	xmlParseURI		(const char *str);
 int		xmlParseURIReference	(xmlURIPtr uri,
 					 const char *str);
 xmlChar *	xmlSaveUri		(xmlURIPtr uri);
diff --git a/include/libxml/valid.h b/include/libxml/valid.h
index 01d1873..5b29e8d 100644
--- a/include/libxml/valid.h
+++ b/include/libxml/valid.h
@@ -160,7 +160,6 @@
 				 xmlDocPtr doc,
 				 const xmlChar *value,
 				 xmlAttrPtr attr);
-xmlIDTablePtr	xmlCopyIDTable	(xmlIDTablePtr table);
 void		xmlFreeIDTable	(xmlIDTablePtr table);
 xmlAttrPtr	xmlGetID	(xmlDocPtr doc,
 				 const xmlChar *ID);
@@ -174,7 +173,6 @@
 				 xmlDocPtr doc,
 				 const xmlChar *value,
 				 xmlAttrPtr attr);
-xmlRefTablePtr	xmlCopyRefTable	(xmlRefTablePtr table);
 void		xmlFreeRefTable	(xmlRefTablePtr table);
 int		xmlIsRef	(xmlDocPtr doc,
 				 xmlNodePtr elem,
diff --git a/include/libxml/xlink.h b/include/libxml/xlink.h
index 6d27166..318ebca 100644
--- a/include/libxml/xlink.h
+++ b/include/libxml/xlink.h
@@ -60,9 +60,7 @@
  * This is the prototype for the link detection routine
  * It calls the default link detection callbacks upon link detection.
  */
-typedef void
-(*xlinkNodeDetectFunc)	(void *ctx,
-		 	 xmlNodePtr node);
+typedef void (*xlinkNodeDetectFunc) (void *ctx, xmlNodePtr node);
 
 /**
  * The link detection module interract with the upper layers using
diff --git a/include/libxml/xmlmemory.h b/include/libxml/xmlmemory.h
index e0cb81e..b96b01a 100644
--- a/include/libxml/xmlmemory.h
+++ b/include/libxml/xmlmemory.h
@@ -35,11 +35,16 @@
 /**
  * DEBUG_MEMORY_LOCATION:
  *
- * should be activated 
  * DEBUG_MEMORY_LOCATION should be activated only when debugging 
  * libxml i.e. if libxml has been configured with --with-debug-mem too
  */
 #ifdef DEBUG_MEMORY_LOCATION
+
+/**
+ * MEM_LIST:
+ *
+ * keep track of all allocated blocks for error reporting 
+ */
 #define MEM_LIST /* keep a list of all the allocated memory blocks */
 #endif
 
@@ -90,9 +95,34 @@
 int	xmlInitMemory	(void);
 
 #ifdef DEBUG_MEMORY_LOCATION
-#define xmlMalloc(x) xmlMallocLoc((x), __FILE__, __LINE__)
-#define xmlRealloc(p, x) xmlReallocLoc((p), (x), __FILE__, __LINE__)
-#define xmlMemStrdup(x) xmlMemStrdupLoc((x), __FILE__, __LINE__)
+/**
+ * xmlMalloc:
+ * @size:  number of bytes to allocate
+ *
+ * Wrapper for the malloc() function used in the XML library
+ *
+ * Returns the pointer to the allocated area or NULL in case of error
+ */
+#define xmlMalloc(size) xmlMallocLoc((size), __FILE__, __LINE__)
+/**
+ * xmlRealloc:
+ * @ptr:  pointer to the existing allocated area
+ * @size:  number of bytes to allocate
+ *
+ * Wrapper for the realloc() function used in the XML library
+ *
+ * Returns the pointer to the allocated area or NULL in case of error
+ */
+#define xmlRealloc(ptr, size) xmlReallocLoc((ptr), (size), __FILE__, __LINE__)
+/**
+ * xmlMemStrdup:
+ * @str:  pointer to the existing string
+ *
+ * Wrapper for the strdup() function, xmlStrdup() is usually preferred
+ *
+ * Returns the pointer to the allocated area or NULL in case of error
+ */
+#define xmlMemStrdup(str) xmlMemStrdupLoc((str), __FILE__, __LINE__)
 
 void *	xmlMallocLoc(size_t size, const char *file, int line);
 void *	xmlReallocLoc(void *ptr,size_t size, const char *file, int line);
diff --git a/include/libxml/xmlversion.h.in b/include/libxml/xmlversion.h.in
index 7244d6f..54bc1b6 100644
--- a/include/libxml/xmlversion.h.in
+++ b/include/libxml/xmlversion.h.in
@@ -20,9 +20,34 @@
 #ifndef LIBXML2_COMPILING_MSCCDEF
 extern void xmlCheckVersion(int version);
 #endif /* LIBXML2_COMPILING_MSCCDEF */
+
+/**
+ * LIBXML_DOTTED_VERSION:
+ *
+ * the version string like "1.2.3"
+ */
 #define LIBXML_DOTTED_VERSION "@VERSION@"
+
+/**
+ * LIBXML_VERSION:
+ *
+ * the version number: 1.2.3 value is 1002003
+ */
 #define LIBXML_VERSION @LIBXML_VERSION_NUMBER@
+
+/**
+ * LIBXML_VERSION_STRING:
+ *
+ * the version number string, 1.2.3 value is "1002003"
+ */
 #define LIBXML_VERSION_STRING "@LIBXML_VERSION_NUMBER@"
+
+/**
+ * LIBXML_TEST_VERSION:
+ *
+ * Macro to check that the libxml version in use is compatible with
+ * the version the software has been compiled against
+ */
 #define LIBXML_TEST_VERSION xmlCheckVersion(@LIBXML_VERSION_NUMBER@);
 
 /**
@@ -32,8 +57,6 @@
  */
 #if @WITH_TRIO@
 #define WITH_TRIO
-#else
-#define WITHOUT_TRIO
 #endif
 
 /**
@@ -43,8 +66,6 @@
  */
 #if @WITH_FTP@
 #define LIBXML_FTP_ENABLED
-#else
-#define LIBXML_FTP_DISABLED
 #endif
 
 /**
@@ -54,8 +75,6 @@
  */
 #if @WITH_HTTP@
 #define LIBXML_HTTP_ENABLED
-#else
-#define LIBXML_HTTP_DISABLED
 #endif
 
 /**
@@ -65,8 +84,6 @@
  */
 #if @WITH_HTML@
 #define LIBXML_HTML_ENABLED
-#else
-#define LIBXML_HTML_DISABLED
 #endif
 
 /**
@@ -76,8 +93,6 @@
  */
 #if @WITH_CATALOG@
 #define LIBXML_CATALOG_ENABLED
-#else
-#define LIBXML_CATALOG_DISABLED
 #endif
 
 /**
@@ -87,8 +102,6 @@
  */
 #if @WITH_DOCB@
 #define LIBXML_DOCB_ENABLED
-#else
-#define LIBXML_DOCB_DISABLED
 #endif
 
 /**
@@ -98,8 +111,6 @@
  */
 #if @WITH_XPATH@
 #define LIBXML_XPATH_ENABLED
-#else
-#define LIBXML_XPATH_DISABLED
 #endif
 
 /**
@@ -109,8 +120,6 @@
  */
 #if @WITH_XPTR@
 #define LIBXML_XPTR_ENABLED
-#else
-#define LIBXML_XPTR_DISABLED
 #endif
 
 /**
@@ -120,8 +129,6 @@
  */
 #if @WITH_XINCLUDE@
 #define LIBXML_XINCLUDE_ENABLED
-#else
-#define LIBXML_XINCLUDE_DISABLED
 #endif
 
 /**
@@ -132,8 +139,6 @@
 #if !defined(WIN32) || defined(__CYGWIN__)
 #if @WITH_ICONV@
 #define LIBXML_ICONV_ENABLED
-#else
-#define LIBXML_ICONV_DISABLED
 #endif
 #endif
 
@@ -144,8 +149,6 @@
  */
 #if @WITH_DEBUG@
 #define LIBXML_DEBUG_ENABLED
-#else
-#define LIBXML_DEBUG_DISABLED
 #endif
 
 /**
@@ -157,6 +160,11 @@
 #define DEBUG_MEMORY_LOCATION
 #endif
 
+/**
+ * LIBXML_DLL_IMPORT:
+ *
+ * Used on Windows to declare a variable as exported by the library
+ */
 #ifndef LIBXML_DLL_IMPORT
 #if defined(WIN32) && !defined(STATIC)
 #define LIBXML_DLL_IMPORT __declspec(dllimport)
diff --git a/include/libxml/xpath.h b/include/libxml/xpath.h
index 8724f1c..a3c925a 100644
--- a/include/libxml/xpath.h
+++ b/include/libxml/xpath.h
@@ -367,8 +367,6 @@
  */
 xmlXPathObjectPtr  xmlXPathEval			(const xmlChar *str,
 						 xmlXPathContextPtr ctxt);
-xmlXPathObjectPtr  xmlXPathEvalXPtrExpr		(const xmlChar *str,
-						 xmlXPathContextPtr ctxt);
 xmlXPathObjectPtr  xmlXPathEvalExpression	(const xmlChar *str,
 						 xmlXPathContextPtr ctxt);
 int                xmlXPathEvalPredicate	(xmlXPathContextPtr ctxt,
diff --git a/include/libxml/xpathInternals.h b/include/libxml/xpathInternals.h
index 1574e78..ca3943f 100644
--- a/include/libxml/xpathInternals.h
+++ b/include/libxml/xpathInternals.h
@@ -64,6 +64,8 @@
  * xmlXPathGetError:
  * @ctxt:  an XPath parser context
  *
+ * Get the error code of an XPath context
+ *
  * Returns the context error
  */
 #define xmlXPathGetError(ctxt)	  ((ctxt)->error)
@@ -72,6 +74,8 @@
  * xmlXPathCheckError:
  * @ctxt:  an XPath parser context
  *
+ * Check if an XPath error was raised
+ *
  * Returns true if an error has been raised, false otherwise.
  */
 #define xmlXPathCheckError(ctxt)  ((ctxt)->error != XPATH_EXPRESSION_OK)
@@ -80,6 +84,8 @@
  * xmlXPathGetDocument:
  * @ctxt:  an XPath parser context
  *
+ * Get the document of an XPath context
+ *
  * Returns the context document
  */
 #define xmlXPathGetDocument(ctxt)	((ctxt)->context->doc)
@@ -88,6 +94,8 @@
  * xmlXPathGetContextNode:
  * @ctxt: an XPath parser context
  *
+ * Get the context node of an XPath context
+ *
  * Returns the context node
  */
 #define xmlXPathGetContextNode(ctxt)	((ctxt)->context->node)
@@ -186,6 +194,9 @@
  * xmlXPathStackIsNodeSet:
  * @ctxt: an XPath parser context
  *
+ * Check if the current value on the XPath stack is a node set or
+ * an XSLT value tree
+ *
  * Returns true if the current object on the stack is a node-set
  */
 #define xmlXPathStackIsNodeSet(ctxt)					\
@@ -300,8 +311,7 @@
 /*
  * Variable Lookup forwarding
  */
-typedef xmlXPathObjectPtr
-	(*xmlXPathVariableLookupFunc)	(void *ctxt,
+typedef xmlXPathObjectPtr (*xmlXPathVariableLookupFunc)	(void *ctxt,
 					 const xmlChar *name,
 					 const xmlChar *ns_uri);
 
diff --git a/libxml.h b/libxml.h
index 2954ccb..c8f7676 100644
--- a/libxml.h
+++ b/libxml.h
@@ -19,6 +19,12 @@
 #ifdef WITHOUT_TRIO
 #include <stdio.h>
 #else
+/**
+ * TRIO_REPLACE_STDIO:
+ *
+ * This macro is defined if teh trio string formatting functions are to
+ * be used instead of the default stdio ones.
+ */
 #define TRIO_REPLACE_STDIO
 #include "trio.h"
 #endif
diff --git a/list.c b/list.c
index 0e05789..b0acf7d 100644
--- a/list.c
+++ b/list.c
@@ -226,7 +226,7 @@
 }
 
 /**
- * xmlListLinkReverseSearch:
+ * xmlListReverseSearch:
  * @l:  a list
  * @data:  a search value
  *
@@ -404,6 +404,8 @@
  * xmlListEmpty:
  * @l:  a list
  *
+ * Is the list empty ?
+ *
  * Returns 1 if the list is empty, 0 otherwise
  */
 int
@@ -416,6 +418,8 @@
  * xmlListFront:
  * @l:  a list
  *
+ * Get the first element in the list
+ *
  * Returns the first element in the list, or NULL
  */
 xmlLinkPtr 
@@ -425,9 +429,11 @@
 }
     
 /**
- * xmlListFront:
+ * xmlListEnd:
  * @l:  a list
  *
+ * Get the last element in the list
+ *
  * Returns the last element in the list, or NULL
  */
 xmlLinkPtr 
@@ -440,6 +446,8 @@
  * xmlListSize:
  * @l:  a list
  *
+ * Get the number of elements in the list
+ *
  * Returns the number of elements in the list
  */
 int
@@ -603,6 +611,7 @@
  * xmlListWalk:
  * @l:  a list
  * @walker:  a processing function
+ * @user:  a user parameter passed to the walker function
  *
  * Walk all the element of the first from first to last and
  * apply the walker function to it
@@ -621,6 +630,7 @@
  * xmlListReverseWalk:
  * @l:  a list
  * @walker:  a processing function
+ * @user:  a user parameter passed to the walker function
  *
  * Walk all the element of the list in reverse order and
  * apply the walker function to it
diff --git a/nanoftp.c b/nanoftp.c
index c6fb7d2..c8ff261 100644
--- a/nanoftp.c
+++ b/nanoftp.c
@@ -12,18 +12,11 @@
 #define HAVE_NETINET_IN_H
 #define HAVE_NETDB_H
 #define HAVE_SYS_TIME_H
-#include "libxml.h"
-#ifdef WITHOUT_TRIO
-#include <stdio.h>
-#else
-#define TRIO_REPLACE_STDIO
-#include "trio.h"
-#endif
 #else /* STANDALONE */
 #define NEED_SOCKETS
-#include "libxml.h"
 #endif /* STANDALONE */
 
+#include "libxml.h"
 
 #ifdef LIBXML_FTP_ENABLED
 #include <string.h>
diff --git a/nanohttp.c b/nanohttp.c
index 75e95b5..fb4fbd0 100644
--- a/nanohttp.c
+++ b/nanohttp.c
@@ -170,7 +170,7 @@
 }
 
 /**
- * xmlNanoHTTPClenup:
+ * xmlNanoHTTPCleanup:
  *
  * Cleanup the HTTP protocol layer.
  */
@@ -1177,6 +1177,8 @@
  * xmlNanoHTTPReturnCode:
  * @ctx:  the HTTP context
  *
+ * Get the latest HTTP return code received
+ *
  * Returns the HTTP return code for the request.
  */
 int
@@ -1192,6 +1194,8 @@
  * xmlNanoHTTPAuthHeader:
  * @ctx:  the HTTP context
  *
+ * Get the authentication header of an HTTP context
+ *
  * Returns the stashed value of the WWW-Authenticate or Proxy-Authenticate
  * header.
  */
diff --git a/parser.c b/parser.c
index 4f8b07a..108bd73 100644
--- a/parser.c
+++ b/parser.c
@@ -157,6 +157,51 @@
     return(ret);							\
 }									\
 
+/**
+ * inputPop:
+ * @ctxt: an XML parser context
+ *
+ * Pops the top parser input from the input stack
+ *
+ * Returns the input just removed
+ */
+/**
+ * inputPush:
+ * @ctxt:  an XML parser context
+ * @input:  the parser input
+ *
+ * Pushes a new parser input on top of the input stack
+ */
+/**
+ * namePop:
+ * @ctxt: an XML parser context
+ *
+ * Pops the top element name from the name stack
+ *
+ * Returns the name just removed
+ */
+/**
+ * namePush:
+ * @ctxt:  an XML parser context
+ * @name:  the element name
+ *
+ * Pushes a new element name on top of the name stack
+ */
+/**
+ * nodePop:
+ * @ctxt: an XML parser context
+ *
+ * Pops the top element node from the node stack
+ *
+ * Returns the node just removed
+ */
+/**
+ * nodePush:
+ * @ctxt:  an XML parser context
+ * @node:  the element node
+ *
+ * Pushes a new element node on top of the node stack
+ */
 /*
  * Those macros actually generate the functions
  */
@@ -4060,6 +4105,15 @@
 }
 
 /**
+ * xmlParseElementChildrenContentD:
+ * @ctxt:  an XML parser context
+ *
+ * VMS version of xmlParseElementChildrenContentDecl()
+ *
+ * Returns the tree of xmlElementContentPtr describing the element 
+ *          hierarchy.
+ */
+/**
  * xmlParseElementChildrenContentDecl:
  * @ctxt:  an XML parser context
  *
@@ -4086,7 +4140,7 @@
  *	be empty, and neither the first nor last non-blank character of
  *	the replacement text should be a connector (| or ,).
  *
- * returns: the tree of xmlElementContentPtr describing the element 
+ * Returns the tree of xmlElementContentPtr describing the element 
  *          hierarchy.
  */
 xmlElementContentPtr
diff --git a/parserInternals.c b/parserInternals.c
index 8a3abd3..022a994 100644
--- a/parserInternals.c
+++ b/parserInternals.c
@@ -56,7 +56,7 @@
  ************************************************************************/
 const char *xmlParserVersion = LIBXML_VERSION_STRING;
 
-/*
+/**
  * xmlCheckVersion:
  * @version: the include version number
  *
@@ -128,7 +128,7 @@
     "SAX function externalSubset",
 };
 
-/*
+/**
  * xmlGetFeaturesList:
  * @len:  the length of the features name array (input/output)
  * @result:  an array of string to be filled with the features name.
@@ -155,7 +155,7 @@
     return(ret);
 }
 
-/*
+/**
  * xmlGetFeature:
  * @ctxt:  an XML/HTML parser context
  * @name:  the feature name
@@ -256,7 +256,7 @@
     return(0);
 }
 
-/*
+/**
  * xmlSetFeature:
  * @ctxt:  an XML/HTML parser context
  * @name:  the feature name
@@ -2493,8 +2493,8 @@
  *									*
  ************************************************************************/
 
-/*
- * xmlCheckLanguageID
+/**
+ * xmlCheckLanguageID:
  * @lang:  pointer to the string value
  *
  * Checks that the value conforms to the LanguageID production:
diff --git a/tree.c b/tree.c
index 8b5cd1e..e6d074e 100644
--- a/tree.c
+++ b/tree.c
@@ -453,6 +453,8 @@
  * xmlNewDoc:
  * @version:  xmlChar string giving the version of XML "1.0"
  *
+ * Creates a new XML document
+ *
  * Returns a new document
  */
 xmlDocPtr
@@ -4942,10 +4944,12 @@
  * xmlBufferContent:
  * @buf:  the buffer
  *
+ * Function to extract the content of a buffer
+ *
  * Returns the internal content
  */
 
-const xmlChar* 
+const xmlChar *
 xmlBufferContent(const xmlBufferPtr buf)
 {
     if(!buf)
@@ -4958,6 +4962,8 @@
  * xmlBufferLength:
  * @buf:  the buffer 
  *
+ * Function to get the length of a buffer
+ *
  * Returns the length of data in the internal content
  */
 
@@ -5163,6 +5169,15 @@
 }
 
 /**
+ * xmlBufferWriteXmlCHAR:
+ * @buf:  the XML buffer
+ * @string:  the string to add
+ *
+ * For VMS only.
+ * routine which manages and grows an output buffer. This one adds
+ * xmlChars at the end of the buffer.
+ */
+/**
  * xmlBufferWriteCHAR:
  * @buf:  the XML buffer
  * @string:  the string to add
@@ -6098,7 +6113,7 @@
  ************************************************************************/
 
 /**
- * xmlDocDumpMemoryEnc:
+ * xmlDocDumpFormatMemoryEnc:
  * @out_doc:  Document to generate XML text from
  * @doc_txt_ptr:  Memory pointer for allocated XML text
  * @doc_txt_len:  Length of the generated XML text
diff --git a/xmlIO.c b/xmlIO.c
index a7269c7..7c328c2 100644
--- a/xmlIO.c
+++ b/xmlIO.c
@@ -864,6 +864,15 @@
 }
 
 /**
+ * xmlParserInputBufferCreateFname:
+ * @URI:  a C string containing the URI or filename
+ * @enc:  the charset encoding if known
+ *
+ * VMS version of xmlParserInputBufferCreateFilename()
+ *
+ * Returns the new parser input or NULL
+ */
+/**
  * xmlParserInputBufferCreateFilename:
  * @URI:  a C string containing the URI or filename
  * @enc:  the charset encoding if known
@@ -1547,7 +1556,7 @@
     return(ret);
 }
 
-/*
+/**
  * xmlParserGetDirectory:
  * @filename:  the path to a file
  *
@@ -1596,7 +1605,7 @@
  *								*
  ****************************************************************/
 
-/*
+/**
  * xmlDefaultExternalEntityLoader:
  * @URL:  the URL for the entity to load
  * @ID:  the System ID for the entity to load
@@ -1656,7 +1665,7 @@
 static xmlExternalEntityLoader xmlCurrentExternalEntityLoader =
        xmlDefaultExternalEntityLoader;
 
-/*
+/**
  * xmlSetExternalEntityLoader:
  * @f:  the new entity resolver function
  *
@@ -1667,7 +1676,7 @@
     xmlCurrentExternalEntityLoader = f;
 }
 
-/*
+/**
  * xmlGetExternalEntityLoader:
  *
  * Get the default external entity resolver function for the application
@@ -1679,7 +1688,7 @@
     return(xmlCurrentExternalEntityLoader);
 }
 
-/*
+/**
  * xmlLoadExternalEntity:
  * @URL:  the URL for the entity to load
  * @ID:  the System ID for the entity to load
diff --git a/xpath.c b/xpath.c
index b98ebac..73143b2 100644
--- a/xpath.c
+++ b/xpath.c
@@ -877,6 +877,14 @@
 	xmlXPathDebugDumpStepOp(output, comp, &comp->steps[op->ch2], depth + 1);
 }
 
+/**
+ * xmlXPathDebugDumpCompExpr:
+ * @output:  the FILE * for the output
+ * @comp:  the precompiled XPath expression
+ * @depth:  the indentation level.
+ *
+ * Dumps the tree of the compiled XPath expression.
+ */
 void
 xmlXPathDebugDumpCompExpr(FILE *output, xmlXPathCompExprPtr comp,
 	                  int depth) {
@@ -939,6 +947,21 @@
     return(ret);							\
 }									\
 
+/**
+ * valuePop:
+ * @ctxt: an XPath evaluation context
+ *
+ * Pops the top XPath object from the value stack
+ *
+ * Returns the XPath object just removed
+ */
+/**
+ * valuePush:
+ * @ctxt:  an XPath evaluation context
+ * @value:  the XPath object
+ *
+ * Pushes a new XPath object on top of the value stack
+ */
 PUSH_AND_POP(xmlXPathObjectPtr, value)
 
 /**
@@ -1245,7 +1268,7 @@
 };
 
 /**
- * xmlXPathError:
+ * xmlXPatherror:
  * @ctxt:  the XPath Parser context
  * @file:  the file name
  * @line:  the line number
@@ -2540,7 +2563,7 @@
 }
 
 /**
- * xmlXPathRegisteredVariablesCleanup:
+ * xmlXPathRegisteredNsCleanup:
  * @ctxt:  the XPath context
  *
  * Cleanup the XPath context data associated to registered variables
@@ -3182,7 +3205,7 @@
 }
 
 /**
- * xmlXpathCastToBoolean:
+ * xmlXPathCastToBoolean:
  * @val:  an XPath object
  *
  * Converts an XPath object to its boolean value