keep the ChangeLog compressed fix a segfault when using Close() test for

* libxml.spec.in: keep the ChangeLog compressed
* xmlreader.c: fix a segfault when using Close()
* python/tests/Makefile.am python/tests/reader8.py: test for
  the Close() reader API.
Daniel
diff --git a/ChangeLog b/ChangeLog
index ecfd98e..4b2a830 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Sun Apr 18 16:57:02 CEST 2004 Daniel Veillard <daniel@veillard.com>
+
+	* libxml.spec.in: keep the ChangeLog compressed 
+	* xmlreader.c: fix a segfault when using Close()
+	* python/tests/Makefile.am python/tests/reader8.py: test for
+	  the Close() reader API.
+
 Sat Apr 17 22:42:13 HKT 2004 William Brack <wbrack@mmm.com.hk>
 
 	* xmlschemas.c, xmlwriter.c, doc/examples/parse4.c,
diff --git a/doc/APIchunk10.html b/doc/APIchunk10.html
index d818c91..11d1286 100644
--- a/doc/APIchunk10.html
+++ b/doc/APIchunk10.html
@@ -729,6 +729,8 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a><br />
 </dd><dt>count</dt><dd><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
 <a href="html/libxml-debugXML.html#xmlLsCountNode">xmlLsCountNode</a><br />
+<a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
+<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderAttributeCount">xmlTextReaderAttributeCount</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathCountFunction">xmlXPathCountFunction</a><br />
 </dd><dt>counter</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a><br />
diff --git a/doc/APIchunk11.html b/doc/APIchunk11.html
index d8c2951..619082c 100644
--- a/doc/APIchunk11.html
+++ b/doc/APIchunk11.html
@@ -453,6 +453,8 @@
 <a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
 <a href="html/libxml-xmlerror.html#xmlResetLastError">xmlResetLastError</a><br />
+<a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
+<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
 <a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
 <a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br />
 <a href="html/libxml-valid.html#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a><br />
diff --git a/doc/APIchunk13.html b/doc/APIchunk13.html
index a1ce710..10788fd 100644
--- a/doc/APIchunk13.html
+++ b/doc/APIchunk13.html
@@ -319,6 +319,8 @@
 <a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br />
 <a href="html/libxml-xmlstring.html#xmlUTF8Strlen">xmlUTF8Strlen</a><br />
 </dd><dt>fully</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
+<a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
+<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
 </dd><dt>func</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
 </dd><dt>funcs</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
 </dd><dt>function:</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathDifference">xmlXPathDifference</a><br />
diff --git a/doc/APIchunk15.html b/doc/APIchunk15.html
index b82ce9a..61f3b07 100644
--- a/doc/APIchunk15.html
+++ b/doc/APIchunk15.html
@@ -72,6 +72,8 @@
 <a href="html/libxml-HTMLtree.html#HTML_PI_NODE">HTML_PI_NODE</a><br />
 <a href="html/libxml-HTMLtree.html#HTML_PRESERVE_NODE">HTML_PRESERVE_NODE</a><br />
 <a href="html/libxml-HTMLtree.html#HTML_TEXT_NODE">HTML_TEXT_NODE</a><br />
+<a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
+<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderNextSibling">xmlTextReaderNextSibling</a><br />
 </dd><dt>implicitly</dt><dd><a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
 <a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br />
@@ -372,6 +374,8 @@
 <a href="html/libxml-chvalid.html#xmlIsPubidChar">xmlIsPubidChar</a><br />
 <a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
 <a href="html/libxml-xmlIO.html#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a><br />
+<a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
+<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
 <a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a><br />
 </dd><dt>instruction</dt><dd><a href="html/libxml-HTMLtree.html#HTML_PI_NODE">HTML_PI_NODE</a><br />
diff --git a/doc/APIchunk19.html b/doc/APIchunk19.html
index cbce12b..e92e295 100644
--- a/doc/APIchunk19.html
+++ b/doc/APIchunk19.html
@@ -196,7 +196,8 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a><br />
 </dd><dt>optimized</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a><br />
 </dd><dt>option</dt><dd><a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br />
-</dd><dt>optional</dt><dd><a href="html/libxml-DOCBparser.html#docbCreatePushParserCtxt">docbCreatePushParserCtxt</a><br />
+</dd><dt>optional</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a><br />
+<a href="html/libxml-DOCBparser.html#docbCreatePushParserCtxt">docbCreatePushParserCtxt</a><br />
 <a href="html/libxml-HTMLparser.html#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a><br />
 <a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
 <a href="html/libxml-parser.html#xmlCtxtResetPush">xmlCtxtResetPush</a><br />
diff --git a/doc/APIchunk20.html b/doc/APIchunk20.html
index b335510..2150d19 100644
--- a/doc/APIchunk20.html
+++ b/doc/APIchunk20.html
@@ -397,6 +397,7 @@
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferPush">xmlParserInputBufferPush</a><br />
 <a href="html/libxml-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a><br />
+</dd><dt>prohibited</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a><br />
 </dd><dt>projects</dt><dd><a href="html/libxml-xpath.html#xmlXPathIsInf">xmlXPathIsInf</a><br />
 <a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />
 </dd><dt>prolog</dt><dd><a href="html/libxml-parser.html#xmlParseDocument">xmlParseDocument</a><br />
diff --git a/doc/APIchunk21.html b/doc/APIchunk21.html
index 84fe917..a0400e4 100644
--- a/doc/APIchunk21.html
+++ b/doc/APIchunk21.html
@@ -422,7 +422,8 @@
 <a href="html/libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a><br />
 </dd><dt>requests</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a><br />
-</dd><dt>required</dt><dd><a href="html/libxml-HTMLparser.html#htmlRequiredAttrs">htmlRequiredAttrs</a><br />
+</dd><dt>required</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a><br />
+<a href="html/libxml-HTMLparser.html#htmlRequiredAttrs">htmlRequiredAttrs</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogSetDebug">xmlCatalogSetDebug</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
 </dd><dt>requires</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a><br />
diff --git a/doc/APIchunk22.html b/doc/APIchunk22.html
index bac0673..ffde5f4 100644
--- a/doc/APIchunk22.html
+++ b/doc/APIchunk22.html
@@ -442,6 +442,7 @@
 <a href="html/libxml-parserInternals.html#IS_LETTER">IS_LETTER</a><br />
 <a href="html/libxml-parserInternals.html#IS_PUBIDCHAR">IS_PUBIDCHAR</a><br />
 </dd><dt>special</dt><dd><a href="html/libxml-parser.html#XML_SKIP_IDS">XML_SKIP_IDS</a><br />
+<a href="html/libxml-tree.html#XML_XML_ID">XML_XML_ID</a><br />
 <a href="html/libxml-tree.html#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a><br />
 <a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
