fixed a weird error where validity context whould not show up if warnings

* valid.c: fixed a weird error where validity context whould not
  show up if warnings were disabled pointed out by Bob Stayton
* xmlIO.c doc/generator.py: cleanup and fix to regenerate the docs
* doc//* testapi.c: rebuilt the docs
Daniel
diff --git a/ChangeLog b/ChangeLog
index 69b574a..d21f85b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Wed Oct 11 18:40:00 CEST 2006 Daniel Veillard <daniel@veillard.com>
+
+	* valid.c: fixed a weird error where validity context whould not
+	  show up if warnings were disabled pointed out by Bob Stayton
+	* xmlIO.c doc/generator.py: cleanup and fix to regenerate the docs
+	* doc//* testapi.c: rebuilt the docs
+
 Wed Oct 11 14:32:00 CEST 2006 Daniel Veillard <daniel@veillard.com>
 
 	* libxml-2.0.pc.in: applied patch from Mikhail Zabaluev to separate
diff --git a/doc/APIchunk0.html b/doc/APIchunk0.html
index 1388ad7..f67a902 100644
--- a/doc/APIchunk0.html
+++ b/doc/APIchunk0.html
@@ -104,7 +104,8 @@
 <a href="html/libxml-nanoftp.html#xmlNanoFTPList">xmlNanoFTPList</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
 <a href="html/libxml-xmlwriter.html#xmlTextWriterEndDocument">xmlTextWriterEndDocument</a><br />
-</dd><dt>Allocate</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPNewCtxt">xmlNanoFTPNewCtxt</a><br />
+</dd><dt>Allocate</dt><dd><a href="html/libxml-HTMLparser.html#htmlNewParserCtxt">htmlNewParserCtxt</a><br />
+<a href="html/libxml-nanoftp.html#xmlNanoFTPNewCtxt">xmlNanoFTPNewCtxt</a><br />
 <a href="html/libxml-valid.html#xmlNewDocElementContent">xmlNewDocElementContent</a><br />
 <a href="html/libxml-valid.html#xmlNewElementContent">xmlNewElementContent</a><br />
 <a href="html/libxml-parser.html#xmlNewParserCtxt">xmlNewParserCtxt</a><br />
diff --git a/doc/APIchunk1.html b/doc/APIchunk1.html
index 5b1ea9a..a222fe0 100644
--- a/doc/APIchunk1.html
+++ b/doc/APIchunk1.html
@@ -267,6 +267,7 @@
 </dd><dt>Computes</dt><dd><a href="html/libxml-uri.html#xmlBuildURI">xmlBuildURI</a><br />
 </dd><dt>Concat</dt><dd><a href="html/libxml-tree.html#xmlTextConcat">xmlTextConcat</a><br />
 </dd><dt>Constructs</dt><dd><a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
+<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
 </dd><dt>Content</dt><dd><a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
 </dd><dt>Content-Type</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a><br />
diff --git a/doc/APIchunk10.html b/doc/APIchunk10.html
index b6a2186..3218532 100644
--- a/doc/APIchunk10.html
+++ b/doc/APIchunk10.html
@@ -282,7 +282,8 @@
 <a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
 <a href="html/libxml-xpath.html#xmlXPathObjectCopy">xmlXPathObjectCopy</a><br />
-</dd><dt>allocation</dt><dd><a href="html/libxml-tree.html#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a><br />
+</dd><dt>allocation</dt><dd><a href="html/libxml-HTMLparser.html#htmlNewParserCtxt">htmlNewParserCtxt</a><br />
+<a href="html/libxml-tree.html#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a><br />
 <a href="html/libxml-tree.html#xmlGetBufferAllocationScheme">xmlGetBufferAllocationScheme</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMallocLoc">xmlMallocLoc</a><br />
@@ -478,6 +479,7 @@
 <a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
 <a href="html/libxml-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a><br />
+<a href="html/libxml-xinclude.html#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a><br />
 </dd><dt>applications</dt><dd><a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
 <a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
 </dd><dt>applied</dt><dd><a href="html/libxml-hash.html#xmlHashCopy">xmlHashCopy</a><br />
diff --git a/doc/APIchunk12.html b/doc/APIchunk12.html
index 2b4a64e..b036fc8 100644
--- a/doc/APIchunk12.html
+++ b/doc/APIchunk12.html
@@ -193,6 +193,7 @@
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateMem">xmlParserInputBufferCreateMem</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a><br />
 </dd><dt>checked</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_INTERNAL_CHECKED">XML_SCHEMAS_ELEM_INTERNAL_CHECKED</a><br />
+<a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
 <a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
 <a href="html/libxml-tree.html#xmlNodeGetLang">xmlNodeGetLang</a><br />
 <a href="html/libxml-tree.html#xmlNodeGetSpacePreserve">xmlNodeGetSpacePreserve</a><br />
@@ -578,6 +579,7 @@
 <a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
 </dd><dt>construct</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
 </dd><dt>construction</dt><dd><a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
+<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
 </dd><dt>constructs</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
 </dd><dt>consumed</dt><dd><a href="html/libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a><br />
diff --git a/doc/APIchunk13.html b/doc/APIchunk13.html
index af82134..1c9e865 100644
--- a/doc/APIchunk13.html
+++ b/doc/APIchunk13.html
@@ -589,6 +589,7 @@
 <a href="html/libxml-debugXML.html#xmlShellCat">xmlShellCat</a><br />
 <a href="html/libxml-debugXML.html#xmlShellDir">xmlShellDir</a><br />
 </dd><dt>duplicate</dt><dd><a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
+<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
 </dd><dt>duplicated</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a><br />
 </dd><dt>duplicates</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaCopyValue">xmlSchemaCopyValue</a><br />
diff --git a/doc/APIchunk14.html b/doc/APIchunk14.html
index 5484f6f..dfe748d 100644
--- a/doc/APIchunk14.html
+++ b/doc/APIchunk14.html
@@ -386,6 +386,7 @@
 </dd><dt>explicitly</dt><dd><a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br />
 </dd><dt>explored</dt><dd><a href="html/libxml-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a><br />
 </dd><dt>exposing</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderRead">xmlTextReaderRead</a><br />
+</dd><dt>expressing</dt><dd><a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
 </dd><dt>expressions</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a><br />
 <a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
diff --git a/doc/APIchunk15.html b/doc/APIchunk15.html
index 09bad2d..5bd7b26 100644
--- a/doc/APIchunk15.html
+++ b/doc/APIchunk15.html
@@ -74,6 +74,7 @@
 <a href="html/libxml-debugXML.html#xmlShellLoad">xmlShellLoad</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcess">xmlXIncludeProcess</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessFlags">xmlXIncludeProcessFlags</a><br />
+<a href="html/libxml-xinclude.html#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessTree">xmlXIncludeProcessTree</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlags">xmlXIncludeProcessTreeFlags</a><br />
@@ -89,6 +90,7 @@
 <a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
 <a href="html/libxml-xmlIO.html#xmlCheckFilename">xmlCheckFilename</a><br />
 <a href="html/libxml-xmlIO.html#xmlFileOpen">xmlFileOpen</a><br />
+<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
 </dd><dt>fallback</dt><dd><a href="html/libxml-xinclude.html#XINCLUDE_FALLBACK">XINCLUDE_FALLBACK</a><br />
 <a href="html/libxml-DOCBparser.html#docbSAXParseDoc">docbSAXParseDoc</a><br />
 <a href="html/libxml-DOCBparser.html#docbSAXParseFile">docbSAXParseFile</a><br />
@@ -134,6 +136,7 @@
 <a href="html/libxml-parser.html#XML_SKIP_IDS">XML_SKIP_IDS</a><br />
 <a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseMisc">xmlParseMisc</a><br />
+<a href="html/libxml-xinclude.html#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a><br />
 <a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
 </dd><dt>fields</dt><dd><a href="html/libxml-parser.html#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a><br />
 <a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
@@ -145,6 +148,7 @@
 <a href="html/libxml-HTMLparser.html#htmlReadFile">htmlReadFile</a><br />
 <a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
 <a href="html/libxml-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a><br />
+<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
 <a href="html/libxml-parser.html#xmlReadFile">xmlReadFile</a><br />
 <a href="html/libxml-xmlreader.html#xmlReaderForFile">xmlReaderForFile</a><br />
 <a href="html/libxml-xmlreader.html#xmlReaderNewFile">xmlReaderNewFile</a><br />
@@ -320,6 +324,7 @@
 </dd><dt>fragments</dt><dd><a href="html/libxml-uri.html#xmlParseURIRaw">xmlParseURIRaw</a><br />
 </dd><dt>freeing</dt><dd><a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
 <a href="html/libxml-parser.html#xmlParserInputDeallocate">xmlParserInputDeallocate</a><br />
+<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
 </dd><dt>frees</dt><dd><a href="html/libxml-tree.html#xmlBufferFree">xmlBufferFree</a><br />
 <a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
 </dd><dt>front</dt><dd><a href="html/libxml-tree.html#xmlValidateNCName">xmlValidateNCName</a><br />
diff --git a/doc/APIchunk16.html b/doc/APIchunk16.html
index 5585cd5..0f91dc8 100644
--- a/doc/APIchunk16.html
+++ b/doc/APIchunk16.html
@@ -287,6 +287,7 @@
 <a href="html/libxml-HTMLparser.html#htmlEntityValueLookup">htmlEntityValueLookup</a><br />
 <a href="html/libxml-HTMLparser.html#htmlParseEntityRef">htmlParseEntityRef</a><br />
 </dd><dt>htmlNodePtr</dt><dd><a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
+</dd><dt>htmlParserCtxtPtr</dt><dd><a href="html/libxml-HTMLparser.html#htmlNewParserCtxt">htmlNewParserCtxt</a><br />
 </dd><dt>htmlParserOption</dt><dd><a href="html/libxml-HTMLparser.html#htmlCtxtReadDoc">htmlCtxtReadDoc</a><br />
 <a href="html/libxml-HTMLparser.html#htmlCtxtReadFd">htmlCtxtReadFd</a><br />
 <a href="html/libxml-HTMLparser.html#htmlCtxtReadFile">htmlCtxtReadFile</a><br />
diff --git a/doc/APIchunk17.html b/doc/APIchunk17.html
index 9aa76a7..e54d9d8 100644
--- a/doc/APIchunk17.html
+++ b/doc/APIchunk17.html
@@ -153,6 +153,7 @@
 <a href="html/libxml-xmlIO.html#xmlCleanupOutputCallbacks">xmlCleanupOutputCallbacks</a><br />
 <a href="html/libxml-xmlIO.html#xmlPopInputCallbacks">xmlPopInputCallbacks</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessFlags">xmlXIncludeProcessFlags</a><br />
+<a href="html/libxml-xinclude.html#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlags">xmlXIncludeProcessTreeFlags</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeSetFlags">xmlXIncludeSetFlags</a><br />
 </dd><dt>including</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a><br />
