Time to work on helping the Gnome Doc project, first step is reintegrating
the SGML DocBook parser in libxml2 distrib:
- DOCBparser.c DOCBparser.h testDocbook.c configure.in Makefile.am
  xmlversion.h.in: started (re)integrating the DocBook SGML parser.
- SAX.[ch]: cleanup and updates for DocBook
- debugXML.c parser.h tree.[ch] valid.c xpath.c: small macro or
  ex SGML identifier changes
- valid.c: removed a static unused function.
Daniel
diff --git a/include/libxml/DOCBparser.h b/include/libxml/DOCBparser.h
new file mode 100644
index 0000000..24d867d
--- /dev/null
+++ b/include/libxml/DOCBparser.h
@@ -0,0 +1,73 @@
+/*
+ * SGMLparser.h : interface for a DocBook SGML non-verifying parser
+ *
+ * See Copyright for the status of this software.
+ *
+ * Daniel.Veillard@w3.org
+ */
+
+#ifndef __DOCB_PARSER_H__
+#define __DOCB_PARSER_H__
+#include <parser.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * Most of the back-end structures from XML and SGML are shared
+ */
+typedef xmlParserCtxt docbParserCtxt;
+typedef xmlParserCtxtPtr docbParserCtxtPtr;
+typedef xmlParserNodeInfo docbParserNodeInfo;
+typedef xmlSAXHandler docbSAXHandler;
+typedef xmlSAXHandlerPtr docbSAXHandlerPtr;
+typedef xmlParserInput docbParserInput;
+typedef xmlParserInputPtr docbParserInputPtr;
+typedef xmlDocPtr docbDocPtr;
+typedef xmlNodePtr docbNodePtr;
+
+/*
+ * There is only few public functions.
+ */
+int                    docbEncodeEntities(unsigned char* out,
+                                        int *outlen,
+                                        const unsigned char* in,
+                                        int *inlen, int quoteChar);
+
+docbDocPtr             docbSAXParseDoc (xmlChar *cur,
+                                        const char *encoding,
+                                        docbSAXHandlerPtr sax,
+                                        void *userData);
+docbDocPtr             docbParseDoc    (xmlChar *cur,
+                                        const char *encoding);
+docbDocPtr             docbSAXParseFile(const char *filename,
+                                        const char *encoding,
+                                        docbSAXHandlerPtr sax,
+                                        void *userData);
+docbDocPtr             docbParseFile   (const char *filename,
+                                        const char *encoding);
+
+/**
+ * Interfaces for the Push mode
+ */
+void                   docbFreeParserCtxt      (docbParserCtxtPtr ctxt);
+docbParserCtxtPtr      docbCreatePushParserCtxt(docbSAXHandlerPtr sax,
+                                                void *user_data,
+                                                const char *chunk,
+                                                int size,
+                                                const char *filename,
+                                                xmlCharEncoding enc);
+int                    docbParseChunk          (docbParserCtxtPtr ctxt,
+                                                const char *chunk,
+                                                int size,
+                                                int terminate);
+docbParserCtxtPtr       docbCreateFileParserCtxt(const char *filename,
+                                                const char *encoding);
+int                     docbParseDocument       (docbParserCtxtPtr ctxt);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __DOCB_PARSER_H__ */
diff --git a/include/libxml/SAX.h b/include/libxml/SAX.h
index 4fabbdf..1673475 100644
--- a/include/libxml/SAX.h
+++ b/include/libxml/SAX.h
@@ -113,7 +113,7 @@
 
 void		xmlDefaultSAXHandlerInit	(void);
 void		htmlDefaultSAXHandlerInit	(void);
-void		sgmlDefaultSAXHandlerInit	(void);
+void		docbDefaultSAXHandlerInit	(void);
 #ifdef __cplusplus
 }
 #endif
diff --git a/include/libxml/parser.h b/include/libxml/parser.h
index 1820af9..61f61ae 100644
--- a/include/libxml/parser.h
+++ b/include/libxml/parser.h
@@ -303,7 +303,7 @@
 LIBXML_DLL_IMPORT extern xmlSAXLocator xmlDefaultSAXLocator;
 LIBXML_DLL_IMPORT extern xmlSAXHandler xmlDefaultSAXHandler;
 LIBXML_DLL_IMPORT extern xmlSAXHandler htmlDefaultSAXHandler;
-LIBXML_DLL_IMPORT extern xmlSAXHandler sgmlDefaultSAXHandler;
+LIBXML_DLL_IMPORT extern xmlSAXHandler docbDefaultSAXHandler;
 
 /**
  * entity substitution default behaviour.
diff --git a/include/libxml/tree.h b/include/libxml/tree.h
index 08321a2..be03864 100644
--- a/include/libxml/tree.h
+++ b/include/libxml/tree.h
@@ -54,8 +54,8 @@
     XML_NAMESPACE_DECL=		18,
     XML_XINCLUDE_START=		19,
     XML_XINCLUDE_END=		20
-#ifdef LIBXML_SGML_ENABLED
-   ,XML_SGML_DOCUMENT_NODE=	21
+#ifdef LIBXML_DOCB_ENABLED
+   ,XML_DOCB_DOCUMENT_NODE=	21
 #endif
 } xmlElementType;
 
diff --git a/include/libxml/xmlversion.h.in b/include/libxml/xmlversion.h.in
index 211a5e2..6725b84 100644
--- a/include/libxml/xmlversion.h.in
+++ b/include/libxml/xmlversion.h.in
@@ -62,13 +62,13 @@
 #endif
 
 /*
- * Whether the Docbook support is configured in
-#if @WITH_SGML@
-#define LIBXML_SGML_ENABLED
-#else
-#define LIBXML_SGML_DISABLED
-#endif
+ * Whether the SGML Docbook support is configured in
  */
+#if @WITH_DOCB@
+#define LIBXML_DOCB_ENABLED
+#else
+#define LIBXML_DOCB_DISABLED
+#endif
 
 /*
  * Whether XPath is configured in