diff --git a/doc/APIchunk25.html b/doc/APIchunk25.html
index 8dc92c9..a5c8bdf 100644
--- a/doc/APIchunk25.html
+++ b/doc/APIchunk25.html
@@ -82,6 +82,7 @@
 </dd><dt>xml-name</dt><dd><a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
 </dd><dt>xml:</dt><dd><a href="html/libxml-tree.html#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a><br />
 </dd><dt>xml:base</dt><dd><a href="html/libxml-tree.html#xmlNodeSetBase">xmlNodeSetBase</a><br />
+</dd><dt>xml:id</dt><dd><a href="html/libxml-tree.html#XML_XML_ID">XML_XML_ID</a><br />
 </dd><dt>xml:lang</dt><dd><a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
 <a href="html/libxml-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a><br />
 <a href="html/libxml-tree.html#xmlNodeGetLang">xmlNodeGetLang</a><br />
diff --git a/doc/APIchunk26.html b/doc/APIchunk26.html
index 6c22f43..808b2d8 100644
--- a/doc/APIchunk26.html
+++ b/doc/APIchunk26.html
@@ -47,6 +47,8 @@
 <a href="html/libxml-xmlregexp.html#xmlRegexpIsDeterminist">xmlRegexpIsDeterminist</a><br />
 <a href="html/libxml-xmlwriter.html#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a><br />
 </dd><dt>yet</dt><dd><a href="html/libxml-pattern.html#xmlPatterncompile">xmlPatterncompile</a><br />
+<a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
+<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
 </dd><dt>you</dt><dd><a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
 <a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
diff --git a/doc/APIchunk7.html b/doc/APIchunk7.html
index a3a33f0..3375d64 100644
--- a/doc/APIchunk7.html
+++ b/doc/APIchunk7.html
@@ -64,6 +64,8 @@
 <a href="html/libxml-parserInternals.html#xmlParseQuotedString">xmlParseQuotedString</a><br />
 <a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
+<a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
+<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
 <a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
 <a href="html/libxml-xmlwriter.html#xmlTextWriterWriteRawLen">xmlTextWriterWriteRawLen</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNextAttribute">xmlXPathNextAttribute</a><br />
diff --git a/doc/APIchunk9.html b/doc/APIchunk9.html
index a3fc71e..3db6e3e 100644
--- a/doc/APIchunk9.html
+++ b/doc/APIchunk9.html
@@ -245,7 +245,9 @@
 <a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
 <a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a><br />
+<a href="html/libxml-xmlsave.html#xmlSaveDoc">xmlSaveDoc</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveToFilename">xmlSaveToFilename</a><br />
+<a href="html/libxml-xmlsave.html#xmlSaveTree">xmlSaveTree</a><br />
 <a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
 <a href="html/libxml-parser.html#xmlSetupParserForBuffer">xmlSetupParserForBuffer</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrncatNew">xmlStrncatNew</a><br />
diff --git a/doc/APIfiles.html b/doc/APIfiles.html
index de3c270..094332b 100644
--- a/doc/APIfiles.html
+++ b/doc/APIfiles.html
@@ -920,6 +920,9 @@
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a><br />
@@ -1076,6 +1079,7 @@
 <a href="html/libxml-tree.html#XML_TEXT_NODE">XML_TEXT_NODE</a><br />
 <a href="html/libxml-tree.html#XML_XINCLUDE_END">XML_XINCLUDE_END</a><br />
 <a href="html/libxml-tree.html#XML_XINCLUDE_START">XML_XINCLUDE_START</a><br />
+<a href="html/libxml-tree.html#XML_XML_ID">XML_XML_ID</a><br />
 <a href="html/libxml-tree.html#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a><br />
 <a href="html/libxml-tree.html#_xmlAttr">_xmlAttr</a><br />
 <a href="html/libxml-tree.html#_xmlAttribute">_xmlAttribute</a><br />
@@ -1895,6 +1899,7 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI">XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_USE">XML_SCHEMAP_INVALID_ATTR_USE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_BOOLEAN">XML_SCHEMAP_INVALID_BOOLEAN</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ENUM">XML_SCHEMAP_INVALID_ENUM</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_FACET">XML_SCHEMAP_INVALID_FACET</a><br />
@@ -1938,6 +1943,7 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_IMPORT_CHILD">XML_SCHEMAP_UNKNOWN_IMPORT_CHILD</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD">XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_LIST_CHILD">XML_SCHEMAP_UNKNOWN_LIST_CHILD</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_MEMBER_TYPE">XML_SCHEMAP_UNKNOWN_MEMBER_TYPE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_NOTATION_CHILD">XML_SCHEMAP_UNKNOWN_NOTATION_CHILD</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_PREFIX">XML_SCHEMAP_UNKNOWN_PREFIX</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD">XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD</a><br />
diff --git a/doc/APIsymbols.html b/doc/APIsymbols.html
index b3d570f..a989c97 100644
--- a/doc/APIsymbols.html
+++ b/doc/APIsymbols.html
@@ -700,6 +700,7 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI">XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_USE">XML_SCHEMAP_INVALID_ATTR_USE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_BOOLEAN">XML_SCHEMAP_INVALID_BOOLEAN</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ENUM">XML_SCHEMAP_INVALID_ENUM</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_FACET">XML_SCHEMAP_INVALID_FACET</a><br />
@@ -743,6 +744,7 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_IMPORT_CHILD">XML_SCHEMAP_UNKNOWN_IMPORT_CHILD</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD">XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_LIST_CHILD">XML_SCHEMAP_UNKNOWN_LIST_CHILD</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_MEMBER_TYPE">XML_SCHEMAP_UNKNOWN_MEMBER_TYPE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_NOTATION_CHILD">XML_SCHEMAP_UNKNOWN_NOTATION_CHILD</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_PREFIX">XML_SCHEMAP_UNKNOWN_PREFIX</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD">XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD</a><br />
@@ -758,6 +760,9 @@
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a><br />
@@ -898,6 +903,7 @@
 <a href="html/libxml-xmlerror.html#XML_XINCLUDE_UNKNOWN_ENCODING">XML_XINCLUDE_UNKNOWN_ENCODING</a><br />
 <a href="html/libxml-xmlerror.html#XML_XINCLUDE_XPTR_FAILED">XML_XINCLUDE_XPTR_FAILED</a><br />
 <a href="html/libxml-xmlerror.html#XML_XINCLUDE_XPTR_RESULT">XML_XINCLUDE_XPTR_RESULT</a><br />
+<a href="html/libxml-tree.html#XML_XML_ID">XML_XML_ID</a><br />
 <a href="html/libxml-tree.html#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a><br />
 <a href="html/libxml-xmlerror.html#XML_XPATH_ENCODING_ERROR">XML_XPATH_ENCODING_ERROR</a><br />
 <a href="html/libxml-xmlerror.html#XML_XPATH_EXPRESSION_OK">XML_XPATH_EXPRESSION_OK</a><br />
