applied patch from Alfred Mickautsch, bugfixes and comments added his test

* xmlwriter.c include/libxml/xmlwriter.h: applied patch from
  Alfred Mickautsch, bugfixes and comments
* doc/examples/*: added his test as the xmlWriter example
* doc/html/ doc/*.html: this resulted in some improvements
* include/libxml/hash.h: fixed an inclusion problem when
  <libxml/hash.h> wasn't preceeded by <xml/parser.h>
Daniel
diff --git a/doc/APIconstructors.html b/doc/APIconstructors.html
index 2a7d0ee..2364f7d 100644
--- a/doc/APIconstructors.html
+++ b/doc/APIconstructors.html
@@ -458,8 +458,11 @@
 <a href="html/libxml-xmlreader.html#xmlReaderWalker">xmlReaderWalker</a><br />
 <a href="html/libxml-xmlreader.html#xmlReaderForMemory">xmlReaderForMemory</a><br />
 </p><h2>Type xmlTextWriterPtr:</h2><p><a href="html/libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a><br />
 <a href="html/libxml-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a><br />
 <a href="html/libxml-xmlwriter.html#xmlNewTextWriterFilename">xmlNewTextWriterFilename</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a><br />
 </p><h2>Type xmlURIPtr:</h2><p><a href="html/libxml-uri.html#xmlCreateURI">xmlCreateURI</a><br />
 <a href="html/libxml-uri.html#xmlParseURI">xmlParseURI</a><br />
 </p><h2>Type xmlValidCtxtPtr:</h2><p><a href="html/libxml-valid.html#xmlNewValidCtxt">xmlNewValidCtxt</a><br />
@@ -496,9 +499,9 @@
 <a href="html/libxml-xpath.html#xmlXPathEval">xmlXPathEval</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNewCString">xmlXPathNewCString</a><br />
 <a href="html/libxml-xpath.html#xmlXPathCompiledEval">xmlXPathCompiledEval</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookup">xmlXPathVariableLookup</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrNewRange">xmlXPtrNewRange</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathVariableLookupNS">xmlXPathVariableLookupNS</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathVariableLookup">xmlXPathVariableLookup</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrNewRangeNodeObject">xmlXPtrNewRangeNodeObject</a><br />
 <a href="html/libxml-xpath.html#xmlXPathConvertBoolean">xmlXPathConvertBoolean</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrEval">xmlXPtrEval</a><br />