@@ -357,6 +358,7 @@
 <a href="html/libxml-parser.html#XML_DETECT_IDS">XML_DETECT_IDS</a><br />
 <a href="html/libxml-parser.html#XML_SKIP_IDS">XML_SKIP_IDS</a><br />
 <a href="html/libxml-HTMLtree.html#htmlNewDocNoDtD">htmlNewDocNoDtD</a><br />
+<a href="html/libxml-HTMLparser.html#htmlNewParserCtxt">htmlNewParserCtxt</a><br />
 <a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
 <a href="html/libxml-entities.html#xmlCreateEntitiesTable">xmlCreateEntitiesTable</a><br />
 <a href="html/libxml-valid.html#xmlCreateEnumeration">xmlCreateEnumeration</a><br />
@@ -425,6 +427,7 @@
 <a href="html/libxml-tree.html#xmlNewPI">xmlNewPI</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2ProcessingInstruction">xmlSAX2ProcessingInstruction</a><br />
 </dd><dt>insufficient</dt><dd><a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
+<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
 </dd><dt>intact</dt><dd><a href="html/libxml-uri.html#xmlParseURIRaw">xmlParseURIRaw</a><br />
 </dd><dt>integer</dt><dd><a href="html/libxml-xmlstring.html#xmlStrcasecmp">xmlStrcasecmp</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrcmp">xmlStrcmp</a><br />
@@ -484,7 +487,6 @@
 </dd><dt>invoking</dt><dd><a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br />
 </dd><dt>isinf</dt><dd><a href="html/libxml-xpath.html#xmlXPathIsInf">xmlXPathIsInf</a><br />
 </dd><dt>isn</dt><dd><a href="html/libxml-encoding.html#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastToString">xmlXPathCastToString</a><br />
 </dd><dt>isnan</dt><dd><a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />
 </dd><dt>issue</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
 </dd><dt>issued</dt><dd><a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
diff --git a/doc/APIchunk18.html b/doc/APIchunk18.html
index c2eb2af..f965440 100644
--- a/doc/APIchunk18.html
+++ b/doc/APIchunk18.html
@@ -346,6 +346,7 @@
 <a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
 <a href="html/libxml-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a><br />
 <a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
+<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
 <a href="html/libxml-SAX2.html#xmlSAX2SetDocumentLocator">xmlSAX2SetDocumentLocator</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderLocatorBaseURI">xmlTextReaderLocatorBaseURI</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderLocatorLineNumber">xmlTextReaderLocatorLineNumber</a><br />
diff --git a/doc/APIchunk20.html b/doc/APIchunk20.html
index d654a0e..2a9174d 100644
--- a/doc/APIchunk20.html
+++ b/doc/APIchunk20.html
@@ -128,7 +128,6 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
 <a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
 <a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCastToString">xmlXPathCastToString</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathPopBoolean">xmlXPathPopBoolean</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathPopExternal">xmlXPathPopExternal</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathPopNodeSet">xmlXPathPopNodeSet</a><br />
diff --git a/doc/APIchunk21.html b/doc/APIchunk21.html
index 7b77dd6..f7cf410 100644
--- a/doc/APIchunk21.html
+++ b/doc/APIchunk21.html
@@ -55,6 +55,7 @@
 </dd><dt>obsolete</dt><dd><a href="html/libxml-xmlIO.html#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a><br />
 </dd><dt>obsolete:</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a><br />
 </dd><dt>occupied</dt><dd><a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
+<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
 </dd><dt>occur</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
diff --git a/doc/APIchunk22.html b/doc/APIchunk22.html
index f4c8321..bd256cb 100644
--- a/doc/APIchunk22.html
+++ b/doc/APIchunk22.html
@@ -101,6 +101,7 @@
 <a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
 <a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
 <a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
+<a href="html/libxml-xinclude.html#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a><br />
 <a href="html/libxml-xpath.html#xmlXPathEvalFunc">xmlXPathEvalFunc</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathIntersection">xmlXPathIntersection</a><br />
 </dd><dt>passive</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPGetConnection">xmlNanoFTPGetConnection</a><br />
@@ -122,6 +123,7 @@
 <a href="html/libxml-uri.html#xmlNormalizeURIPath">xmlNormalizeURIPath</a><br />
 <a href="html/libxml-xmlIO.html#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserGetDirectory">xmlParserGetDirectory</a><br />
+<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
 <a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</a><br />
 <a href="html/libxml-debugXML.html#xmlShellValidate">xmlShellValidate</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a><br />
diff --git a/doc/APIchunk23.html b/doc/APIchunk23.html
index 4bfe14f..c635968 100644
--- a/doc/APIchunk23.html
+++ b/doc/APIchunk23.html
@@ -518,6 +518,7 @@
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a><br />
 </dd><dt>responsible</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
 <a href="html/libxml-uri.html#xmlCanonicPath">xmlCanonicPath</a><br />
+<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
 </dd><dt>restored</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a><br />
 </dd><dt>restrict</dt><dd><a href="html/libxml-parserInternals.html#xmlParseExternalID">xmlParseExternalID</a><br />
diff --git a/doc/APIchunk24.html b/doc/APIchunk24.html
index 778f69a..b737b67 100644
--- a/doc/APIchunk24.html
+++ b/doc/APIchunk24.html
@@ -67,6 +67,7 @@
 <a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemGet">xmlMemGet</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a><br />
+<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
 <a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
 <a href="html/libxml-debugXML.html#xmlShellSave">xmlShellSave</a><br />
 </dd><dt>saved</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
@@ -415,6 +416,7 @@
 <a href="html/libxml-valid.html#xmlValidatePushCData">xmlValidatePushCData</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcess">xmlXIncludeProcess</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessFlags">xmlXIncludeProcessFlags</a><br />
+<a href="html/libxml-xinclude.html#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessTree">xmlXIncludeProcessTree</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlags">xmlXIncludeProcessTreeFlags</a><br />
@@ -756,6 +758,7 @@
 <a href="html/libxml-parserInternals.html#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcess">xmlXIncludeProcess</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessFlags">xmlXIncludeProcessFlags</a><br />
+<a href="html/libxml-xinclude.html#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessTree">xmlXIncludeProcessTree</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlags">xmlXIncludeProcessTreeFlags</a><br />
diff --git a/doc/APIchunk25.html b/doc/APIchunk25.html
index 59ed59a..39aeb8f 100644
--- a/doc/APIchunk25.html
+++ b/doc/APIchunk25.html
@@ -261,6 +261,7 @@
 <a href="html/libxml-xmlIO.html#xmlPopInputCallbacks">xmlPopInputCallbacks</a><br />
 <a href="html/libxml-parserInternals.html#xmlPushInput">xmlPushInput</a><br />
 <a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
+<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
 <a href="html/libxml-tree.html#xmlSetTreeDoc">xmlSetTreeDoc</a><br />
 </dd><dt>total</dt><dd><a href="html/libxml-xmlIO.html#_xmlOutputBuffer">_xmlOutputBuffer</a><br />
 <a href="html/libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
diff --git a/doc/APIchunk9.html b/doc/APIchunk9.html
index 4d2a607..882ab74 100644
--- a/doc/APIchunk9.html
+++ b/doc/APIchunk9.html
@@ -139,6 +139,7 @@
 <a href="html/libxml-xinclude.html#xmlXIncludeNewContext">xmlXIncludeNewContext</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcess">xmlXIncludeProcess</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessFlags">xmlXIncludeProcessFlags</a><br />
+<a href="html/libxml-xinclude.html#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessTree">xmlXIncludeProcessTree</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlags">xmlXIncludeProcessTreeFlags</a><br />
diff --git a/doc/APIconstructors.html b/doc/APIconstructors.html
index 2def8de..c4d348c 100644
--- a/doc/APIconstructors.html
+++ b/doc/APIconstructors.html
@@ -79,6 +79,7 @@
 </p><h2>Type htmlParserCtxtPtr:</h2><p><a href="html/libxml-parserInternals.html#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a><br />
 <a href="html/libxml-HTMLparser.html#htmlCreateMemoryParserCtxt">htmlCreateMemoryParserCtxt</a><br />
 <a href="html/libxml-HTMLparser.html#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a><br />
+<a href="html/libxml-HTMLparser.html#htmlNewParserCtxt">htmlNewParserCtxt</a><br />
 </p><h2>Type htmlStatus:</h2><p><a href="html/libxml-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a><br />
 <a href="html/libxml-HTMLparser.html#htmlElementStatusHere">htmlElementStatusHere</a><br />
 <a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
@@ -207,6 +208,7 @@
 <a href="html/libxml-parserInternals.html#xmlParseSystemLiteral">xmlParseSystemLiteral</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseVersionInfo">xmlParseVersionInfo</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseVersionNum">xmlParseVersionNum</a><br />
+<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
 <a href="html/libxml-uri.html#xmlSaveUri">xmlSaveUri</a><br />
 <a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaCollapseString">xmlSchemaCollapseString</a><br />
diff --git a/doc/APIfiles.html b/doc/APIfiles.html
index 79f127c..e10fe00 100644
--- a/doc/APIfiles.html
+++ b/doc/APIfiles.html
@@ -66,6 +66,7 @@
 <a href="html/libxml-HTMLparser.html#htmlHandleOmittedElem">htmlHandleOmittedElem</a><br />
 <a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br />
 <a href="html/libxml-HTMLparser.html#htmlIsScriptAttribute">htmlIsScriptAttribute</a><br />
+<a href="html/libxml-HTMLparser.html#htmlNewParserCtxt">htmlNewParserCtxt</a><br />
 <a href="html/libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a><br />
 <a href="html/libxml-HTMLparser.html#htmlNodeStatus">htmlNodeStatus</a><br />
 <a href="html/libxml-HTMLparser.html#htmlParseCharRef">htmlParseCharRef</a><br />
@@ -1545,6 +1546,7 @@
 <a href="html/libxml-uri.html#xmlParseURI">xmlParseURI</a><br />
 <a href="html/libxml-uri.html#xmlParseURIRaw">xmlParseURIRaw</a><br />
 <a href="html/libxml-uri.html#xmlParseURIReference">xmlParseURIReference</a><br />
+<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
 <a href="html/libxml-uri.html#xmlPrintURI">xmlPrintURI</a><br />
 <a href="html/libxml-uri.html#xmlSaveUri">xmlSaveUri</a><br />
 <a href="html/libxml-uri.html#xmlURI">xmlURI</a><br />
@@ -1657,6 +1659,7 @@
 <a href="html/libxml-xinclude.html#xmlXIncludeNewContext">xmlXIncludeNewContext</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcess">xmlXIncludeProcess</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessFlags">xmlXIncludeProcessFlags</a><br />
+<a href="html/libxml-xinclude.html#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessTree">xmlXIncludeProcessTree</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlags">xmlXIncludeProcessTreeFlags</a><br />
diff --git a/doc/APIfunctions.html b/doc/APIfunctions.html
index 46642d1..fea4fd3 100644
--- a/doc/APIfunctions.html
+++ b/doc/APIfunctions.html
@@ -305,6 +305,7 @@
 <a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
 <a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseExternalSubset">xmlParseExternalSubset</a><br />