diff --git a/doc/html/libxml-schemasInternals.html b/doc/html/libxml-schemasInternals.html
index 096373e..23f26fa 100644
--- a/doc/html/libxml-schemasInternals.html
+++ b/doc/html/libxml-schemasInternals.html
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module schemasInternals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module schemasInternals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-relaxng.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-relaxng.html">relaxng</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-threads.html">threads</a></th><td><a accesskey="n" href="libxml-threads.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>internal interfaces for the XML Schemas handling and schema validity checking </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a></pre><pre class="programlisting">Structure <a href="#xmlSchemaAnnot">xmlSchemaAnnot</a><br />struct _xmlSchemaAnnot
+    </style><title>Module schemasInternals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module schemasInternals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-relaxng.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-relaxng.html">relaxng</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-threads.html">threads</a></th><td><a accesskey="n" href="libxml-threads.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>internal interfaces for the XML Schemas handling and schema validity checking </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a></pre><pre class="programlisting">Structure <a href="#xmlSchemaAnnot">xmlSchemaAnnot</a><br />struct _xmlSchemaAnnot
 </pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaAnnot">xmlSchemaAnnot</a> * <a name="xmlSchemaAnnotPtr" id="xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>
 </pre><pre class="programlisting">Structure <a href="#xmlSchemaAttribute">xmlSchemaAttribute</a><br />struct _xmlSchemaAttribute
 </pre><pre class="programlisting">Structure <a href="#xmlSchemaAttributeGroup">xmlSchemaAttributeGroup</a><br />struct _xmlSchemaAttributeGroup
@@ -35,6 +35,9 @@
 <h3><a name="XML_SCHEMAS_ANYATTR_SKIP" id="XML_SCHEMAS_ANYATTR_SKIP"></a>Macro: XML_SCHEMAS_ANYATTR_SKIP</h3><pre>#define XML_SCHEMAS_ANYATTR_SKIP</pre><p>Skip unknown <a href="libxml-SAX.html#attribute">attribute</a> from validation</p>
 <h3><a name="XML_SCHEMAS_ANYATTR_STRICT" id="XML_SCHEMAS_ANYATTR_STRICT"></a>Macro: XML_SCHEMAS_ANYATTR_STRICT</h3><pre>#define XML_SCHEMAS_ANYATTR_STRICT</pre><p>Apply strict validation rules on attributes</p>
 <h3><a name="XML_SCHEMAS_ATTR_NSDEFAULT" id="XML_SCHEMAS_ATTR_NSDEFAULT"></a>Macro: XML_SCHEMAS_ATTR_NSDEFAULT</h3><pre>#define XML_SCHEMAS_ATTR_NSDEFAULT</pre><p>allow elements in no namespace</p>
+<h3><a name="XML_SCHEMAS_ATTR_USE_OPTIONAL" id="XML_SCHEMAS_ATTR_USE_OPTIONAL"></a>Macro: XML_SCHEMAS_ATTR_USE_OPTIONAL</h3><pre>#define XML_SCHEMAS_ATTR_USE_OPTIONAL</pre><p>The <a href="libxml-SAX.html#attribute">attribute</a> is optional.</p>
+<h3><a name="XML_SCHEMAS_ATTR_USE_PROHIBITED" id="XML_SCHEMAS_ATTR_USE_PROHIBITED"></a>Macro: XML_SCHEMAS_ATTR_USE_PROHIBITED</h3><pre>#define XML_SCHEMAS_ATTR_USE_PROHIBITED</pre><p>The <a href="libxml-SAX.html#attribute">attribute</a> is prohibited.</p>
+<h3><a name="XML_SCHEMAS_ATTR_USE_REQUIRED" id="XML_SCHEMAS_ATTR_USE_REQUIRED"></a>Macro: XML_SCHEMAS_ATTR_USE_REQUIRED</h3><pre>#define XML_SCHEMAS_ATTR_USE_REQUIRED</pre><p>The <a href="libxml-SAX.html#attribute">attribute</a> is required.</p>
 <h3><a name="XML_SCHEMAS_ELEM_ABSTRACT" id="XML_SCHEMAS_ELEM_ABSTRACT"></a>Macro: XML_SCHEMAS_ELEM_ABSTRACT</h3><pre>#define XML_SCHEMAS_ELEM_ABSTRACT</pre><p>the element is abstract</p>
 <h3><a name="XML_SCHEMAS_ELEM_DEFAULT" id="XML_SCHEMAS_ELEM_DEFAULT"></a>Macro: XML_SCHEMAS_ELEM_DEFAULT</h3><pre>#define XML_SCHEMAS_ELEM_DEFAULT</pre><p>the element has a default value</p>
 <h3><a name="XML_SCHEMAS_ELEM_FIXED" id="XML_SCHEMAS_ELEM_FIXED"></a>Macro: XML_SCHEMAS_ELEM_FIXED</h3><pre>#define XML_SCHEMAS_ELEM_FIXED</pre><p>the element has a fixed value</p>
diff --git a/doc/html/libxml-tree.html b/doc/html/libxml-tree.html
index b952919..0ab5af7 100644
--- a/doc/html/libxml-tree.html
+++ b/doc/html/libxml-tree.html
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module tree from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module tree from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-threads.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-threads.html">threads</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-uri.html">uri</a></th><td><a accesskey="n" href="libxml-uri.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module describes the structures found in an tree resulting from an XML or HTML parsing, as well as the API provided for various processing on that tree </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a></pre><pre class="programlisting">#define <a href="#XML_GET_CONTENT">XML_GET_CONTENT</a></pre><pre class="programlisting">#define <a href="#XML_GET_LINE">XML_GET_LINE</a></pre><pre class="programlisting">#define <a href="#XML_LOCAL_NAMESPACE">XML_LOCAL_NAMESPACE</a></pre><pre class="programlisting">#define <a href="#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a></pre><pre class="programlisting">#define <a href="#xmlChildrenNode">xmlChildrenNode</a></pre><pre class="programlisting">#define <a href="#xmlRootNode">xmlRootNode</a></pre><pre class="programlisting">Structure <a href="#xmlAttr">xmlAttr</a><br />struct _xmlAttr
+    </style><title>Module tree from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module tree from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-threads.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-threads.html">threads</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-uri.html">uri</a></th><td><a accesskey="n" href="libxml-uri.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>this module describes the structures found in an tree resulting from an XML or HTML parsing, as well as the API provided for various processing on that tree </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a></pre><pre class="programlisting">#define <a href="#XML_GET_CONTENT">XML_GET_CONTENT</a></pre><pre class="programlisting">#define <a href="#XML_GET_LINE">XML_GET_LINE</a></pre><pre class="programlisting">#define <a href="#XML_LOCAL_NAMESPACE">XML_LOCAL_NAMESPACE</a></pre><pre class="programlisting">#define <a href="#XML_XML_ID">XML_XML_ID</a></pre><pre class="programlisting">#define <a href="#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a></pre><pre class="programlisting">#define <a href="#xmlChildrenNode">xmlChildrenNode</a></pre><pre class="programlisting">#define <a href="#xmlRootNode">xmlRootNode</a></pre><pre class="programlisting">Structure <a href="#xmlAttr">xmlAttr</a><br />struct _xmlAttr
 </pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlAttr">xmlAttr</a> * <a name="xmlAttrPtr" id="xmlAttrPtr">xmlAttrPtr</a>
 </pre><pre class="programlisting">Structure <a href="#xmlAttribute">xmlAttribute</a><br />struct _xmlAttribute
 </pre><pre class="programlisting">Enum <a href="#xmlAttributeDefault">xmlAttributeDefault</a>
