improving some documentation comments found and fixed a mem leak with

* tree.c: improving some documentation comments
* xmlregexp.c: found and fixed a mem leak with python regression tests
* doc/*: rebuilt the doc and the API XML file including the
  xmlregexp.h xmlautomata.h and xmlunicode.h headers
* python/generator.py python/libxml2class.txt python/libxml_wrap.h
  python/types.c: added access to the XML Schemas regexps from
  python
* python/tests/Makefile.am python/tests/regexp.py: added a
  simple regexp bindings test
Daniel
diff --git a/python/libxml_wrap.h b/python/libxml_wrap.h
index 752c7f7..efa79d0 100644
--- a/python/libxml_wrap.h
+++ b/python/libxml_wrap.h
@@ -14,6 +14,9 @@
 #include <libxml/HTMLtree.h>
 #include <libxml/xinclude.h>
 #include <libxml/xpointer.h>
+#include <libxml/xmlunicode.h>
+#include <libxml/xmlregexp.h>
+#include <libxml/xmlautomata.h>
 
 #define PyxmlNode_Get(v) (((v) == Py_None) ? NULL : \
 	(((PyxmlNode_Object *)(v))->obj))
@@ -55,6 +58,14 @@
     xmlCatalogPtr obj;
 } Pycatalog_Object;
 
+#define PyxmlReg_Get(v) (((v) == Py_None) ? NULL : \
+        (((PyxmlReg_Object *)(v))->obj))
+
+typedef struct {
+    PyObject_HEAD
+    xmlRegexpPtr obj;
+} PyxmlReg_Object;
+
 #define PyURI_Get(v) (((v) == Py_None) ? NULL : \
 	(((PyURI_Object *)(v))->obj))
 
@@ -81,7 +92,7 @@
 
 /* FILE * have their own internal representation */
 #define PyFile_Get(v) (((v) == Py_None) ? NULL : \
-	(PyFile_Check(v) ? (PyFile_AsFile(v)) : NULL))
+	(PyFile_Check(v) ? (PyFile_AsFile(v)) : stdout))
 
 
 PyObject * libxml_intWrap(int val);
@@ -107,5 +118,6 @@
 PyObject * libxml_xmlURIPtrWrap(xmlURIPtr uri);
 PyObject * libxml_xmlOutputBufferPtrWrap(xmlOutputBufferPtr buffer);
 PyObject * libxml_xmlParserInputBufferPtrWrap(xmlParserInputBufferPtr buffer);
+PyObject * libxml_xmlRegexpPtrWrap(xmlRegexpPtr regexp);
 
 xmlXPathObjectPtr libxml_xmlXPathObjectPtrConvert(PyObject * obj);