+<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
 <a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
 <a href="html/libxml-parser.html#xmlReadDoc">xmlReadDoc</a><br />
 <a href="html/libxml-xmlreader.html#xmlReaderForDoc">xmlReaderForDoc</a><br />
@@ -862,6 +863,7 @@
 <a href="html/libxml-globals.html#xmlThrDefSetStructuredErrorFunc">xmlThrDefSetStructuredErrorFunc</a><br />
 <a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
 <a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
+<a href="html/libxml-xinclude.html#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a><br />
 <a href="html/libxml-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathRegisterFuncLookup">xmlXPathRegisterFuncLookup</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathRegisterVariableLookup">xmlXPathRegisterVariableLookup</a><br />
@@ -1216,6 +1218,7 @@
 <a href="html/libxml-xinclude.html#xmlXIncludeNewContext">xmlXIncludeNewContext</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcess">xmlXIncludeProcess</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessFlags">xmlXIncludeProcessFlags</a><br />
+<a href="html/libxml-xinclude.html#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a><br />
 <a href="html/libxml-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a><br />
 <a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</a><br />
diff --git a/doc/APIsymbols.html b/doc/APIsymbols.html
index 25e6114..c6c5265 100644
--- a/doc/APIsymbols.html
+++ b/doc/APIsymbols.html
@@ -1568,6 +1568,7 @@
 <a href="html/libxml-HTMLparser.html#htmlIsScriptAttribute">htmlIsScriptAttribute</a><br />
 <a href="html/libxml-HTMLtree.html#htmlNewDoc">htmlNewDoc</a><br />
 <a href="html/libxml-HTMLtree.html#htmlNewDocNoDtD">htmlNewDocNoDtD</a><br />
+<a href="html/libxml-HTMLparser.html#htmlNewParserCtxt">htmlNewParserCtxt</a><br />
 <a href="html/libxml-HTMLtree.html#htmlNodeDump">htmlNodeDump</a><br />
 <a href="html/libxml-HTMLtree.html#htmlNodeDumpFile">htmlNodeDumpFile</a><br />
 <a href="html/libxml-HTMLtree.html#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a><br />
@@ -2475,6 +2476,7 @@
 <a href="html/libxml-xmlerror.html#xmlParserValidityWarning">xmlParserValidityWarning</a><br />
 <a href="html/libxml-globals.html#xmlParserVersion">xmlParserVersion</a><br />
 <a href="html/libxml-xmlerror.html#xmlParserWarning">xmlParserWarning</a><br />
+<a href="html/libxml-uri.html#xmlPathToURI">xmlPathToURI</a><br />
 <a href="html/libxml-pattern.html#xmlPattern">xmlPattern</a><br />
 <a href="html/libxml-pattern.html#xmlPatternFlags">xmlPatternFlags</a><br />
 <a href="html/libxml-pattern.html#xmlPatternFromRoot">xmlPatternFromRoot</a><br />
@@ -3261,6 +3263,7 @@
 <a href="html/libxml-xinclude.html#xmlXIncludeNewContext">xmlXIncludeNewContext</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcess">xmlXIncludeProcess</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessFlags">xmlXIncludeProcessFlags</a><br />
+<a href="html/libxml-xinclude.html#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessTree">xmlXIncludeProcessTree</a><br />
 <a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlags">xmlXIncludeProcessTreeFlags</a><br />
diff --git a/doc/apibuild.py b/doc/apibuild.py
index f1a795f..1e73725 100755
--- a/doc/apibuild.py
+++ b/doc/apibuild.py
@@ -49,6 +49,7 @@
   "runtest.c": "regression tests program",
   "runsuite.c": "regression tests program",
   "tst.c": "not part of the library",
+  "test.c": "not part of the library",
   "testdso.c": "test for dynamid shared libraries",
 }
 
diff --git a/doc/devhelp/libxml2-HTMLparser.html b/doc/devhelp/libxml2-HTMLparser.html
index 3a4a67d..827da39 100644
--- a/doc/devhelp/libxml2-HTMLparser.html
+++ b/doc/devhelp/libxml2-HTMLparser.html
@@ -95,6 +95,7 @@
 <a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadFile">htmlReadFile</a>		(const char * filename, <br/>					 const char * encoding, <br/>					 int options);
 <a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadFile">htmlCtxtReadFile</a>	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>					 const char * filename, <br/>					 const char * encoding, <br/>					 int options);
 int	<a href="#htmlParseDocument">htmlParseDocument</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlNewParserCtxt">htmlNewParserCtxt</a>	(void);
 <a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlSAXParseDoc">htmlSAXParseDoc</a>		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * encoding, <br/>					 <a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br/>					 void * userData);
 int	<a href="#htmlCtxtUseOptions">htmlCtxtUseOptions</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>					 int options);
 <a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlParseDoc">htmlParseDoc</a>		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * encoding);
@@ -295,6 +296,10 @@
 </pre><p>Check if an <a href="libxml2-SAX.html#attribute">attribute</a> is of content type Script</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>an <a href="libxml2-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 is the <a href="libxml2-SAX.html#attribute">attribute</a> is a script 0 otherwise</td></tr></tbody></table></div></div>
         <hr/>
+        <div class="refsect2" lang="en"><h3><a name="htmlNewParserCtxt"/>htmlNewParserCtxt ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlNewParserCtxt	(void)<br/>
+</pre><p>Allocate and initialize a new parser context.</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> or NULL in case of allocation error</td></tr></tbody></table></div></div>
+        <hr/>
         <div class="refsect2" lang="en"><h3><a name="htmlNodeStatus"/>htmlNodeStatus ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	htmlNodeStatus		(const <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> node, <br/>					 int legacy)<br/>
 </pre><p>Checks whether the tree node is valid. Experimental (the author only uses the HTML enhancements in a SAX parser)</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>an <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> in a tree</td></tr><tr><td><span class="term"><i><tt>legacy</tt></i>:</span></td><td>whether to allow deprecated elements (YES is faster here for Element nodes)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>for Element nodes, a return from <a href="libxml2-HTMLparser.html#htmlElementAllowedHere">htmlElementAllowedHere</a> (if legacy allowed) or <a href="libxml2-HTMLparser.html#htmlElementStatusHere">htmlElementStatusHere</a> (otherwise). for Attribute nodes, a return from <a href="libxml2-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a> for other nodes, <a href="libxml2-HTMLparser.html#HTML_NA">HTML_NA</a> (no checks performed)</td></tr></tbody></table></div></div>
diff --git a/doc/devhelp/libxml2-tree.html b/doc/devhelp/libxml2-tree.html
index 7cb9872..aba84d3 100644
--- a/doc/devhelp/libxml2-tree.html
+++ b/doc/devhelp/libxml2-tree.html
@@ -567,6 +567,7 @@
     struct _xmlEntity *	nexte	: unused
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	URI	: the full URI as computed
     int	owner	: does the entity own the childrens
+    int	checked	: was the entity content checked
 } xmlEntity;
 </pre><p/>
 </div>
diff --git a/doc/devhelp/libxml2-uri.html b/doc/devhelp/libxml2-uri.html
index 22f724e..33f32fa 100644
--- a/doc/devhelp/libxml2-uri.html
+++ b/doc/devhelp/libxml2-uri.html
@@ -52,6 +52,7 @@
 <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	<a href="#xmlParseURI">xmlParseURI</a>		(const char * str);
 <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>	<a href="#xmlCreateURI">xmlCreateURI</a>		(void);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlURIEscapeStr">xmlURIEscapeStr</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * list);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlPathToURI">xmlPathToURI</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCanonicPath">xmlCanonicPath</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path);
 void	<a href="#xmlFreeURI">xmlFreeURI</a>			(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri);
 int	<a href="#xmlParseURIReference">xmlParseURIReference</a>		(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri, <br/>					 const char * str);
@@ -122,6 +123,10 @@
 </pre><p>Parse an URI <a href="libxml2-SAX.html#reference">reference</a> string and fills in the appropriate fields of the @uri structure URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>uri</tt></i>:</span></td><td>pointer to an URI structure</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the string to analyze</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or the error code</td></tr></tbody></table></div></div>
         <hr/>
+        <div class="refsect2" lang="en"><h3><a name="xmlPathToURI"/>xmlPathToURI ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlPathToURI		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path)<br/>
+</pre><p>Constructs an URI expressing the existing path</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>path</tt></i>:</span></td><td>the resource locator in a filesystem notation</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new URI, or a duplicate of the path parameter if the construction fails. The caller is responsible for freeing the memory occupied by the returned string. If there is insufficient memory available, or the argument is NULL, the function returns NULL.</td></tr></tbody></table></div></div>
+        <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlPrintURI"/>xmlPrintURI ()</h3><pre class="programlisting">void	xmlPrintURI			(FILE * stream, <br/>					 <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br/>
 </pre><p>Prints the URI in the stream @stream.</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>stream</tt></i>:</span></td><td>a FILE* for the output</td></tr><tr><td><span class="term"><i><tt>uri</tt></i>:</span></td><td>pointer to an <a href="libxml2-uri.html#xmlURI">xmlURI</a></td></tr></tbody></table></div></div>
diff --git a/doc/devhelp/libxml2-xinclude.html b/doc/devhelp/libxml2-xinclude.html
index 6ffcd5a..31df927 100644
--- a/doc/devhelp/libxml2-xinclude.html
+++ b/doc/devhelp/libxml2-xinclude.html
@@ -55,6 +55,7 @@
 #define <a href="#XINCLUDE_OLD_NS">XINCLUDE_OLD_NS</a>;
 typedef struct _xmlXIncludeCtxt <a href="#xmlXIncludeCtxt">xmlXIncludeCtxt</a>;
 typedef <a href="libxml2-xinclude.html#xmlXIncludeCtxt">xmlXIncludeCtxt</a> * <a href="#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a>;
+int	<a href="#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 int flags, <br/>					 void * data);
 int	<a href="#xmlXIncludeProcessFlags">xmlXIncludeProcessFlags</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 int flags);
 int	<a href="#xmlXIncludeProcessTree">xmlXIncludeProcessTree</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree);
 int	<a href="#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a>		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
@@ -137,6 +138,10 @@
 </pre><p>Implement the XInclude substitution on the XML document @doc</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>an XML document</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td></tr></tbody></table></div></div>
         <hr/>