@@ -207,6 +207,7 @@
 <h3><a name="XML_GET_CONTENT" id="XML_GET_CONTENT"></a>Macro: XML_GET_CONTENT</h3><pre>#define XML_GET_CONTENT</pre><p>Macro to extract the content pointer of a node.</p>
 <h3><a name="XML_GET_LINE" id="XML_GET_LINE"></a>Macro: XML_GET_LINE</h3><pre>#define XML_GET_LINE</pre><p>Macro to extract the line number of an element node.</p>
 <h3><a name="XML_LOCAL_NAMESPACE" id="XML_LOCAL_NAMESPACE"></a>Macro: XML_LOCAL_NAMESPACE</h3><pre>#define XML_LOCAL_NAMESPACE</pre><p>A namespace declaration node.</p>
+<h3><a name="XML_XML_ID" id="XML_XML_ID"></a>Macro: XML_XML_ID</h3><pre>#define XML_XML_ID</pre><p>This is the name for the special xml:id <a href="libxml-SAX.html#attribute">attribute</a></p>
 <h3><a name="XML_XML_NAMESPACE" id="XML_XML_NAMESPACE"></a>Macro: XML_XML_NAMESPACE</h3><pre>#define XML_XML_NAMESPACE</pre><p>This is the namespace for the special xml: prefix predefined in the XML Namespace specification.</p>
 <h3><a name="xmlChildrenNode" id="xmlChildrenNode"></a>Macro: xmlChildrenNode</h3><pre>#define xmlChildrenNode</pre><p>Macro for compatibility naming layer with libxml1. Maps to "children."</p>
 <h3><a name="xmlRootNode" id="xmlRootNode"></a>Macro: xmlRootNode</h3><pre>#define xmlRootNode</pre><p>Macro for compatibility naming layer with libxml1. Maps to "children".</p>
diff --git a/doc/html/libxml-xmlerror.html b/doc/html/libxml-xmlerror.html
index f054620..4e95b91 100644
--- a/doc/html/libxml-xmlerror.html
+++ b/doc/html/libxml-xmlerror.html
@@ -538,6 +538,8 @@
     <a name="XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI" id="XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI</a> = 1770 : 1769
     <a name="XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI" id="XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI">XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI</a> = 1771 : 1770
     <a name="XML_SCHEMAP_NOT_SCHEMA" id="XML_SCHEMAP_NOT_SCHEMA">XML_SCHEMAP_NOT_SCHEMA</a> = 1772 : 1771
+    <a name="XML_SCHEMAP_UNKNOWN_MEMBER_TYPE" id="XML_SCHEMAP_UNKNOWN_MEMBER_TYPE">XML_SCHEMAP_UNKNOWN_MEMBER_TYPE</a> = 1773 : 1772
+    <a name="XML_SCHEMAP_INVALID_ATTR_USE" id="XML_SCHEMAP_INVALID_ATTR_USE">XML_SCHEMAP_INVALID_ATTR_USE</a> = 1774 : 1723
     <a name="XML_SCHEMAV_NOROOT" id="XML_SCHEMAV_NOROOT">XML_SCHEMAV_NOROOT</a> = 1800
     <a name="XML_SCHEMAV_UNDECLAREDELEM" id="XML_SCHEMAV_UNDECLAREDELEM">XML_SCHEMAV_UNDECLAREDELEM</a> = 1801 : 1801
     <a name="XML_SCHEMAV_NOTTOPLEVEL" id="XML_SCHEMAV_NOTTOPLEVEL">XML_SCHEMAV_NOTTOPLEVEL</a> = 1802 : 1802
diff --git a/doc/html/libxml-xmlsave.html b/doc/html/libxml-xmlsave.html
index 9af9c19..0e64857 100644
--- a/doc/html/libxml-xmlsave.html
+++ b/doc/html/libxml-xmlsave.html
@@ -27,7 +27,7 @@
 }</pre><h3><a name="xmlSaveClose" id="xmlSaveClose"></a>Function: xmlSaveClose</h3><pre class="programlisting">int	xmlSaveClose			(<a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt)<br />
 </pre><p>Close a document saving context, i.e. make sure that all bytes have been output and free the associated data.</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>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlSaveDoc" id="xmlSaveDoc"></a>Function: xmlSaveDoc</h3><pre class="programlisting">long	xmlSaveDoc			(<a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br />					 <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
-</pre><p>Save a full document to a saving context</p>
+</pre><p>Save a full document 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>doc</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><h3><a name="xmlSaveFlush" id="xmlSaveFlush"></a>Function: xmlSaveFlush</h3><pre class="programlisting">int	xmlSaveFlush			(<a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt)<br />
 </pre><p>Flush a document saving context, i.e. make sure that all bytes have been output.</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>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlSaveToBuffer" id="xmlSaveToBuffer"></a>Function: xmlSaveToBuffer</h3><pre class="programlisting"><a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	xmlSaveToBuffer		(<a href="libxml-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br />					 const char * encoding, <br />					 int options)<br />
@@ -39,5 +39,5 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file name or an URL</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="xmlSaveToIO" id="xmlSaveToIO"></a>Function: xmlSaveToIO</h3><pre class="programlisting"><a href="libxml-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	xmlSaveToIO		(<a href="libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br />					 <a href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br />					 void * ioctx, <br />					 const char * encoding, <br />					 int options)<br />
 </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</p>
+</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>
diff --git a/doc/libxml2-api.xml b/doc/libxml2-api.xml
index 82298a1..15f7cc0 100644
--- a/doc/libxml2-api.xml
+++ b/doc/libxml2-api.xml
@@ -1020,25 +1020,28 @@
      <summary>internal interfaces for XML Schemas</summary>
      <description>internal interfaces for the XML Schemas handling and schema validity checking </description>
      <author>Daniel Veillard </author>
-     <exports symbol='XML_SCHEMAS_FACET_UNKNOWN' type='macro'/>
      <exports symbol='XML_SCHEMAS_ANYATTR_LAX' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_TOPLEVEL' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_ABSTRACT' type='macro'/>
      <exports symbol='XML_SCHEMAS_ANYATTR_STRICT' type='macro'/>
      <exports symbol='XML_SCHEMAS_QUALIF_ATTR' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_FIXED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTR_USE_REQUIRED' type='macro'/>
      <exports symbol='XML_SCHEMAS_FACET_COLLAPSE' type='macro'/>
-     <exports symbol='XML_SCHEMAS_QUALIF_ELEM' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_NSDEFAULT' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_GLOBAL' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ATTR_NSDEFAULT' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ANYATTR_SKIP' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_DEFAULT' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_MIXED' type='macro'/>
-     <exports symbol='XML_SCHEMAS_FACET_REPLACE' type='macro'/>
-     <exports symbol='XML_SCHEMAS_FACET_PRESERVE' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_REF' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_NILLABLE' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_MIXED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTR_USE_PROHIBITED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_FACET_PRESERVE' type='macro'/>
+     <exports symbol='XML_SCHEMAS_FACET_UNKNOWN' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_TOPLEVEL' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_ABSTRACT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_FIXED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_QUALIF_ELEM' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ANYATTR_SKIP' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTR_USE_OPTIONAL' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTR_NSDEFAULT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_REF' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_DEFAULT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_FACET_REPLACE' type='macro'/>
      <exports symbol='XML_SCHEMA_TYPE_SIMPLE' type='enum'/>
      <exports symbol='XML_SCHEMA_TYPE_GROUP' type='enum'/>
      <exports symbol='XML_SCHEMA_TYPE_SEQUENCE' type='enum'/>
@@ -1138,9 +1141,10 @@
      <exports symbol='XML_LOCAL_NAMESPACE' type='macro'/>
      <exports symbol='XML_GET_CONTENT' type='macro'/>
      <exports symbol='XML_XML_NAMESPACE' type='macro'/>
-     <exports symbol='BASE_BUFFER_SIZE' type='macro'/>
-     <exports symbol='xmlRootNode' type='macro'/>
+     <exports symbol='XML_XML_ID' type='macro'/>
      <exports symbol='xmlChildrenNode' type='macro'/>
+     <exports symbol='xmlRootNode' type='macro'/>
+     <exports symbol='BASE_BUFFER_SIZE' type='macro'/>
      <exports symbol='XML_GET_LINE' type='macro'/>
      <exports symbol='XML_ATTRIBUTE_IMPLIED' type='enum'/>
      <exports symbol='XML_ATTRIBUTE_IDREF' type='enum'/>
@@ -1657,6 +1661,7 @@
      <description>the API used to report errors </description>
      <author>Daniel Veillard </author>
      <exports symbol='XML_DTD_CONTENT_ERROR' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_MEMBER_TYPE' type='enum'/>
      <exports symbol='XML_SCHEMAV_NOROOT' type='enum'/>
      <exports symbol='XML_DTD_ATTRIBUTE_VALUE' type='enum'/>
      <exports symbol='XML_ERR_INVALID_DEC_CHARREF' type='enum'/>
@@ -1700,7 +1705,7 @@
      <exports symbol='XML_HTTP_UNKNOWN_HOST' type='enum'/>
      <exports symbol='XML_XPTR_EXTRA_OBJECTS' type='enum'/>
      <exports symbol='XML_ERR_ENTITY_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_INVALID_ATTR_USE' type='enum'/>
      <exports symbol='XML_IO_UNKNOWN' type='enum'/>
      <exports symbol='XML_RNGP_PAT_ONEMORE_GROUP_ATTR' type='enum'/>
      <exports symbol='XML_ERR_VALUE_REQUIRED' type='enum'/>
@@ -1741,7 +1746,7 @@
      <exports symbol='XML_ERR_NMTOKEN_REQUIRED' type='enum'/>
      <exports symbol='XML_RNGP_ANYNAME_ATTR_ANCESTOR' type='enum'/>
      <exports symbol='XML_ERR_ENTITY_IS_EXTERNAL' type='enum'/>
-     <exports symbol='XML_WAR_UNDECLARED_ENTITY' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD' type='enum'/>
      <exports symbol='XML_ERR_PI_NOT_STARTED' type='enum'/>
      <exports symbol='XML_RNGP_START_CONTENT' type='enum'/>
      <exports symbol='XML_RNGP_GROUP_ATTR_CONFLICT' type='enum'/>
@@ -2052,6 +2057,7 @@
      <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_EMPTY' type='enum'/>
      <exports symbol='XML_IO_EFBIG' type='enum'/>
      <exports symbol='XML_ERR_NS_DECL_ERROR' type='enum'/>
+     <exports symbol='XML_WAR_UNDECLARED_ENTITY' type='enum'/>
      <exports symbol='XML_RNGP_PAT_START_DATA' type='enum'/>
      <exports symbol='XML_ERR_ERROR' type='enum'/>
      <exports symbol='XML_DTD_MISSING_ATTRIBUTE' type='enum'/>
@@ -3403,6 +3409,15 @@
     <macro name='XML_SCHEMAS_ATTR_NSDEFAULT' file='schemasInternals'>
       <info>allow elements in no namespace</info>
     </macro>
+    <macro name='XML_SCHEMAS_ATTR_USE_OPTIONAL' file='schemasInternals'>
+      <info>The attribute is optional.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_ATTR_USE_PROHIBITED' file='schemasInternals'>
+      <info>The attribute is prohibited.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_ATTR_USE_REQUIRED' file='schemasInternals'>
+      <info>The attribute is required.</info>
+    </macro>
     <macro name='XML_SCHEMAS_ELEM_ABSTRACT' file='schemasInternals'>
       <info>the element is abstract</info>
     </macro>
@@ -3463,6 +3478,9 @@
     <macro name='XML_SUBSTITUTE_REF' file='parserInternals'>
       <info>Whether general entities need to be substituted.</info>
     </macro>
+    <macro name='XML_XML_ID' file='tree'>
+      <info>This is the name for the special xml:id attribute</info>
+    </macro>
     <macro name='XML_XML_NAMESPACE' file='tree'>
       <info>This is the namespace for the special xml: prefix predefined in the XML Namespace specification.</info>
     </macro>
@@ -4248,6 +4266,7 @@
     <enum name='XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI' file='xmlerror' value='1713' type='xmlParserErrors' info='1713'/>
     <enum name='XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI' file='xmlerror' value='1770' type='xmlParserErrors' info='1769'/>
     <enum name='XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI' file='xmlerror' value='1771' type='xmlParserErrors' info='1770'/>
+    <enum name='XML_SCHEMAP_INVALID_ATTR_USE' file='xmlerror' value='1774' type='xmlParserErrors' info='1723'/>
     <enum name='XML_SCHEMAP_INVALID_BOOLEAN' file='xmlerror' value='1714' type='xmlParserErrors' info='1714'/>
     <enum name='XML_SCHEMAP_INVALID_ENUM' file='xmlerror' value='1715' type='xmlParserErrors' info='1715'/>
     <enum name='XML_SCHEMAP_INVALID_FACET' file='xmlerror' value='1716' type='xmlParserErrors' info='1716'/>
@@ -4291,6 +4310,7 @@
     <enum name='XML_SCHEMAP_UNKNOWN_IMPORT_CHILD' file='xmlerror' value='1743' type='xmlParserErrors' info='1743'/>
     <enum name='XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD' file='xmlerror' value='1769' type='xmlParserErrors' info='1768'/>
     <enum name='XML_SCHEMAP_UNKNOWN_LIST_CHILD' file='xmlerror' value='1744' type='xmlParserErrors' info='1744'/>