+        <div class="refsect2" lang="en"><h3><a name="xmlXIncludeProcessFlagsData"/>xmlXIncludeProcessFlagsData ()</h3><pre class="programlisting">int	xmlXIncludeProcessFlagsData	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>					 int flags, <br/>					 void * data)<br/>
+</pre><p>Implement the XInclude substitution on the XML document @doc</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>an XML document</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>application data that will be passed to the parser context in the _private field of the parser context(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td></tr></tbody></table></div></div>
+        <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlXIncludeProcessNode"/>xmlXIncludeProcessNode ()</h3><pre class="programlisting">int	xmlXIncludeProcessNode		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
 </pre><p>Implement the XInclude substitution for the given subtree reusing the informations and data coming from the given context.</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an existing XInclude context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node in an XML document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td></tr></tbody></table></div></div>
diff --git a/doc/devhelp/libxml2-xmlsave.html b/doc/devhelp/libxml2-xmlsave.html
index 910a1df..cbe12bb 100644
--- a/doc/devhelp/libxml2-xmlsave.html
+++ b/doc/devhelp/libxml2-xmlsave.html
@@ -121,7 +121,7 @@
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlSaveTree"/>xmlSaveTree ()</h3><pre class="programlisting">long	xmlSaveTree			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
 </pre><p>Save a subtree starting at the node parameter to a saving context TODO: The function is not fully implemented yet as it does not return the byte count but 0 instead</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a document saving context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of error</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a document saving context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the top node of the subtree to save</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of error</td></tr></tbody></table></div></div>
         <hr/>
       </div>
     </div>
diff --git a/doc/devhelp/libxml2-xpath.html b/doc/devhelp/libxml2-xpath.html
index a11090f..86b0cc2 100644
--- a/doc/devhelp/libxml2-xpath.html
+++ b/doc/devhelp/libxml2-xpath.html
@@ -425,7 +425,7 @@
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlXPathCastToString"/>xmlXPathCastToString ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastToString	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br/>
 </pre><p>Converts an existing object to its string() equivalent</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the string value of the object, NULL in case of error. A new string is allocated only if needed (@val isn't a string object).</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the allocated string value of the object, NULL in case of error. It's up to the caller to free the string memory with xmlFree().</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlXPathCmpNodes"/>xmlXPathCmpNodes ()</h3><pre class="programlisting">int	xmlXPathCmpNodes		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node1, <br/>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
 </pre><p>Compare two nodes w.r.t document order</p>
diff --git a/doc/devhelp/libxml2.devhelp b/doc/devhelp/libxml2.devhelp
index a7277bf..d789934 100644
--- a/doc/devhelp/libxml2.devhelp
+++ b/doc/devhelp/libxml2.devhelp
@@ -1951,6 +1951,7 @@
     <function name="htmlIsScriptAttribute ()" link="libxml2-HTMLparser.html#htmlIsScriptAttribute"/>
     <function name="htmlNewDoc ()" link="libxml2-HTMLtree.html#htmlNewDoc"/>
     <function name="htmlNewDocNoDtD ()" link="libxml2-HTMLtree.html#htmlNewDocNoDtD"/>
+    <function name="htmlNewParserCtxt ()" link="libxml2-HTMLparser.html#htmlNewParserCtxt"/>
     <function name="htmlNodeDump ()" link="libxml2-HTMLtree.html#htmlNodeDump"/>
     <function name="htmlNodeDumpFile ()" link="libxml2-HTMLtree.html#htmlNodeDumpFile"/>
     <function name="htmlNodeDumpFileFormat ()" link="libxml2-HTMLtree.html#htmlNodeDumpFileFormat"/>
@@ -2636,6 +2637,7 @@
     <function name="xmlParserValidityError ()" link="libxml2-xmlerror.html#xmlParserValidityError"/>
     <function name="xmlParserValidityWarning ()" link="libxml2-xmlerror.html#xmlParserValidityWarning"/>
     <function name="xmlParserWarning ()" link="libxml2-xmlerror.html#xmlParserWarning"/>
+    <function name="xmlPathToURI ()" link="libxml2-uri.html#xmlPathToURI"/>
     <function name="xmlPatternFromRoot ()" link="libxml2-pattern.html#xmlPatternFromRoot"/>
     <function name="xmlPatternGetStreamCtxt ()" link="libxml2-pattern.html#xmlPatternGetStreamCtxt"/>
     <function name="xmlPatternMatch ()" link="libxml2-pattern.html#xmlPatternMatch"/>
@@ -3297,6 +3299,7 @@
     <function name="xmlXIncludeNewContext ()" link="libxml2-xinclude.html#xmlXIncludeNewContext"/>
     <function name="xmlXIncludeProcess ()" link="libxml2-xinclude.html#xmlXIncludeProcess"/>
     <function name="xmlXIncludeProcessFlags ()" link="libxml2-xinclude.html#xmlXIncludeProcessFlags"/>
+    <function name="xmlXIncludeProcessFlagsData ()" link="libxml2-xinclude.html#xmlXIncludeProcessFlagsData"/>
     <function name="xmlXIncludeProcessNode ()" link="libxml2-xinclude.html#xmlXIncludeProcessNode"/>
     <function name="xmlXIncludeProcessTree ()" link="libxml2-xinclude.html#xmlXIncludeProcessTree"/>
     <function name="xmlXIncludeProcessTreeFlags ()" link="libxml2-xinclude.html#xmlXIncludeProcessTreeFlags"/>
diff --git a/doc/html/libxml-HTMLparser.html b/doc/html/libxml-HTMLparser.html
index adc6875..694a08f 100644
--- a/doc/html/libxml-HTMLparser.html
+++ b/doc/html/libxml-HTMLparser.html
@@ -46,6 +46,7 @@
 <pre class="programlisting">int	<a href="#htmlHandleOmittedElem">htmlHandleOmittedElem</a>		(int val)</pre>
 <pre class="programlisting">int	<a href="#htmlIsAutoClosed">htmlIsAutoClosed</a>		(<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br />					 <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem)</pre>
 <pre class="programlisting">int	<a href="#htmlIsScriptAttribute">htmlIsScriptAttribute</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
+<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlNewParserCtxt">htmlNewParserCtxt</a>	(void)</pre>
 <pre class="programlisting"><a href="libxml-HTMLparser.html#htmlStatus">htmlStatus</a>	<a href="#htmlNodeStatus">htmlNodeStatus</a>		(const <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> node, <br />					 int legacy)</pre>
 <pre class="programlisting">int	<a href="#htmlParseCharRef">htmlParseCharRef</a>		(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)</pre>
 <pre class="programlisting">int	<a href="#htmlParseChunk">htmlParseChunk</a>			(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />					 const char * chunk, <br />					 int size, <br />					 int terminate)</pre>
@@ -143,7 +144,9 @@
 </pre><p>The HTML DTD allows a tag to implicitly 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>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the HTML document</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the HTML element</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if autoclosed, 0 otherwise</td></tr></tbody></table></div><h3><a name="htmlIsScriptAttribute" id="htmlIsScriptAttribute"></a>Function: htmlIsScriptAttribute</h3><pre class="programlisting">int	htmlIsScriptAttribute		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
 </pre><p>Check if an <a href="libxml-SAX.html#attribute">attribute</a> is of content type Script</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>an <a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 is the <a href="libxml-SAX.html#attribute">attribute</a> is a script 0 otherwise</td></tr></tbody></table></div><h3><a name="htmlNodeStatus" id="htmlNodeStatus"></a>Function: htmlNodeStatus</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlStatus">htmlStatus</a>	htmlNodeStatus		(const <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> node, <br />					 int legacy)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>an <a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 is the <a href="libxml-SAX.html#attribute">attribute</a> is a script 0 otherwise</td></tr></tbody></table></div><h3><a name="htmlNewParserCtxt" id="htmlNewParserCtxt"></a>Function: htmlNewParserCtxt</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlNewParserCtxt	(void)<br />
+</pre><p>Allocate and initialize a new parser context.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> or NULL in case of allocation error</td></tr></tbody></table></div><h3><a name="htmlNodeStatus" id="htmlNodeStatus"></a>Function: htmlNodeStatus</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlStatus">htmlStatus</a>	htmlNodeStatus		(const <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> node, <br />					 int legacy)<br />
 </pre><p>Checks whether the tree node is valid. Experimental (the author only uses the HTML enhancements in a SAX parser)</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>an <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> in a tree</td></tr><tr><td><span class="term"><i><tt>legacy</tt></i>:</span></td><td>whether to allow deprecated elements (YES is faster here for Element nodes)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>for Element nodes, a return from <a href="libxml-HTMLparser.html#htmlElementAllowedHere">htmlElementAllowedHere</a> (if legacy allowed) or <a href="libxml-HTMLparser.html#htmlElementStatusHere">htmlElementStatusHere</a> (otherwise). for Attribute nodes, a return from <a href="libxml-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a> for other nodes, <a href="libxml-HTMLparser.html#HTML_NA">HTML_NA</a> (no checks performed)</td></tr></tbody></table></div><h3><a name="htmlParseCharRef" id="htmlParseCharRef"></a>Function: htmlParseCharRef</h3><pre class="programlisting">int	htmlParseCharRef		(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br />
 </pre><p>parse Reference declarations [66] CharRef ::= '&amp;#' [0-9]+ ';' | '&amp;#x' [0-9a-fA-F]+ ';'</p>
diff --git a/doc/html/libxml-tree.html b/doc/html/libxml-tree.html
index 3a17583..7848691 100644
--- a/doc/html/libxml-tree.html
+++ b/doc/html/libxml-tree.html
@@ -412,6 +412,7 @@
     struct _xmlEntity *	nexte	: unused
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	URI	: the full URI as computed
     int	owner	: does the entity own the childrens
+    int	checked	: was the entity content checked
 }</pre><h3><a name="xmlEnumeration" id="xmlEnumeration">Structure xmlEnumeration</a></h3><pre class="programlisting">Structure xmlEnumeration<br />struct _xmlEnumeration {
     struct _xmlEnumeration *	next	: next one
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name	: Enumeration name
diff --git a/doc/html/libxml-uri.html b/doc/html/libxml-uri.html
index cb2a419..fa7ee19 100644
--- a/doc/html/libxml-uri.html
+++ b/doc/html/libxml-uri.html
@@ -21,6 +21,7 @@
 <pre class="programlisting"><a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a>	<a href="#xmlParseURI">xmlParseURI</a>		(const char * str)</pre>
 <pre class="programlisting"><a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a>	<a href="#xmlParseURIRaw">xmlParseURIRaw</a>		(const char * str, <br />					 int raw)</pre>
 <pre class="programlisting">int	<a href="#xmlParseURIReference">xmlParseURIReference</a>		(<a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> uri, <br />					 const char * str)</pre>
+<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlPathToURI">xmlPathToURI</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * path)</pre>
 <pre class="programlisting">void	<a href="#xmlPrintURI">xmlPrintURI</a>			(FILE * stream, <br />					 <a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> uri)</pre>
 <pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSaveUri">xmlSaveUri</a>		(<a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> uri)</pre>
 <pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlURIEscape">xmlURIEscape</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)</pre>
@@ -56,7 +57,9 @@
 </pre><p>Parse an URI but allows to keep intact the original fragments. URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the URI string to analyze</td></tr><tr><td><span class="term"><i><tt>raw</tt></i>:</span></td><td>if 1 unescaping of URI pieces are disabled</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a newly built <a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlParseURIReference" id="xmlParseURIReference"></a>Function: xmlParseURIReference</h3><pre class="programlisting">int	xmlParseURIReference		(<a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> uri, <br />					 const char * str)<br />
 </pre><p>Parse an URI <a href="libxml-SAX.html#reference">reference</a> string and fills in the appropriate fields of the @uri structure URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>uri</tt></i>:</span></td><td>pointer to an URI structure</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the string to analyze</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or the error code</td></tr></tbody></table></div><h3><a name="xmlPrintURI" id="xmlPrintURI"></a>Function: xmlPrintURI</h3><pre class="programlisting">void	xmlPrintURI			(FILE * stream, <br />					 <a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>uri</tt></i>:</span></td><td>pointer to an URI structure</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the string to analyze</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or the error code</td></tr></tbody></table></div><h3><a name="xmlPathToURI" id="xmlPathToURI"></a>Function: xmlPathToURI</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlPathToURI		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * path)<br />
+</pre><p>Constructs an URI expressing the existing path</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>path</tt></i>:</span></td><td>the resource locator in a filesystem notation</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new URI, or a duplicate of the path parameter if the construction fails. The caller is responsible for freeing the memory occupied by the returned string. If there is insufficient memory available, or the argument is NULL, the function returns NULL.</td></tr></tbody></table></div><h3><a name="xmlPrintURI" id="xmlPrintURI"></a>Function: xmlPrintURI</h3><pre class="programlisting">void	xmlPrintURI			(FILE * stream, <br />					 <a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br />
 </pre><p>Prints the URI in the stream @stream.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>stream</tt></i>:</span></td><td>a FILE* for the output</td></tr><tr><td><span class="term"><i><tt>uri</tt></i>:</span></td><td>pointer to an <a href="libxml-uri.html#xmlURI">xmlURI</a></td></tr></tbody></table></div><h3><a name="xmlSaveUri" id="xmlSaveUri"></a>Function: xmlSaveUri</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlSaveUri		(<a href="libxml-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br />
 </pre><p>Save the URI as an escaped string</p>
diff --git a/doc/html/libxml-xinclude.html b/doc/html/libxml-xinclude.html
index 44771b9..58c1c19 100644
--- a/doc/html/libxml-xinclude.html
+++ b/doc/html/libxml-xinclude.html
@@ -17,6 +17,7 @@
 <pre class="programlisting"><a href="libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a>	<a href="#xmlXIncludeNewContext">xmlXIncludeNewContext</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
 <pre class="programlisting">int	<a href="#xmlXIncludeProcess">xmlXIncludeProcess</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)</pre>
 <pre class="programlisting">int	<a href="#xmlXIncludeProcessFlags">xmlXIncludeProcessFlags</a>		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 int flags)</pre>
+<pre class="programlisting">int	<a href="#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a>	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 int flags, <br />					 void * data)</pre>
 <pre class="programlisting">int	<a href="#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a>		(<a href="libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
 <pre class="programlisting">int	<a href="#xmlXIncludeProcessTree">xmlXIncludeProcessTree</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree)</pre>
 <pre class="programlisting">int	<a href="#xmlXIncludeProcessTreeFlags">xmlXIncludeProcessTreeFlags</a>	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br />					 int flags)</pre>