+    <enum name='XML_SCHEMAP_UNKNOWN_MEMBER_TYPE' file='xmlerror' value='1773' type='xmlParserErrors' info='1772'/>
     <enum name='XML_SCHEMAP_UNKNOWN_NOTATION_CHILD' file='xmlerror' value='1745' type='xmlParserErrors' info='1745'/>
     <enum name='XML_SCHEMAP_UNKNOWN_PREFIX' file='xmlerror' value='1767' type='xmlParserErrors' info='1766'/>
     <enum name='XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD' file='xmlerror' value='1746' type='xmlParserErrors' info='1746'/>
@@ -10935,7 +10955,7 @@
       <arg name='ctxt' type='xmlSaveCtxtPtr' info='a document saving context'/>
     </function>
     <function name='xmlSaveDoc' file='xmlsave'>
-      <info>Save a full document to a saving context</info>
+      <info>Save a full document 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='doc' type='xmlDocPtr' info='a document'/>
@@ -11019,7 +11039,7 @@
       <arg name='options' type='int' info='a set of xmlSaveOptions'/>
     </function>
     <function name='xmlSaveTree' file='xmlsave'>
-      <info>Save a subtree starting at the node parameter to a saving context</info>
+      <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'/>
diff --git a/doc/libxml2-refs.xml b/doc/libxml2-refs.xml
index d880432..abc8726 100644
--- a/doc/libxml2-refs.xml
+++ b/doc/libxml2-refs.xml
@@ -694,6 +694,7 @@
     <reference name='XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI' href='html/libxml-xmlerror.html#XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI'/>
     <reference name='XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI' href='html/libxml-xmlerror.html#XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI'/>
     <reference name='XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI' href='html/libxml-xmlerror.html#XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI'/>
+    <reference name='XML_SCHEMAP_INVALID_ATTR_USE' href='html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ATTR_USE'/>
     <reference name='XML_SCHEMAP_INVALID_BOOLEAN' href='html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_BOOLEAN'/>
     <reference name='XML_SCHEMAP_INVALID_ENUM' href='html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_ENUM'/>
     <reference name='XML_SCHEMAP_INVALID_FACET' href='html/libxml-xmlerror.html#XML_SCHEMAP_INVALID_FACET'/>
@@ -737,6 +738,7 @@
     <reference name='XML_SCHEMAP_UNKNOWN_IMPORT_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_IMPORT_CHILD'/>
     <reference name='XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD'/>
     <reference name='XML_SCHEMAP_UNKNOWN_LIST_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_LIST_CHILD'/>
+    <reference name='XML_SCHEMAP_UNKNOWN_MEMBER_TYPE' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_MEMBER_TYPE'/>
     <reference name='XML_SCHEMAP_UNKNOWN_NOTATION_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_NOTATION_CHILD'/>
     <reference name='XML_SCHEMAP_UNKNOWN_PREFIX' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_PREFIX'/>
     <reference name='XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD'/>
@@ -752,6 +754,9 @@
     <reference name='XML_SCHEMAS_ANYATTR_SKIP' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_SKIP'/>
     <reference name='XML_SCHEMAS_ANYATTR_STRICT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_STRICT'/>
     <reference name='XML_SCHEMAS_ATTR_NSDEFAULT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_NSDEFAULT'/>
+    <reference name='XML_SCHEMAS_ATTR_USE_OPTIONAL' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_OPTIONAL'/>
+    <reference name='XML_SCHEMAS_ATTR_USE_PROHIBITED' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_PROHIBITED'/>
+    <reference name='XML_SCHEMAS_ATTR_USE_REQUIRED' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_REQUIRED'/>
     <reference name='XML_SCHEMAS_ELEM_ABSTRACT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_ABSTRACT'/>
     <reference name='XML_SCHEMAS_ELEM_DEFAULT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_DEFAULT'/>
     <reference name='XML_SCHEMAS_ELEM_FIXED' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_FIXED'/>
@@ -892,6 +897,7 @@
     <reference name='XML_XINCLUDE_UNKNOWN_ENCODING' href='html/libxml-xmlerror.html#XML_XINCLUDE_UNKNOWN_ENCODING'/>
     <reference name='XML_XINCLUDE_XPTR_FAILED' href='html/libxml-xmlerror.html#XML_XINCLUDE_XPTR_FAILED'/>
     <reference name='XML_XINCLUDE_XPTR_RESULT' href='html/libxml-xmlerror.html#XML_XINCLUDE_XPTR_RESULT'/>
+    <reference name='XML_XML_ID' href='html/libxml-tree.html#XML_XML_ID'/>
     <reference name='XML_XML_NAMESPACE' href='html/libxml-tree.html#XML_XML_NAMESPACE'/>
     <reference name='XML_XPATH_ENCODING_ERROR' href='html/libxml-xmlerror.html#XML_XPATH_ENCODING_ERROR'/>
     <reference name='XML_XPATH_EXPRESSION_OK' href='html/libxml-xmlerror.html#XML_XPATH_EXPRESSION_OK'/>
@@ -3573,6 +3579,7 @@
       <ref name='XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI'/>
       <ref name='XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI'/>
       <ref name='XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI'/>
+      <ref name='XML_SCHEMAP_INVALID_ATTR_USE'/>
       <ref name='XML_SCHEMAP_INVALID_BOOLEAN'/>
       <ref name='XML_SCHEMAP_INVALID_ENUM'/>
       <ref name='XML_SCHEMAP_INVALID_FACET'/>
@@ -3616,6 +3623,7 @@
       <ref name='XML_SCHEMAP_UNKNOWN_IMPORT_CHILD'/>
       <ref name='XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD'/>
       <ref name='XML_SCHEMAP_UNKNOWN_LIST_CHILD'/>
+      <ref name='XML_SCHEMAP_UNKNOWN_MEMBER_TYPE'/>
       <ref name='XML_SCHEMAP_UNKNOWN_NOTATION_CHILD'/>
       <ref name='XML_SCHEMAP_UNKNOWN_PREFIX'/>
       <ref name='XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD'/>
@@ -3631,6 +3639,9 @@
       <ref name='XML_SCHEMAS_ANYATTR_SKIP'/>
       <ref name='XML_SCHEMAS_ANYATTR_STRICT'/>
       <ref name='XML_SCHEMAS_ATTR_NSDEFAULT'/>
+      <ref name='XML_SCHEMAS_ATTR_USE_OPTIONAL'/>
+      <ref name='XML_SCHEMAS_ATTR_USE_PROHIBITED'/>
+      <ref name='XML_SCHEMAS_ATTR_USE_REQUIRED'/>
       <ref name='XML_SCHEMAS_ELEM_ABSTRACT'/>
       <ref name='XML_SCHEMAS_ELEM_DEFAULT'/>
       <ref name='XML_SCHEMAS_ELEM_FIXED'/>