@@ -42,7 +43,9 @@
 </pre><p>Implement the XInclude substitution on the XML document @doc</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>an XML document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td></tr></tbody></table></div><h3><a name="xmlXIncludeProcessFlags" id="xmlXIncludeProcessFlags"></a>Function: xmlXIncludeProcessFlags</h3><pre class="programlisting">int	xmlXIncludeProcessFlags		(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 int flags)<br />
 </pre><p>Implement the XInclude substitution on the XML document @doc</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>an XML document</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>a set of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td></tr></tbody></table></div><h3><a name="xmlXIncludeProcessNode" id="xmlXIncludeProcessNode"></a>Function: xmlXIncludeProcessNode</h3><pre class="programlisting">int	xmlXIncludeProcessNode		(<a href="libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>an XML document</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>a set of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td></tr></tbody></table></div><h3><a name="xmlXIncludeProcessFlagsData" id="xmlXIncludeProcessFlagsData"></a>Function: xmlXIncludeProcessFlagsData</h3><pre class="programlisting">int	xmlXIncludeProcessFlagsData	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br />					 int flags, <br />					 void * data)<br />
+</pre><p>Implement the XInclude substitution on the XML document @doc</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>an XML document</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>a set of <a href="libxml-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML includes</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>application data that will be passed to the parser context in the _private field of the parser context(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td></tr></tbody></table></div><h3><a name="xmlXIncludeProcessNode" id="xmlXIncludeProcessNode"></a>Function: xmlXIncludeProcessNode</h3><pre class="programlisting">int	xmlXIncludeProcessNode		(<a href="libxml-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
 </pre><p>Implement the XInclude substitution for the given subtree reusing the informations and data coming from the given context.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an existing XInclude context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a node in an XML document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td></tr></tbody></table></div><h3><a name="xmlXIncludeProcessTree" id="xmlXIncludeProcessTree"></a>Function: xmlXIncludeProcessTree</h3><pre class="programlisting">int	xmlXIncludeProcessTree		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> tree)<br />
 </pre><p>Implement the XInclude substitution for the given subtree</p>
diff --git a/doc/html/libxml-xmlsave.html b/doc/html/libxml-xmlsave.html
index 664c6ef..d649ef7 100644
--- a/doc/html/libxml-xmlsave.html
+++ b/doc/html/libxml-xmlsave.html
@@ -53,4 +53,4 @@
 </pre><p>Create a document saving context serializing to a file descriptor with the encoding and the options given</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>iowrite</tt></i>:</span></td><td>an I/O write function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding name to use or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a set of xmlSaveOptions</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new serialization context or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlSaveTree" id="xmlSaveTree"></a>Function: xmlSaveTree</h3><pre class="programlisting">long	xmlSaveTree			(<a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
 </pre><p>Save a subtree starting at the node parameter to a saving context TODO: The function is not fully implemented yet as it does not return the byte count but 0 instead</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a document saving context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>a document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of error</td></tr></tbody></table></div><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>a document saving context</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the top node of the subtree to save</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of error</td></tr></tbody></table></div><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-xpath.html b/doc/html/libxml-xpath.html