@@ -3771,6 +3782,7 @@
       <ref name='XML_XINCLUDE_UNKNOWN_ENCODING'/>
       <ref name='XML_XINCLUDE_XPTR_FAILED'/>
       <ref name='XML_XINCLUDE_XPTR_RESULT'/>
+      <ref name='XML_XML_ID'/>
       <ref name='XML_XML_NAMESPACE'/>
       <ref name='XML_XPATH_ENCODING_ERROR'/>
       <ref name='XML_XPATH_EXPRESSION_OK'/>
@@ -9830,6 +9842,9 @@
       <ref name='XML_SCHEMAS_ANYATTR_SKIP'/>
       <ref name='XML_SCHEMAS_ANYATTR_STRICT'/>
       <ref name='XML_SCHEMAS_ATTR_NSDEFAULT'/>
+      <ref name='XML_SCHEMAS_ATTR_USE_OPTIONAL'/>
+      <ref name='XML_SCHEMAS_ATTR_USE_PROHIBITED'/>
+      <ref name='XML_SCHEMAS_ATTR_USE_REQUIRED'/>
       <ref name='XML_SCHEMAS_ELEM_ABSTRACT'/>
       <ref name='XML_SCHEMAS_ELEM_DEFAULT'/>
       <ref name='XML_SCHEMAS_ELEM_FIXED'/>
@@ -9990,6 +10005,7 @@
       <ref name='XML_TEXT_NODE'/>
       <ref name='XML_XINCLUDE_END'/>
       <ref name='XML_XINCLUDE_START'/>
+      <ref name='XML_XML_ID'/>
       <ref name='XML_XML_NAMESPACE'/>
       <ref name='_xmlAttr'/>
       <ref name='_xmlAttribute'/>
@@ -10823,6 +10839,7 @@
       <ref name='XML_SCHEMAP_IMPORT_SCHEMA_NOT_URI'/>
       <ref name='XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI'/>
       <ref name='XML_SCHEMAP_INCLUDE_SCHEMA_NO_URI'/>
+      <ref name='XML_SCHEMAP_INVALID_ATTR_USE'/>
       <ref name='XML_SCHEMAP_INVALID_BOOLEAN'/>
       <ref name='XML_SCHEMAP_INVALID_ENUM'/>
       <ref name='XML_SCHEMAP_INVALID_FACET'/>
@@ -10866,6 +10883,7 @@
       <ref name='XML_SCHEMAP_UNKNOWN_IMPORT_CHILD'/>
       <ref name='XML_SCHEMAP_UNKNOWN_INCLUDE_CHILD'/>
       <ref name='XML_SCHEMAP_UNKNOWN_LIST_CHILD'/>
+      <ref name='XML_SCHEMAP_UNKNOWN_MEMBER_TYPE'/>
       <ref name='XML_SCHEMAP_UNKNOWN_NOTATION_CHILD'/>
       <ref name='XML_SCHEMAP_UNKNOWN_PREFIX'/>
       <ref name='XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD'/>
@@ -15220,6 +15238,8 @@
           <ref name='xmlParseQuotedString'/>
           <ref name='xmlParserHandleReference'/>
           <ref name='xmlParserInputBufferGrow'/>
+          <ref name='xmlSaveDoc'/>
+          <ref name='xmlSaveTree'/>
           <ref name='xmlScanName'/>
           <ref name='xmlTextWriterWriteRawLen'/>
           <ref name='xmlXPathNextAttribute'/>
@@ -16830,7 +16850,9 @@
           <ref name='xmlParsePEReference'/>
           <ref name='xmlParserHandlePEReference'/>
           <ref name='xmlParserInputBufferCreateStatic'/>
+          <ref name='xmlSaveDoc'/>
           <ref name='xmlSaveToFilename'/>
+          <ref name='xmlSaveTree'/>
           <ref name='xmlScanName'/>
           <ref name='xmlSetupParserForBuffer'/>
           <ref name='xmlStrncatNew'/>
@@ -17849,6 +17871,8 @@
         <word name='count'>
           <ref name='ftpListCallback'/>
           <ref name='xmlLsCountNode'/>
+          <ref name='xmlSaveDoc'/>
+          <ref name='xmlSaveTree'/>
           <ref name='xmlTextReaderAttributeCount'/>
           <ref name='xmlXPathCountFunction'/>
         </word>
@@ -18518,6 +18542,8 @@
           <ref name='xmlNodeGetBase'/>
           <ref name='xmlParseMarkupDecl'/>
           <ref name='xmlResetLastError'/>
+          <ref name='xmlSaveDoc'/>
+          <ref name='xmlSaveTree'/>
           <ref name='xmlURIEscape'/>
           <ref name='xmlURIUnescapeString'/>
           <ref name='xmlValidateAttributeDecl'/>
@@ -19580,6 +19606,8 @@
         </word>
         <word name='fully'>
           <ref name='_htmlElemDesc'/>
+          <ref name='xmlSaveDoc'/>
+          <ref name='xmlSaveTree'/>
         </word>
         <word name='func'>
           <ref name='_xmlXPathContext'/>
@@ -20142,6 +20170,8 @@
           <ref name='HTML_PI_NODE'/>
           <ref name='HTML_PRESERVE_NODE'/>
           <ref name='HTML_TEXT_NODE'/>
+          <ref name='xmlSaveDoc'/>
+          <ref name='xmlSaveTree'/>
           <ref name='xmlTextReaderNextSibling'/>
         </word>
         <word name='implicitly'>
@@ -20560,6 +20590,8 @@
           <ref name='xmlIsPubidChar'/>
           <ref name='xmlKeepBlanksDefault'/>
           <ref name='xmlRegisterHTTPPostCallbacks'/>
+          <ref name='xmlSaveDoc'/>
+          <ref name='xmlSaveTree'/>
           <ref name='xmlSubstituteEntitiesDefault'/>
           <ref name='xmlXPtrEvalRangePredicate'/>
         </word>
@@ -22183,6 +22215,7 @@
           <ref name='xmlGetLineNo'/>
         </word>
         <word name='optional'>
+          <ref name='XML_SCHEMAS_ATTR_USE_OPTIONAL'/>
           <ref name='docbCreatePushParserCtxt'/>
           <ref name='htmlCreatePushParserCtxt'/>
           <ref name='xmlCreatePushParserCtxt'/>
@@ -22902,6 +22935,9 @@
           <ref name='xmlParserInputBufferPush'/>
           <ref name='xmlRegNewExecCtxt'/>
         </word>
+        <word name='prohibited'>
+          <ref name='XML_SCHEMAS_ATTR_USE_PROHIBITED'/>
+        </word>
         <word name='projects'>
           <ref name='xmlXPathIsInf'/>
           <ref name='xmlXPathIsNaN'/>
@@ -23626,6 +23662,7 @@
           <ref name='xmlRegisterHTTPPostCallbacks'/>
         </word>
         <word name='required'>