index 5a797bc..6aca3c3 100644
--- a/doc/html/libxml-xpath.html
+++ b/doc/html/libxml-xpath.html
@@ -241,7 +241,7 @@
 </pre><p>Converts an XPath object to its number value</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number value</td></tr></tbody></table></div><h3><a name="xmlXPathCastToString" id="xmlXPathCastToString"></a>Function: xmlXPathCastToString</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlXPathCastToString	(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br />
 </pre><p>Converts an existing object to its string() equivalent</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the string value of the object, NULL in case of error. A new string is allocated only if needed (@val isn't a string object).</td></tr></tbody></table></div><h3><a name="xmlXPathCmpNodes" id="xmlXPathCmpNodes"></a>Function: xmlXPathCmpNodes</h3><pre class="programlisting">int	xmlXPathCmpNodes		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node1, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>an XPath object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the allocated string value of the object, NULL in case of error. It's up to the caller to free the string memory with xmlFree().</td></tr></tbody></table></div><h3><a name="xmlXPathCmpNodes" id="xmlXPathCmpNodes"></a>Function: xmlXPathCmpNodes</h3><pre class="programlisting">int	xmlXPathCmpNodes		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node1, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br />
 </pre><p>Compare two nodes w.r.t document order</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node1</tt></i>:</span></td><td>the first node</td></tr><tr><td><span class="term"><i><tt>node2</tt></i>:</span></td><td>the second node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-2 in case of error 1 if first point &lt; second point, 0 if it's the same node, -1 otherwise</td></tr></tbody></table></div><h3><a name="xmlXPathCompile" id="xmlXPathCompile"></a>Function: xmlXPathCompile</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	xmlXPathCompile	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)<br />
 </pre><p>Compile an XPath expression</p>
diff --git a/doc/libxml2-api.xml b/doc/libxml2-api.xml
index 2ef1c39..41a84c3 100644
--- a/doc/libxml2-api.xml
+++ b/doc/libxml2-api.xml
@@ -94,6 +94,7 @@
      <exports symbol='htmlReadFile' type='function'/>
      <exports symbol='htmlCtxtReadFile' type='function'/>
      <exports symbol='htmlParseDocument' type='function'/>
+     <exports symbol='htmlNewParserCtxt' type='function'/>
      <exports symbol='htmlSAXParseDoc' type='function'/>
      <exports symbol='htmlCtxtUseOptions' type='function'/>
      <exports symbol='htmlParseDoc' type='function'/>
@@ -1670,6 +1671,7 @@
      <exports symbol='xmlParseURI' type='function'/>
      <exports symbol='xmlCreateURI' type='function'/>
      <exports symbol='xmlURIEscapeStr' type='function'/>
+     <exports symbol='xmlPathToURI' type='function'/>
      <exports symbol='xmlCanonicPath' type='function'/>
      <exports symbol='xmlFreeURI' type='function'/>
      <exports symbol='xmlParseURIReference' type='function'/>
@@ -1788,6 +1790,7 @@
      <exports symbol='XINCLUDE_OLD_NS' type='macro'/>
      <exports symbol='xmlXIncludeCtxt' type='typedef'/>
      <exports symbol='xmlXIncludeCtxtPtr' type='typedef'/>
+     <exports symbol='xmlXIncludeProcessFlagsData' type='function'/>
      <exports symbol='xmlXIncludeProcessFlags' type='function'/>
      <exports symbol='xmlXIncludeProcessTree' type='function'/>
      <exports symbol='xmlXIncludeProcessNode' type='function'/>
@@ -5995,6 +5998,7 @@
       <field name='nexte' type='struct _xmlEntity *' info=' unused'/>
       <field name='URI' type='const xmlChar *' info=' the full URI as computed'/>
       <field name='owner' type='int' info=' does the entity own the childrens'/>
+      <field name='checked' type='int' info=' was the entity content checked'/>
     </struct>
     <typedef name='xmlEntityPtr' file='tree' type='xmlEntity *'/>
     <typedef name='xmlEntityType' file='entities' type='enum'/>
@@ -7451,6 +7455,11 @@
       <arg name='URI' type='const xmlChar *' info='URI for the dtd, or NULL'/>
       <arg name='ExternalID' type='const xmlChar *' info='the external ID of the DTD, or NULL'/>
     </function>
+    <function name='htmlNewParserCtxt' file='HTMLparser' module='HTMLparser'>
+      <cond>defined(LIBXML_HTML_ENABLED)</cond>
+      <info>Allocate and initialize a new parser context.</info>
+      <return type='htmlParserCtxtPtr' info='the htmlParserCtxtPtr or NULL in case of allocation error'/>
+    </function>
     <function name='htmlNodeDump' file='HTMLtree' module='HTMLtree'>
       <cond>defined(LIBXML_HTML_ENABLED) &amp;&amp; defined(LIBXML_OUTPUT_ENABLED)</cond>
       <info>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns are added.</info>
@@ -12207,6 +12216,11 @@
       <arg name='msg' type='const char *' info='the message to display/transmit'/>
       <arg name='...' type='...' info='extra parameters for the message display'/>
     </function>
+    <function name='xmlPathToURI' file='uri' module='uri'>
+      <info>Constructs an URI expressing the existing path</info>
+      <return type='xmlChar *' info='a new URI, or a duplicate of the path parameter if the construction fails. The caller is responsible for freeing the memory occupied by the returned string. If there is insufficient memory available, or the argument is NULL, the function returns NULL.'/>
+      <arg name='path' type='const xmlChar *' info='the resource locator in a filesystem notation'/>
+    </function>
     <function name='xmlPatternFromRoot' file='pattern' module='pattern'>
       <cond>defined(LIBXML_PATTERN_ENABLED)</cond>
       <info>Check if the pattern must be looked at from the root.</info>
@@ -13277,7 +13291,7 @@
       <info>Save a subtree starting at the node parameter to a saving context TODO: The function is not fully implemented yet as it does not return the byte count but 0 instead</info>
       <return type='long' info='the number of byte written or -1 in case of error'/>
       <arg name='ctxt' type='xmlSaveCtxtPtr' info='a document saving context'/>
-      <arg name='node' type='xmlNodePtr' info='a document'/>
+      <arg name='node' type='xmlNodePtr' info='the top node of the subtree to save'/>
     </function>
     <function name='xmlSaveUri' file='uri' module='uri'>
       <info>Save the URI as an escaped string</info>
@@ -16831,6 +16845,14 @@
       <arg name='doc' type='xmlDocPtr' info='an XML document'/>
       <arg name='flags' type='int' info='a set of xmlParserOption used for parsing XML includes'/>
     </function>
+    <function name='xmlXIncludeProcessFlagsData' file='xinclude' module='xinclude'>
+      <cond>defined(LIBXML_XINCLUDE_ENABLED)</cond>
+      <info>Implement the XInclude substitution on the XML document @doc</info>
+      <return type='int' info='0 if no substitution were done, -1 if some processing failed or the number of substitutions done.'/>
+      <arg name='doc' type='xmlDocPtr' info='an XML document'/>
+      <arg name='flags' type='int' info='a set of xmlParserOption used for parsing XML includes'/>
+      <arg name='data' type='void *' info='application data that will be passed to the parser context in the _private field of the parser context(s)'/>
+    </function>
     <function name='xmlXIncludeProcessNode' file='xinclude' module='xinclude'>
       <cond>defined(LIBXML_XINCLUDE_ENABLED)</cond>
       <info>Implement the XInclude substitution for the given subtree reusing the informations and data coming from the given context.</info>
@@ -16959,7 +16981,7 @@
     <function name='xmlXPathCastToString' file='xpath' module='xpath'>
       <cond>defined(LIBXML_XPATH_ENABLED)</cond>
       <info>Converts an existing object to its string() equivalent</info>
-      <return type='xmlChar *' info='the string value of the object, NULL in case of error. A new string is allocated only if needed (@val isn&apos;t a string object).'/>
+      <return type='xmlChar *' info='the allocated string value of the object, NULL in case of error. It&apos;s up to the caller to free the string memory with xmlFree().'/>
       <arg name='val' type='xmlXPathObjectPtr' info='an XPath object'/>
     </function>
     <function name='xmlXPathCeilingFunction' file='xpathInternals' module='xpath'>
diff --git a/doc/libxml2-refs.xml b/doc/libxml2-refs.xml
index f89a436..69d7166 100644
--- a/doc/libxml2-refs.xml
+++ b/doc/libxml2-refs.xml
@@ -1562,6 +1562,7 @@
     <reference name='htmlIsScriptAttribute' href='html/libxml-HTMLparser.html#htmlIsScriptAttribute'/>
     <reference name='htmlNewDoc' href='html/libxml-HTMLtree.html#htmlNewDoc'/>
     <reference name='htmlNewDocNoDtD' href='html/libxml-HTMLtree.html#htmlNewDocNoDtD'/>
+    <reference name='htmlNewParserCtxt' href='html/libxml-HTMLparser.html#htmlNewParserCtxt'/>
     <reference name='htmlNodeDump' href='html/libxml-HTMLtree.html#htmlNodeDump'/>
     <reference name='htmlNodeDumpFile' href='html/libxml-HTMLtree.html#htmlNodeDumpFile'/>
     <reference name='htmlNodeDumpFileFormat' href='html/libxml-HTMLtree.html#htmlNodeDumpFileFormat'/>
@@ -2469,6 +2470,7 @@
     <reference name='xmlParserValidityWarning' href='html/libxml-xmlerror.html#xmlParserValidityWarning'/>
     <reference name='xmlParserVersion' href='html/libxml-globals.html#xmlParserVersion'/>
     <reference name='xmlParserWarning' href='html/libxml-xmlerror.html#xmlParserWarning'/>
+    <reference name='xmlPathToURI' href='html/libxml-uri.html#xmlPathToURI'/>
     <reference name='xmlPattern' href='html/libxml-pattern.html#xmlPattern'/>
     <reference name='xmlPatternFlags' href='html/libxml-pattern.html#xmlPatternFlags'/>
     <reference name='xmlPatternFromRoot' href='html/libxml-pattern.html#xmlPatternFromRoot'/>
@@ -3255,6 +3257,7 @@
     <reference name='xmlXIncludeNewContext' href='html/libxml-xinclude.html#xmlXIncludeNewContext'/>
     <reference name='xmlXIncludeProcess' href='html/libxml-xinclude.html#xmlXIncludeProcess'/>
     <reference name='xmlXIncludeProcessFlags' href='html/libxml-xinclude.html#xmlXIncludeProcessFlags'/>
+    <reference name='xmlXIncludeProcessFlagsData' href='html/libxml-xinclude.html#xmlXIncludeProcessFlagsData'/>
     <reference name='xmlXIncludeProcessNode' href='html/libxml-xinclude.html#xmlXIncludeProcessNode'/>
     <reference name='xmlXIncludeProcessTree' href='html/libxml-xinclude.html#xmlXIncludeProcessTree'/>
     <reference name='xmlXIncludeProcessTreeFlags' href='html/libxml-xinclude.html#xmlXIncludeProcessTreeFlags'/>
@@ -5084,6 +5087,7 @@
       <ref name='htmlIsScriptAttribute'/>
       <ref name='htmlNewDoc'/>
       <ref name='htmlNewDocNoDtD'/>
+      <ref name='htmlNewParserCtxt'/>
       <ref name='htmlNodeDump'/>
       <ref name='htmlNodeDumpFile'/>
       <ref name='htmlNodeDumpFileFormat'/>
@@ -6011,6 +6015,7 @@
       <ref name='xmlParserValidityWarning'/>
       <ref name='xmlParserVersion'/>
       <ref name='xmlParserWarning'/>
+      <ref name='xmlPathToURI'/>
       <ref name='xmlPattern'/>
       <ref name='xmlPatternFlags'/>
       <ref name='xmlPatternFromRoot'/>
@@ -6797,6 +6802,7 @@
       <ref name='xmlXIncludeNewContext'/>
       <ref name='xmlXIncludeProcess'/>
       <ref name='xmlXIncludeProcessFlags'/>
+      <ref name='xmlXIncludeProcessFlagsData'/>
       <ref name='xmlXIncludeProcessNode'/>
       <ref name='xmlXIncludeProcessTree'/>
       <ref name='xmlXIncludeProcessTreeFlags'/>
@@ -7116,6 +7122,7 @@
       <ref name='htmlCreateFileParserCtxt'/>
       <ref name='htmlCreateMemoryParserCtxt'/>
       <ref name='htmlCreatePushParserCtxt'/>
+      <ref name='htmlNewParserCtxt'/>
     </type>
     <type name='htmlStatus'>
       <ref name='htmlAttrAllowed'/>
@@ -7282,6 +7289,7 @@
       <ref name='xmlParseSystemLiteral'/>
       <ref name='xmlParseVersionInfo'/>
       <ref name='xmlParseVersionNum'/>
+      <ref name='xmlPathToURI'/>
       <ref name='xmlSaveUri'/>
       <ref name='xmlScanName'/>
       <ref name='xmlSchemaCollapseString'/>
@@ -8121,6 +8129,7 @@
       <ref name='xmlParseElementContentDecl'/>
       <ref name='xmlParseExternalEntity'/>
       <ref name='xmlParseExternalSubset'/>
+      <ref name='xmlPathToURI'/>
       <ref name='xmlPatterncompile'/>
       <ref name='xmlReadDoc'/>
       <ref name='xmlReaderForDoc'/>
@@ -8724,6 +8733,7 @@
       <ref name='xmlThrDefSetStructuredErrorFunc'/>
       <ref name='xmlValidityErrorFunc'/>
       <ref name='xmlValidityWarningFunc'/>
+      <ref name='xmlXIncludeProcessFlagsData'/>
       <ref name='xmlXPathFuncLookupFunc'/>
       <ref name='xmlXPathRegisterFuncLookup'/>
       <ref name='xmlXPathRegisterVariableLookup'/>
@@ -9140,6 +9150,7 @@
       <ref name='xmlXIncludeNewContext'/>
       <ref name='xmlXIncludeProcess'/>
       <ref name='xmlXIncludeProcessFlags'/>
+      <ref name='xmlXIncludeProcessFlagsData'/>
       <ref name='xmlXPathNewContext'/>
       <ref name='xmlXPathOrderDocElems'/>
       <ref name='xmlXPtrNewContext'/>
@@ -10528,6 +10539,7 @@
       <ref name='htmlHandleOmittedElem'/>
       <ref name='htmlIsAutoClosed'/>
       <ref name='htmlIsScriptAttribute'/>
+      <ref name='htmlNewParserCtxt'/>
       <ref name='htmlNodePtr'/>
       <ref name='htmlNodeStatus'/>
       <ref name='htmlParseCharRef'/>
@@ -12055,6 +12067,7 @@
       <ref name='xmlParseURI'/>
       <ref name='xmlParseURIRaw'/>
       <ref name='xmlParseURIReference'/>
+      <ref name='xmlPathToURI'/>
       <ref name='xmlPrintURI'/>
       <ref name='xmlSaveUri'/>
       <ref name='xmlURI'/>
@@ -12171,6 +12184,7 @@
       <ref name='xmlXIncludeNewContext'/>
       <ref name='xmlXIncludeProcess'/>
       <ref name='xmlXIncludeProcessFlags'/>
+      <ref name='xmlXIncludeProcessFlagsData'/>
       <ref name='xmlXIncludeProcessNode'/>
       <ref name='xmlXIncludeProcessTree'/>
       <ref name='xmlXIncludeProcessTreeFlags'/>
@@ -14157,6 +14171,7 @@
           <ref name='xmlTextWriterEndDocument'/>
         </word>
         <word name='Allocate'>
+          <ref name='htmlNewParserCtxt'/>
           <ref name='xmlNanoFTPNewCtxt'/>
           <ref name='xmlNewDocElementContent'/>
           <ref name='xmlNewElementContent'/>
@@ -14781,6 +14796,7 @@
         </word>
         <word name='Constructs'>
           <ref name='xmlCanonicPath'/>
+          <ref name='xmlPathToURI'/>
         </word>
         <word name='Content'>
           <ref name='xmlNodeGetBase'/>
@@ -18098,6 +18114,7 @@
           <ref name='xmlXIncludeNewContext'/>
           <ref name='xmlXIncludeProcess'/>
           <ref name='xmlXIncludeProcessFlags'/>
+          <ref name='xmlXIncludeProcessFlagsData'/>
           <ref name='xmlXIncludeProcessNode'/>
           <ref name='xmlXIncludeProcessTree'/>
           <ref name='xmlXIncludeProcessTreeFlags'/>
@@ -18671,6 +18688,7 @@
           <ref name='xmlXPathObjectCopy'/>
         </word>
         <word name='allocation'>
+          <ref name='htmlNewParserCtxt'/>
           <ref name='xmlBufferSetAllocationScheme'/>
           <ref name='xmlGetBufferAllocationScheme'/>
           <ref name='xmlMallocAtomicLoc'/>
@@ -18949,6 +18967,7 @@
           <ref name='xmlParseAttValue'/>
           <ref name='xmlSAX2ResolveEntity'/>
           <ref name='xmlSetExternalEntityLoader'/>
+          <ref name='xmlXIncludeProcessFlagsData'/>
         </word>
         <word name='applications'>
           <ref name='xmlSetGenericErrorFunc'/>
@@ -19723,6 +19742,7 @@
         </word>
         <word name='checked'>
           <ref name='XML_SCHEMAS_ELEM_INTERNAL_CHECKED'/>
+          <ref name='_xmlEntity'/>
           <ref name='xmlNodeGetBase'/>
           <ref name='xmlNodeGetLang'/>
           <ref name='xmlNodeGetSpacePreserve'/>
@@ -20304,6 +20324,7 @@
         </word>
         <word name='construction'>
           <ref name='xmlCanonicPath'/>
+          <ref name='xmlPathToURI'/>
         </word>
         <word name='constructs'>
           <ref name='xmlExpParse'/>
@@ -21464,6 +21485,7 @@
         </word>
         <word name='duplicate'>
           <ref name='xmlCanonicPath'/>
+          <ref name='xmlPathToURI'/>
         </word>
         <word name='duplicated'>
           <ref name='xmlRelaxNGNewDocParserCtxt'/>
@@ -22028,6 +22050,9 @@
         <word name='exposing'>
           <ref name='xmlTextReaderRead'/>
         </word>
+        <word name='expressing'>
+          <ref name='xmlPathToURI'/>
+        </word>
         <word name='expressions'>
           <ref name='LIBXML_EXPR_ENABLED'/>
           <ref name='LIBXML_REGEXP_ENABLED'/>
@@ -22139,6 +22164,7 @@
           <ref name='xmlShellLoad'/>
           <ref name='xmlXIncludeProcess'/>
           <ref name='xmlXIncludeProcessFlags'/>
+          <ref name='xmlXIncludeProcessFlagsData'/>
           <ref name='xmlXIncludeProcessNode'/>
           <ref name='xmlXIncludeProcessTree'/>
           <ref name='xmlXIncludeProcessTreeFlags'/>
@@ -22156,6 +22182,7 @@
           <ref name='xmlCharEncOutFunc'/>
           <ref name='xmlCheckFilename'/>
           <ref name='xmlFileOpen'/>
+          <ref name='xmlPathToURI'/>
         </word>
         <word name='fallback'>
           <ref name='XINCLUDE_FALLBACK'/>
@@ -22229,6 +22256,7 @@
           <ref name='XML_SKIP_IDS'/>
           <ref name='_xmlError'/>
           <ref name='xmlParseMisc'/>
+          <ref name='xmlXIncludeProcessFlagsData'/>
           <ref name='xmlXPathOrderDocElems'/>
         </word>
         <word name='fields'>
@@ -22246,6 +22274,7 @@
           <ref name='htmlReadFile'/>
           <ref name='xmlCanonicPath'/>
           <ref name='xmlCtxtReadFile'/>
+          <ref name='xmlPathToURI'/>
           <ref name='xmlReadFile'/>
           <ref name='xmlReaderForFile'/>
           <ref name='xmlReaderNewFile'/>
@@ -22505,6 +22534,7 @@
         <word name='freeing'>
           <ref name='xmlCanonicPath'/>
           <ref name='xmlParserInputDeallocate'/>
+          <ref name='xmlPathToURI'/>
         </word>
         <word name='frees'>
           <ref name='xmlBufferFree'/>
@@ -23013,6 +23043,9 @@
         <word name='htmlNodePtr'>
           <ref name='htmlNodeStatus'/>
         </word>
+        <word name='htmlParserCtxtPtr'>
+          <ref name='htmlNewParserCtxt'/>
+        </word>
         <word name='htmlParserOption'>
           <ref name='htmlCtxtReadDoc'/>
           <ref name='htmlCtxtReadFd'/>
@@ -23230,6 +23263,7 @@
           <ref name='xmlCleanupOutputCallbacks'/>
           <ref name='xmlPopInputCallbacks'/>
           <ref name='xmlXIncludeProcessFlags'/>
+          <ref name='xmlXIncludeProcessFlagsData'/>
           <ref name='xmlXIncludeProcessTreeFlags'/>
           <ref name='xmlXIncludeSetFlags'/>
         </word>
@@ -23504,6 +23538,7 @@
           <ref name='XML_DETECT_IDS'/>
           <ref name='XML_SKIP_IDS'/>
           <ref name='htmlNewDocNoDtD'/>
+          <ref name='htmlNewParserCtxt'/>
           <ref name='xmlCharEncodingOutputFunc'/>
           <ref name='xmlCreateEntitiesTable'/>
           <ref name='xmlCreateEnumeration'/>
@@ -23608,6 +23643,7 @@
         </word>
         <word name='insufficient'>
           <ref name='xmlCanonicPath'/>
+          <ref name='xmlPathToURI'/>
         </word>
         <word name='intact'>
           <ref name='xmlParseURIRaw'/>
@@ -23707,7 +23743,6 @@
         </word>
         <word name='isn'>
           <ref name='xmlRegisterCharEncodingHandler'/>
-          <ref name='xmlXPathCastToString'/>
         </word>
         <word name='isnan'>
           <ref name='xmlXPathIsNaN'/>
@@ -24191,6 +24226,7 @@
           <ref name='xlinkExtendedLinkFunk'/>
           <ref name='xlinkExtendedLinkSetFunk'/>
           <ref name='xmlCanonicPath'/>
+          <ref name='xmlPathToURI'/>
           <ref name='xmlSAX2SetDocumentLocator'/>
           <ref name='xmlTextReaderLocatorBaseURI'/>
           <ref name='xmlTextReaderLocatorLineNumber'/>
@@ -24869,7 +24905,6 @@
           <ref name='xmlTextReaderCurrentDoc'/>
           <ref name='xmlValidCtxtNormalizeAttributeValue'/>
           <ref name='xmlValidNormalizeAttributeValue'/>
-          <ref name='xmlXPathCastToString'/>
           <ref name='xmlXPathPopBoolean'/>
           <ref name='xmlXPathPopExternal'/>
           <ref name='xmlXPathPopNodeSet'/>
@@ -25204,6 +25239,7 @@
         </word>
         <word name='occupied'>
           <ref name='xmlCanonicPath'/>
+          <ref name='xmlPathToURI'/>
         </word>
         <word name='occur'>
           <ref name='XML_SCHEMAS_TYPE_VARIETY_ABSENT'/>
@@ -25695,6 +25731,7 @@
           <ref name='xmlParseAttValue'/>
           <ref name='xmlSetGenericErrorFunc'/>
           <ref name='xmlSetStructuredErrorFunc'/>
+          <ref name='xmlXIncludeProcessFlagsData'/>
           <ref name='xmlXPathEvalFunc'/>
           <ref name='xmlXPathIntersection'/>
         </word>
@@ -25726,6 +25763,7 @@
           <ref name='xmlNormalizeURIPath'/>
           <ref name='xmlNormalizeWindowsPath'/>
           <ref name='xmlParserGetDirectory'/>
+          <ref name='xmlPathToURI'/>
           <ref name='xmlShellPwd'/>
           <ref name='xmlShellValidate'/>
           <ref name='xmlTextReaderRelaxNGValidate'/>
@@ -27119,6 +27157,7 @@
         <word name='responsible'>
           <ref name='xmlC14NDocDumpMemory'/>
           <ref name='xmlCanonicPath'/>
+          <ref name='xmlPathToURI'/>
         </word>
         <word name='restored'>
           <ref name='xmlTextReaderSetErrorHandler'/>
@@ -27326,6 +27365,7 @@
           <ref name='xmlGcMemGet'/>
           <ref name='xmlMemGet'/>
           <ref name='xmlNanoHTTPFetch'/>
+          <ref name='xmlSaveTree'/>
           <ref name='xmlShell'/>
           <ref name='xmlShellSave'/>
         </word>
@@ -27836,6 +27876,7 @@
           <ref name='xmlValidatePushCData'/>
           <ref name='xmlXIncludeProcess'/>
           <ref name='xmlXIncludeProcessFlags'/>
+          <ref name='xmlXIncludeProcessFlagsData'/>
           <ref name='xmlXIncludeProcessNode'/>
           <ref name='xmlXIncludeProcessTree'/>
           <ref name='xmlXIncludeProcessTreeFlags'/>
@@ -28369,6 +28410,7 @@
           <ref name='xmlStringLenDecodeEntities'/>
           <ref name='xmlXIncludeProcess'/>
           <ref name='xmlXIncludeProcessFlags'/>
+          <ref name='xmlXIncludeProcessFlagsData'/>
           <ref name='xmlXIncludeProcessNode'/>
           <ref name='xmlXIncludeProcessTree'/>
           <ref name='xmlXIncludeProcessTreeFlags'/>
@@ -28866,6 +28908,7 @@
           <ref name='xmlPopInputCallbacks'/>
           <ref name='xmlPushInput'/>
           <ref name='xmlReconciliateNs'/>
+          <ref name='xmlSaveTree'/>
           <ref name='xmlSetTreeDoc'/>
         </word>
         <word name='total'>
@@ -29591,6 +29634,7 @@
           <ref name='xmlMemShow'/>
           <ref name='xmlXIncludeProcess'/>
           <ref name='xmlXIncludeProcessFlags'/>
+          <ref name='xmlXIncludeProcessFlagsData'/>
           <ref name='xmlXIncludeProcessNode'/>
           <ref name='xmlXIncludeProcessTree'/>
           <ref name='xmlXIncludeProcessTreeFlags'/>
@@ -30158,6 +30202,7 @@
           <ref name='xmlNodeListGetRawString'/>
           <ref name='xmlNodeListGetString'/>
           <ref name='xmlTextReaderValue'/>
+          <ref name='xmlXPathCastToString'/>
         </word>
         <word name='xmlFreeDoc'>
           <ref name='xmlTextReaderCurrentDoc'/>
diff --git a/python/libxml2class.txt b/python/libxml2class.txt
index 20eb5c4..211081c 100644
--- a/python/libxml2class.txt
+++ b/python/libxml2class.txt
@@ -9,6 +9,7 @@
 htmlCreateMemoryParserCtxt()
 htmlHandleOmittedElem()
 htmlIsScriptAttribute()
+htmlNewParserCtxt()
 htmlParseDoc()
 htmlParseFile()
 htmlReadDoc()
@@ -189,6 +190,7 @@
 normalizeURIPath()
 parseURI()
 parseURIRaw()
+pathToURI()
 
 # functions from module valid
 newValidCtxt()
diff --git a/testapi.c b/testapi.c
index 096a396..ec09421 100644
--- a/testapi.c
+++ b/testapi.c
@@ -2125,6 +2125,33 @@
 
 
 static int
+test_htmlNewParserCtxt(void) {
+    int test_ret = 0;
+
+#if defined(LIBXML_HTML_ENABLED)
+    int mem_base;
+    htmlParserCtxtPtr ret_val;
+
+        mem_base = xmlMemBlocks();
+
+        ret_val = htmlNewParserCtxt();
+        desret_htmlParserCtxtPtr(ret_val);
+        call_tests++;
+        xmlResetLastError();
+        if (mem_base != xmlMemBlocks()) {
+            printf("Leak of %d blocks found in htmlNewParserCtxt",
+	           xmlMemBlocks() - mem_base);
+	    test_ret++;
+            printf("\n");
+        }
+    function_tests++;
+#endif
+
+    return(test_ret);
+}
+
+
+static int
 test_htmlNodeStatus(void) {
     int test_ret = 0;
 
@@ -2723,7 +2750,7 @@
 test_HTMLparser(void) {
     int test_ret = 0;
 
-    if (quiet == 0) printf("Testing HTMLparser : 31 of 37 functions ...\n");
+    if (quiet == 0) printf("Testing HTMLparser : 32 of 38 functions ...\n");
     test_ret += test_UTF8ToHtml();
     test_ret += test_htmlAttrAllowed();
     test_ret += test_htmlAutoCloseTag();
@@ -2742,6 +2769,7 @@
     test_ret += test_htmlHandleOmittedElem();
     test_ret += test_htmlIsAutoClosed();
     test_ret += test_htmlIsScriptAttribute();
+    test_ret += test_htmlNewParserCtxt();
     test_ret += test_htmlNodeStatus();
     test_ret += test_htmlParseCharRef();
     test_ret += test_htmlParseChunk();
@@ -24095,6 +24123,38 @@
 
 
 static int
+test_xmlPathToURI(void) {
+    int test_ret = 0;
+
+    int mem_base;
+    xmlChar * ret_val;
+    xmlChar * path; /* the resource locator in a filesystem notation */
+    int n_path;
+
+    for (n_path = 0;n_path < gen_nb_const_xmlChar_ptr;n_path++) {
+        mem_base = xmlMemBlocks();
+        path = gen_const_xmlChar_ptr(n_path, 0);
+
+        ret_val = xmlPathToURI((const xmlChar *)path);
+        desret_xmlChar_ptr(ret_val);
+        call_tests++;
+        des_const_xmlChar_ptr(n_path, (const xmlChar *)path, 0);
+        xmlResetLastError();
+        if (mem_base != xmlMemBlocks()) {
+            printf("Leak of %d blocks found in xmlPathToURI",
+	           xmlMemBlocks() - mem_base);
+	    test_ret++;
+            printf(" %d", n_path);
+            printf("\n");
+        }
+    }
+    function_tests++;
+
+    return(test_ret);
+}
+
+
+static int
 test_xmlPrintURI(void) {
     int test_ret = 0;
 
@@ -24247,7 +24307,7 @@
 test_uri(void) {
     int test_ret = 0;
 
-    if (quiet == 0) printf("Testing uri : 9 of 14 functions ...\n");
+    if (quiet == 0) printf("Testing uri : 10 of 15 functions ...\n");
     test_ret += test_xmlBuildRelativeURI();
     test_ret += test_xmlBuildURI();
     test_ret += test_xmlCanonicPath();
@@ -24256,6 +24316,7 @@
     test_ret += test_xmlParseURI();
     test_ret += test_xmlParseURIRaw();
     test_ret += test_xmlParseURIReference();
+    test_ret += test_xmlPathToURI();
     test_ret += test_xmlPrintURI();
     test_ret += test_xmlSaveUri();
     test_ret += test_xmlURIEscape();
@@ -26889,6 +26950,54 @@
     return(test_ret);
 }
 
+
+static int
+test_xmlXIncludeProcessFlagsData(void) {
+    int test_ret = 0;
+
+#if defined(LIBXML_XINCLUDE_ENABLED)
+    int mem_base;
+    int ret_val;
+    xmlDocPtr doc; /* an XML document */
+    int n_doc;
+    int flags; /* a set of xmlParserOption used for parsing XML includes */
+    int n_flags;
+    void * data; /* application data that will be passed to the parser context in the _private field of the parser context(s) */
+    int n_data;
+
+    for (n_doc = 0;n_doc < gen_nb_xmlDocPtr;n_doc++) {
+    for (n_flags = 0;n_flags < gen_nb_int;n_flags++) {
+    for (n_data = 0;n_data < gen_nb_userdata;n_data++) {
+        mem_base = xmlMemBlocks();
+        doc = gen_xmlDocPtr(n_doc, 0);
+        flags = gen_int(n_flags, 1);
+        data = gen_userdata(n_data, 2);
+
+        ret_val = xmlXIncludeProcessFlagsData(doc, flags, data);
+        desret_int(ret_val);
+        call_tests++;
+        des_xmlDocPtr(n_doc, doc, 0);
+        des_int(n_flags, flags, 1);
+        des_userdata(n_data, data, 2);
+        xmlResetLastError();
+        if (mem_base != xmlMemBlocks()) {
+            printf("Leak of %d blocks found in xmlXIncludeProcessFlagsData",
+	           xmlMemBlocks() - mem_base);
+	    test_ret++;
+            printf(" %d", n_doc);
+            printf(" %d", n_flags);
+            printf(" %d", n_data);
+            printf("\n");
+        }
+    }
+    }
+    }
+    function_tests++;
+#endif
+
+    return(test_ret);
+}
+
 #ifdef LIBXML_XINCLUDE_ENABLED
 
 #define gen_nb_xmlXIncludeCtxtPtr 1
@@ -27060,10 +27169,11 @@
 test_xinclude(void) {
     int test_ret = 0;
 
-    if (quiet == 0) printf("Testing xinclude : 6 of 8 functions ...\n");
+    if (quiet == 0) printf("Testing xinclude : 7 of 9 functions ...\n");
     test_ret += test_xmlXIncludeNewContext();
     test_ret += test_xmlXIncludeProcess();
     test_ret += test_xmlXIncludeProcessFlags();
+    test_ret += test_xmlXIncludeProcessFlagsData();
     test_ret += test_xmlXIncludeProcessNode();
     test_ret += test_xmlXIncludeProcessTree();
     test_ret += test_xmlXIncludeProcessTreeFlags();
@@ -33356,7 +33466,7 @@
     long ret_val;
     xmlSaveCtxtPtr ctxt; /* a document saving context */
     int n_ctxt;
-    xmlNodePtr node; /* a document */
+    xmlNodePtr node; /* the top node of the subtree to save */
     int n_node;
 
     for (n_ctxt = 0;n_ctxt < gen_nb_xmlSaveCtxtPtr;n_ctxt++) {
diff --git a/valid.c b/valid.c
index f6a018c..a239e68 100644
--- a/valid.c
+++ b/valid.c
@@ -5350,7 +5350,7 @@
     }
 #endif /* LIBXML_REGEXP_ENABLED */
     if ((warn) && ((ret != 1) && (ret != -3))) {
-	if ((ctxt != NULL) && (ctxt->warning != NULL)) {
+	if (ctxt != NULL) {
 	    char expr[5000];
 	    char list[5000];
 
diff --git a/xmlIO.c b/xmlIO.c
index fe50a4e..848911c 100644
--- a/xmlIO.c
+++ b/xmlIO.c
@@ -209,26 +209,25 @@
 static wchar_t *
 __xmlIOWin32UTF8ToWChar(const char *u8String)
 {
-	wchar_t *wString = NULL;
+    wchar_t *wString = NULL;
 
-	if (u8String)
-	{
-		int wLen = MultiByteToWideChar(CP_UTF8,MB_ERR_INVALID_CHARS,u8String,-1,NULL,0);
-		if (wLen)
-		{
-			wString = xmlMalloc(wLen * sizeof(wchar_t));
-			if (wString)
-			{
-				if (MultiByteToWideChar(CP_UTF8,0,u8String,-1,wString,wLen) == 0)
-				{
-					xmlFree(wString);
-					wString = NULL;
-				}
-			}
-		}
-	}
-	
-	return wString;
+    if (u8String) {
+        int wLen =
+            MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, u8String,
+                                -1, NULL, 0);
+        if (wLen) {
+            wString = xmlMalloc(wLen * sizeof(wchar_t));
+            if (wString) {
+                if (MultiByteToWideChar
+                    (CP_UTF8, 0, u8String, -1, wString, wLen) == 0) {
+                    xmlFree(wString);
+                    wString = NULL;
+                }
+            }
+        }
+    }
+
+    return wString;
 }
 #endif
 
@@ -669,8 +668,10 @@
 #endif
 }
 
-static int   (* xmlWrapStat)(const char *,struct stat *) = xmlWrapStatNative;
-static FILE* (* xmlWrapOpen)(const char *,int mode)      = xmlWrapOpenNative;
+typedef int (* xmlWrapStatFunc) (const char *f, struct stat *s);
+static xmlWrapStatFunc xmlWrapStat = xmlWrapStatNative;
+typedef FILE* (* xmlWrapOpenFunc)(const char *f,int mode);
+static xmlWrapOpenFunc = xmlWrapOpenNative;
 
 /**
  * xmlInitPlatformSpecificIo:
@@ -678,8 +679,8 @@
  * Initialize platform specific features.
  */
 static void
-xmlInitPlatformSpecificIo
-(void) {
+xmlInitPlatformSpecificIo(void)
+{
     static int xmlPlatformIoInitialized = 0;
     OSVERSIONINFO osvi;
 
@@ -2105,8 +2106,7 @@
  * Registers the default compiled-in I/O handlers.
  */
 void
-xmlRegisterDefaultInputCallbacks
-(void) {
+xmlRegisterDefaultInputCallbacks(void) {
     if (xmlInputCallbackInitialized)
 	return;
 
@@ -2140,8 +2140,7 @@
  * Registers the default compiled-in I/O handlers.
  */
 void
-xmlRegisterDefaultOutputCallbacks
-(void) {
+xmlRegisterDefaultOutputCallbacks (void) {
     if (xmlOutputCallbackInitialized)
 	return;