+          <ref name='XML_SCHEMAS_ATTR_USE_REQUIRED'/>
           <ref name='htmlRequiredAttrs'/>
           <ref name='xmlCatalogSetDebug'/>
           <ref name='xmlXPathStringFunction'/>
@@ -24433,6 +24470,7 @@
         </word>
         <word name='special'>
           <ref name='XML_SKIP_IDS'/>
+          <ref name='XML_XML_ID'/>
           <ref name='XML_XML_NAMESPACE'/>
           <ref name='xmlNewChild'/>
           <ref name='xmlNewDocNode'/>
@@ -26229,6 +26267,9 @@
         <word name='xml:base'>
           <ref name='xmlNodeSetBase'/>
         </word>
+        <word name='xml:id'>
+          <ref name='XML_XML_ID'/>
+        </word>
         <word name='xml:lang'>
           <ref name='xlinkExtendedLinkFunk'/>
           <ref name='xlinkExtendedLinkSetFunk'/>
@@ -27035,6 +27076,8 @@
         </word>
         <word name='yet'>
           <ref name='xmlPatterncompile'/>
+          <ref name='xmlSaveDoc'/>
+          <ref name='xmlSaveTree'/>
         </word>
         <word name='you'>
           <ref name='xmlNewDocNode'/>
diff --git a/libxml.spec.in b/libxml.spec.in
index c2a251e..f96575c 100644
--- a/libxml.spec.in
+++ b/libxml.spec.in
@@ -63,6 +63,7 @@
 %configure
 make
 (cd doc/examples ; make clean)
+gzip -9 ChangeLog
 
 %install
 rm -fr %{buildroot}
@@ -81,7 +82,7 @@
 %files
 %defattr(-, root, root)
 
-%doc AUTHORS ChangeLog NEWS README Copyright TODO
+%doc AUTHORS ChangeLog.gz NEWS README Copyright TODO
 %doc %{_mandir}/man1/xmllint.1*
 %doc %{_mandir}/man1/xmlcatalog.1*
 %doc %{_mandir}/man3/libxml.3*
@@ -94,7 +95,7 @@
 %defattr(-, root, root)
 
 %doc %{_mandir}/man1/xml2-config.1*
-%doc AUTHORS ChangeLog NEWS README Copyright TODO
+%doc AUTHORS ChangeLog.gz NEWS README Copyright TODO
 %doc doc/*.html doc/html doc/*.gif doc/*.png
 %doc doc/tutorial doc/libxml2-api.xml
 %doc doc/examples
@@ -109,7 +110,7 @@
 %files python
 %defattr(-, root, root)
 
-%doc AUTHORS ChangeLog NEWS README Copyright
+%doc AUTHORS ChangeLog.gz NEWS README Copyright
 %{_libdir}/python*/site-packages/libxml2.py
 %{_libdir}/python*/site-packages/drv_libxml2.py
 %{_libdir}/python*/site-packages/libxml2mod*
diff --git a/python/tests/Makefile.am b/python/tests/Makefile.am
index a07497e..584ddbc 100644
--- a/python/tests/Makefile.am
+++ b/python/tests/Makefile.am
@@ -27,6 +27,7 @@
     reader5.py	\
     reader6.py	\
     reader7.py	\
+    reader8.py	\
     walker.py	\
     ctxterror.py\
     readererr.py\
diff --git a/python/tests/reader8.py b/python/tests/reader8.py
new file mode 100755
index 0000000..53b7f27
--- /dev/null
+++ b/python/tests/reader8.py
@@ -0,0 +1,37 @@
+#!/usr/bin/python -u
+#
+# this tests the entities substitutions with the XmlTextReader interface
+#
+import sys
+import StringIO
+import libxml2
+
+# Memory debug specific
+libxml2.debugMemory(1)
+
+#
+# Parse a document testing the Close() API
+#
+docstr="""<foo>
+<label>some text</label>
+<item>100</item>
+</foo>"""
+
+reader = libxml2.readerForDoc(docstr, "test1", None, 0)
+ret = reader.Read()
+ret = reader.Read()
+ret = reader.Close()
+
+if ret != 0:
+    print "Error closing the document test1"
+    sys.exit(1)
+
+del reader
+
+# Memory debug specific
+libxml2.cleanupParser()
+if libxml2.debugMemory(1) == 0:
+    print "OK"
+else:
+    print "Memory leak %d bytes" % (libxml2.debugMemory(1))
+    libxml2.dumpMemory()
diff --git a/xmlreader.c b/xmlreader.c
index e1c2ef8..41083ad 100644
--- a/xmlreader.c
+++ b/xmlreader.c
@@ -2053,19 +2053,12 @@
     reader->curnode = NULL;
     reader->mode = XML_TEXTREADER_MODE_CLOSED;
     if (reader->ctxt != NULL) {
+	xmlStopParser(reader->ctxt);
 	if (reader->ctxt->myDoc != NULL) {
 	    if (reader->preserve == 0)
 		xmlTextReaderFreeDoc(reader, reader->ctxt->myDoc);
 	    reader->ctxt->myDoc = NULL;
 	}
-	if (reader->allocs & XML_TEXTREADER_CTXT) {
-	    xmlFreeParserCtxt(reader->ctxt);
-	    reader->allocs -= XML_TEXTREADER_CTXT;
-	}
-    }
-    if (reader->sax != NULL) {
-        xmlFree(reader->sax);
-	reader->sax = NULL;
     }
     if ((reader->input != NULL)  && (reader->allocs & XML_TEXTREADER_INPUT)) {
 	xmlFreeParserInputBuffer(reader->input);
@@ -2204,6 +2197,10 @@
  * parser, set its state to End Of File and return the input stream with
  * what is left that the parser did not use.
  *
+ * The implementation is not good, the parser certainly procgressed past
+ * what's left in reader->input, and there is an allocation problem. Best
+ * would be to rewrite it differently.
+ *
  * Returns the xmlParserInputBufferPtr attached to the XML or NULL
  *    in case of error.
  */
@@ -2220,22 +2217,16 @@
     reader->curnode = NULL;
     reader->mode = XML_TEXTREADER_MODE_EOF;
     if (reader->ctxt != NULL) {
+	xmlStopParser(reader->ctxt);
 	if (reader->ctxt->myDoc != NULL) {
 	    if (reader->preserve == 0)
 		xmlTextReaderFreeDoc(reader, reader->ctxt->myDoc);
 	    reader->ctxt->myDoc = NULL;
 	}
-	if (reader->allocs & XML_TEXTREADER_CTXT) {
-	    xmlFreeParserCtxt(reader->ctxt);
-	    reader->allocs -= XML_TEXTREADER_CTXT;
-	}
-    }
-    if (reader->sax != NULL) {
-        xmlFree(reader->sax);
-	reader->sax = NULL;
     }
     if (reader->allocs & XML_TEXTREADER_INPUT) {
 	ret = reader->input;
+	reader->input = NULL;
 	reader->allocs -= XML_TEXTREADER_INPUT;
     } else {
 	/*