applied Schemas patches from Kasimier Buchcik, there is still one open

* xmlschemas.c xmlschemastypes.c include/libxml/xmlerror.h
  include/libxml/schemasInternals.h include/libxml/xmlschemastypes.h:
  applied Schemas patches from Kasimier Buchcik, there is still
  one open issue about referencing freed memory.
* test/schemas/* result/schemas/*: updated with new tests from
  Kasimier
Daniel
diff --git a/ChangeLog b/ChangeLog
index e255d03..d3d2496 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+Tue Jun 29 19:00:32 CEST 2004 Daniel Veillard <daniel@veillard.com>
+
+	* xmlschemas.c xmlschemastypes.c include/libxml/xmlerror.h
+	  include/libxml/schemasInternals.h include/libxml/xmlschemastypes.h:
+	  applied Schemas patches from Kasimier Buchcik, there is still
+	  one open issue about referencing freed memory.
+	* test/schemas/* result/schemas/*: updated with new tests from 
+	  Kasimier
+
 Tue Jun 29 14:52:18 CEST 2004 Daniel Veillard <daniel@veillard.com>
 
 	* include/libxml/globals.h include/libxml/xmlIO.h
diff --git a/doc/APIchunk0.html b/doc/APIchunk0.html
index 9398dc9..4021fee 100644
--- a/doc/APIchunk0.html
+++ b/doc/APIchunk0.html
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter A:</h2><dl><dt>A-Z</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
 </dd><dt>A-Za-z</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEncName">xmlParseEncName</a><br />
 </dd><dt>A-Za-z0-9</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEncName">xmlParseEncName</a><br />
@@ -254,8 +255,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -273,7 +274,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk1.html b/doc/APIchunk1.html
index a926648..6addbe3 100644
--- a/doc/APIchunk1.html
+++ b/doc/APIchunk1.html
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter C:</h2><dl><dt>C14N</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br />
 <a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
 </dd><dt>CATALOG</dt><dd><a href="html/libxml-catalog.html#xmlLoadACatalog">xmlLoadACatalog</a><br />
@@ -178,6 +179,7 @@
 <a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
 <a href="html/libxml-tree.html#xmlIsBlankNode">xmlIsBlankNode</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 <a href="html/libxml-xpath.html#xmlXPathNodeSetIsEmpty">xmlXPathNodeSetIsEmpty</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathStackIsExternal">xmlXPathStackIsExternal</a><br />
 </dd><dt>Cherokee</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsCherokee">xmlUCSIsCherokee</a><br />
@@ -332,8 +334,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -351,7 +353,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk10.html b/doc/APIchunk10.html
index 1f55b13..ce45940 100644
--- a/doc/APIchunk10.html
+++ b/doc/APIchunk10.html
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter c:</h2><dl><dt>cae</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a><br />
 </dd><dt>calculates</dt><dd><a href="html/libxml-xmlstring.html#xmlUTF8Size">xmlUTF8Size</a><br />
 </dd><dt>call</dt><dd><a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
@@ -173,6 +174,7 @@
 <a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGParse">xmlRelaxNGParse</a><br />
 <a href="html/libxml-xmlerror.html#xmlResetLastError">xmlResetLastError</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaCollapseString">xmlSchemaCollapseString</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaParse">xmlSchemaParse</a><br />
 <a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a><br />
 <a href="html/libxml-parserInternals.html#xmlSwitchEncoding">xmlSwitchEncoding</a><br />
@@ -237,7 +239,6 @@
 </dd><dt>checking</dt><dd><a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
 <a href="html/libxml-tree.html#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a><br />
 <a href="html/libxml-uri.html#xmlBuildURI">xmlBuildURI</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemFree">xmlMemFree</a><br />
 <a href="html/libxml-xmlstring.html#xmlUTF8Strlen">xmlUTF8Strlen</a><br />
 </dd><dt>checkings</dt><dd><a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
 </dd><dt>checks</dt><dd><a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
@@ -458,7 +459,9 @@
 </dd><dt>completely</dt><dd><a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
 </dd><dt>complex</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a><br />
-</dd><dt>complexType</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a><br />
+</dd><dt>complexType</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a><br />
 </dd><dt>complicated</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
 </dd><dt>compound</dt><dd><a href="html/libxml-xpath.html#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrFreeLocationSet">xmlXPtrFreeLocationSet</a><br />
@@ -797,8 +800,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -816,7 +819,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk11.html b/doc/APIchunk11.html
index 97af831..89050e6 100644
--- a/doc/APIchunk11.html
+++ b/doc/APIchunk11.html
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,10 +31,12 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter d:</h2><dl><dt>dangerous</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
+</dd><dt>datatype</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
 </dd><dt>day</dt><dd><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
 </dd><dt>day:minute</dt><dd><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
 </dd><dt>deactivated</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
@@ -161,6 +163,7 @@
 <a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
 <a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
 <a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
 <a href="html/libxml-tree.html#xmlSearchNsByHref">xmlSearchNsByHref</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderIsDefault">xmlTextReaderIsDefault</a><br />
@@ -493,7 +496,8 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailingSorted">xmlXPathNodeTrailingSorted</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathTrailing">xmlXPathTrailing</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a><br />
-</dd><dt>don</dt><dd><a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
+</dd><dt>don</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a><br />
+<a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
 <a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
@@ -563,8 +567,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -582,7 +586,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk12.html b/doc/APIchunk12.html
index dd692ca..3c8c054 100644
--- a/doc/APIchunk12.html
+++ b/doc/APIchunk12.html
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter e:</h2><dl><dt>each</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
 <a href="html/libxml-hash.html#xmlHashCopy">xmlHashCopy</a><br />
 <a href="html/libxml-hash.html#xmlHashScan">xmlHashScan</a><br />
@@ -223,11 +224,7 @@
 <a href="html/libxml-list.html#xmlListDataCompare">xmlListDataCompare</a><br />
 </dd><dt>equivalent</dt><dd><a href="html/libxml-xmlmemory.html#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMallocLoc">xmlMallocLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemFree">xmlMemFree</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemMalloc">xmlMemMalloc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemStrdupLoc">xmlMemStrdupLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemoryStrdup">xmlMemoryStrdup</a><br />
 <a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
 <a href="html/libxml-tree.html#xmlNodeListGetString">xmlNodeListGetString</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
@@ -345,6 +342,7 @@
 <a href="html/libxml-relaxng.html#xmlRelaxNGNewParserCtxt">xmlRelaxNGNewParserCtxt</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaNewMemParserCtxt">xmlSchemaNewMemParserCtxt</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaNewParserCtxt">xmlSchemaNewParserCtxt</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</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>expressions</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a><br />
@@ -365,7 +363,9 @@
 <a href="html/libxml-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNodeSetMerge">xmlXPathNodeSetMerge</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a><br />
-</dd><dt>extension</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a><br />
+</dd><dt>extension</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a><br />
 </dd><dt>extensions</dt><dd><a href="html/libxml-parser.html#_xmlSAXHandler">_xmlSAXHandler</a><br />
 </dd><dt>extract</dt><dd><a href="html/libxml-tree.html#XML_GET_CONTENT">XML_GET_CONTENT</a><br />
 <a href="html/libxml-tree.html#XML_GET_LINE">XML_GET_LINE</a><br />
@@ -375,8 +375,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -394,7 +394,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk13.html b/doc/APIchunk13.html
index 3bc62e3..1caf98e 100644
--- a/doc/APIchunk13.html
+++ b/doc/APIchunk13.html
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,17 +31,20 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter f:</h2><dl><dt>fTP</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPConnectTo">xmlNanoFTPConnectTo</a><br />
 </dd><dt>facet</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a><br />
+<a href="html/libxml-schemasInternals.html#_xmlSchemaFacetLink">_xmlSchemaFacetLink</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaFreeFacet">xmlSchemaFreeFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 </dd><dt>facets</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a><br />
 </dd><dt>fail</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
 <a href="html/libxml-c14n.html#xmlC14NDocSave">xmlC14NDocSave</a><br />
@@ -154,12 +157,20 @@
 </dd><dt>filled</dt><dd><a href="html/libxml-parser.html#xmlGetFeaturesList">xmlGetFeaturesList</a><br />
 </dd><dt>fills</dt><dd><a href="html/libxml-uri.html#xmlParseURIReference">xmlParseURIReference</a><br />
 </dd><dt>filters</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEncodingDecl">xmlParseEncodingDecl</a><br />
-</dd><dt>final</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataSetFinalState">xmlAutomataSetFinalState</a><br />
+</dd><dt>final</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataSetFinalState">xmlAutomataSetFinalState</a><br />
 <a href="html/libxml-uri.html#xmlBuildURI">xmlBuildURI</a><br />
 <a href="html/libxml-xmlregexp.html#xmlRegExecPushString">xmlRegExecPushString</a><br />
 <a href="html/libxml-xmlregexp.html#xmlRegExecPushString2">xmlRegExecPushString2</a><br />
 <a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
 <a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
+</dd><dt>finalDefault</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</a><br />
 </dd><dt>find</dt><dd><a href="html/libxml-threads.html#xmlGetThreadId">xmlGetThreadId</a><br />
 <a href="html/libxml-tree.html#xmlIsXHTML">xmlIsXHTML</a><br />
 </dd><dt>finding</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
@@ -372,8 +383,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -391,7 +402,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk14.html b/doc/APIchunk14.html
index 5abf7cb..cc07985 100644
--- a/doc/APIchunk14.html
+++ b/doc/APIchunk14.html
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter g:</h2><dl><dt>garbage</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
 <a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
 </dd><dt>genChRanges</dt><dd><a href="html/libxml-chvalid.html#xmlIsBaseCharQ">xmlIsBaseCharQ</a><br />
@@ -209,10 +210,10 @@
 <a href="html/libxml-parserInternals.html#xmlNamespaceParseNSDef">xmlNamespaceParseNSDef</a><br />
 <a href="html/libxml-parserInternals.html#xmlNamespaceParseQName">xmlNamespaceParseQName</a><br />
 <a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
+<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
 <a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
 <a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
+<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
 <a href="html/libxml-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a><br />
 <a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
 <a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
@@ -273,6 +274,7 @@
 </dd><dt>heuristic:</dt><dd><a href="html/libxml-valid.html#xmlIsRef">xmlIsRef</a><br />
 </dd><dt>hex</dt><dd><a href="html/libxml-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a><br />
 </dd><dt>hierarchy</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
 </dd><dt>highly</dt><dd><a href="html/libxml-HTMLparser.html#htmlParseElement">htmlParseElement</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseElement">xmlParseElement</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGParse">xmlRelaxNGParse</a><br />
@@ -351,8 +353,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -370,7 +372,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk15.html b/doc/APIchunk15.html
index 00708d5..bfbe3af 100644
--- a/doc/APIchunk15.html
+++ b/doc/APIchunk15.html
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter i:</h2><dl><dt>iconv</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_ICONV_ENABLED">LIBXML_ICONV_ENABLED</a><br />
 <a href="html/libxml-xmlversion.html#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a><br />
 </dd><dt>identify</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
@@ -239,10 +240,7 @@
 <a href="html/libxml-parser.html#xmlInitNodeInfoSeq">xmlInitNodeInfoSeq</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMallocLoc">xmlMallocLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemMalloc">xmlMemMalloc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemStrdupLoc">xmlMemStrdupLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemoryStrdup">xmlMemoryStrdup</a><br />
 <a href="html/libxml-nanoftp.html#xmlNanoFTPList">xmlNanoFTPList</a><br />
 <a href="html/libxml-parser.html#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a><br />
 <a href="html/libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a><br />
@@ -304,9 +302,7 @@
 <a href="html/libxml-xmlautomata.html#xmlAutomataGetInitState">xmlAutomataGetInitState</a><br />
 <a href="html/libxml-tree.html#xmlBufferCreateSize">xmlBufferCreateSize</a><br />
 <a href="html/libxml-parser.html#xmlInitNodeInfoSeq">xmlInitNodeInfoSeq</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemStrdupLoc">xmlMemStrdupLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemoryStrdup">xmlMemoryStrdup</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
 <a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAdd">xmlXPathNodeSetAdd</a><br />
@@ -389,6 +385,27 @@
 <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 />
+</dd><dt>int</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
+<a href="">c</a><br />
+<a href="html/libxml-SAX.html#getColumnNumber">getColumnNumber</a><br />
+<a href="html/libxml-SAX.html#getLineNumber">getLineNumber</a><br />
+<a href="html/libxml-HTMLparser.html#htmlHandleOmittedElem">htmlHandleOmittedElem</a><br />
+<a href="html/libxml-HTMLparser.html#htmlParseCharRef">htmlParseCharRef</a><br />
+<a href="html/libxml-parserInternals.html#xmlIsLetter">xmlIsLetter</a><br />
+<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
+<a href="html/libxml-parser.html#xmlLineNumbersDefault">xmlLineNumbersDefault</a><br />
+<a href="html/libxml-xmlmemory.html#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a><br />
+<a href="html/libxml-xmlmemory.html#xmlMallocLoc">xmlMallocLoc</a><br />
+<a href="html/libxml-xmlmemory.html#xmlMemUsed">xmlMemUsed</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseCharRef">xmlParseCharRef</a><br />
+<a href="html/libxml-parser.html#xmlPedanticParserDefault">xmlPedanticParserDefault</a><br />
+<a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2GetColumnNumber">xmlSAX2GetColumnNumber</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2GetLineNumber">xmlSAX2GetLineNumber</a><br />
+<a href="html/libxml-debugXML.html#xmlShellCmd">xmlShellCmd</a><br />
+<a href="html/libxml-tree.html#xmlSplitQName3">xmlSplitQName3</a><br />
+<a href="html/libxml-parser.html#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</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 />
 <a href="html/libxml-xmlstring.html#xmlStrncasecmp">xmlStrncasecmp</a><br />
@@ -476,6 +493,7 @@
 <a href="html/libxml-hash.html#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a><br />
 <a href="html/libxml-hash.html#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a><br />
 <a href="html/libxml-nanoftp.html#xmlNanoFTPDele">xmlNanoFTPDele</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
 <a href="html/libxml-xpath.html#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a><br />
 </dd><dt>items</dt><dd><a href="html/libxml-xpathInternals.html#valuePush">valuePush</a><br />
 <a href="html/libxml-hash.html#xmlHashCopy">xmlHashCopy</a><br />
@@ -484,6 +502,7 @@
 <a href="html/libxml-hash.html#xmlHashScan3">xmlHashScan3</a><br />
 <a href="html/libxml-hash.html#xmlHashScanFull">xmlHashScanFull</a><br />
 <a href="html/libxml-hash.html#xmlHashScanFull3">xmlHashScanFull3</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 </dd><dt>itself</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
 <a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
 <a href="html/libxml-encoding.html#xmlCharEncFirstLine">xmlCharEncFirstLine</a><br />
@@ -495,8 +514,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -514,7 +533,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk16.html b/doc/APIchunk16.html
index 392ed1b..f5a2af8 100644
--- a/doc/APIchunk16.html
+++ b/doc/APIchunk16.html
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter j:</h2><dl><dt>just</dt><dd><a href="html/libxml-HTMLtree.html#htmlSetMetaEncoding">htmlSetMetaEncoding</a><br />
 <a href="html/libxml-parserInternals.html#inputPop">inputPop</a><br />
 <a href="html/libxml-parserInternals.html#namePop">namePop</a><br />
@@ -94,8 +95,6 @@
 <a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMallocLoc">xmlMallocLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemMalloc">xmlMemMalloc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
 </dd><dt>lang</dt><dd><a href="html/libxml-tree.html#xmlNodeGetLang">xmlNodeGetLang</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathLangFunction">xmlXPathLangFunction</a><br />
@@ -179,6 +178,7 @@
 </dd><dt>lexical</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
 <a href="html/libxml-tree.html#xmlValidateNCName">xmlValidateNCName</a><br />
 <a href="html/libxml-tree.html#xmlValidateNMToken">xmlValidateNMToken</a><br />
@@ -248,6 +248,8 @@
 </dd><dt>linear</dt><dd><a href="html/libxml-HTMLparser.html#htmlEntityLookup">htmlEntityLookup</a><br />
 <a href="html/libxml-HTMLparser.html#htmlEntityValueLookup">htmlEntityValueLookup</a><br />
 </dd><dt>linked</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaAttributeLink">_xmlSchemaAttributeLink</a><br />
+<a href="html/libxml-schemasInternals.html#_xmlSchemaFacetLink">_xmlSchemaFacetLink</a><br />
+<a href="html/libxml-schemasInternals.html#_xmlSchemaTypeLink">_xmlSchemaTypeLink</a><br />
 </dd><dt>linking</dt><dd><a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
 </dd><dt>links</dt><dd><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
 </dd><dt>listing</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPList">xmlNanoFTPList</a><br />
@@ -318,10 +320,7 @@
 <a href="html/libxml-threads.html#xmlUnlockLibrary">xmlUnlockLibrary</a><br />
 </dd><dt>logging</dt><dd><a href="html/libxml-xmlmemory.html#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMallocLoc">xmlMallocLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemMalloc">xmlMemMalloc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemStrdupLoc">xmlMemStrdupLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemoryStrdup">xmlMemoryStrdup</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
 </dd><dt>long</dt><dd><a href="html/libxml-parserInternals.html#IS_BASECHAR">IS_BASECHAR</a><br />
 <a href="html/libxml-parserInternals.html#IS_COMBINING">IS_COMBINING</a><br />
@@ -356,8 +355,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -375,7 +374,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk17.html b/doc/APIchunk17.html
index e44a021..c9652b3 100644
--- a/doc/APIchunk17.html
+++ b/doc/APIchunk17.html
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter m:</h2><dl><dt>machine</dt><dd><a href="html/libxml-xmlIO.html#xmlCheckFilename">xmlCheckFilename</a><br />
 </dd><dt>macro</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a><br />
 <a href="html/libxml-xmlwriter.html#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a><br />
@@ -59,7 +60,6 @@
 <a href="html/libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMallocLoc">xmlMallocLoc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemGet">xmlMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemMalloc">xmlMemMalloc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
 </dd><dt>mallocAtomicFunc</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
 <a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
@@ -288,8 +288,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -307,7 +307,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk18.html b/doc/APIchunk18.html
index f4451ce..bb61c38 100644
--- a/doc/APIchunk18.html
+++ b/doc/APIchunk18.html
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter n:</h2><dl><dt>named</dt><dd><a href="html/libxml-encoding.html#xmlAddEncodingAlias">xmlAddEncodingAlias</a><br />
 </dd><dt>names</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
 <a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
@@ -164,7 +165,6 @@
 </dd><dt>nodeset</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a><br />
 </dd><dt>nodesets</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNodeSetMerge">xmlXPathNodeSetMerge</a><br />
 </dd><dt>non</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a><br />
 <a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
 <a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
 <a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
@@ -219,6 +219,7 @@
 </dd><dt>normalization:</dt><dd><a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
 </dd><dt>normalizations</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
 </dd><dt>normalize</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaCollapseString">xmlSchemaCollapseString</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
 </dd><dt>normalize-space</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
 </dd><dt>normalized</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
@@ -266,8 +267,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -285,7 +286,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk19.html b/doc/APIchunk19.html
index 44c777b..566919d 100644
--- a/doc/APIchunk19.html
+++ b/doc/APIchunk19.html
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter o:</h2><dl><dt>object?</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNumberFunction">xmlXPathNumberFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
 </dd><dt>objects</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
@@ -62,7 +63,6 @@
 </dd><dt>occurences</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
 </dd><dt>occurred</dt><dd><a href="html/libxml-xmlmemory.html#xmlMemStrdupLoc">xmlMemStrdupLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemoryStrdup">xmlMemoryStrdup</a><br />
 </dd><dt>occurrence</dt><dd><a href="html/libxml-xmlstring.html#xmlStrcasestr">xmlStrcasestr</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrchr">xmlStrchr</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrstr">xmlStrstr</a><br />
@@ -98,8 +98,8 @@
 <a href="html/libxml-parser.html#xmlLineNumbersDefault">xmlLineNumbersDefault</a><br />
 <a href="html/libxml-list.html#xmlListCopy">xmlListCopy</a><br />
 <a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
+<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
+<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferRead">xmlParserInputBufferRead</a><br />
 <a href="html/libxml-globals.html#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a><br />
@@ -323,8 +323,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -342,7 +342,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk2.html b/doc/APIchunk2.html
index aed367e..a66f04a 100644
--- a/doc/APIchunk2.html
+++ b/doc/APIchunk2.html
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter D:</h2><dl><dt>DEBUG_MEMORY</dt><dd><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
 </dd><dt>DEBUG_MEMORY_FREED</dt><dd><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
 </dd><dt>DEBUG_MEMORY_LOCATION</dt><dd><a href="html/libxml-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a><br />
@@ -88,6 +89,7 @@
 <a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
 </dd><dt>Data</dt><dd><a href="html/libxml-parserInternals.html#xmlParseCDSect">xmlParseCDSect</a><br />
 </dd><dt>Datatype</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a><br />
+</dd><dt>Datatypes</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
 </dd><dt>Deallocate</dt><dd><a href="html/libxml-valid.html#xmlFreeAttributeTable">xmlFreeAttributeTable</a><br />
 <a href="html/libxml-valid.html#xmlFreeElementTable">xmlFreeElementTable</a><br />
 <a href="html/libxml-entities.html#xmlFreeEntitiesTable">xmlFreeEntitiesTable</a><br />
@@ -100,6 +102,7 @@
 <a href="html/libxml-xmlschemas.html#xmlSchemaFree">xmlSchemaFree</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaFreeFacet">xmlSchemaFreeFacet</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaFreeType">xmlSchemaFreeType</a><br />
+</dd><dt>Deallocates</dt><dd><a href="html/libxml-schemasInternals.html#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a><br />
 </dd><dt>Debugging</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a><br />
 </dd><dt>Declaration</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementDecl">xmlParseElementDecl</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
@@ -390,8 +393,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -409,7 +412,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk20.html b/doc/APIchunk20.html
index add7cc9..8a771c6 100644
--- a/doc/APIchunk20.html
+++ b/doc/APIchunk20.html
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter p:</h2><dl><dt>pairs</dt><dd><a href="html/libxml-SAX.html#startElement">startElement</a><br />
 <a href="html/libxml-parser.html#startElementNsSAX2Func">startElementNsSAX2Func</a><br />
 <a href="html/libxml-parser.html#startElementSAXFunc">startElementSAXFunc</a><br />
@@ -190,6 +191,7 @@
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a><br />
@@ -490,8 +492,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -509,7 +511,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk21.html b/doc/APIchunk21.html
index edaaeb1..ca41727 100644
--- a/doc/APIchunk21.html
+++ b/doc/APIchunk21.html
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter q:</h2><dl><dt>qualified</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a><br />
 <a href="html/libxml-valid.html#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a><br />
@@ -143,7 +144,6 @@
 <a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
 <a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemGet">xmlMemGet</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
@@ -301,8 +301,8 @@
 </dd><dt>registers</dt><dd><a href="html/libxml-encoding.html#xmlInitCharEncodingHandlers">xmlInitCharEncodingHandlers</a><br />
 <a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
 </dd><dt>registration</dt><dd><a href="html/libxml-parser.html#XML_SKIP_IDS">XML_SKIP_IDS</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
+<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
+<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
 <a href="html/libxml-globals.html#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a><br />
 </dd><dt>regular</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a><br />
 <a href="html/libxml-xmlregexp.html#xmlRegFreeExecCtxt">xmlRegFreeExecCtxt</a><br />
@@ -411,6 +411,7 @@
 <a href="html/libxml-HTMLparser.html#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a><br />
 <a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
 </dd><dt>repr</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 </dd><dt>representation</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
 </dd><dt>representations</dt><dd><a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
 </dd><dt>represented</dt><dd><a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
@@ -431,6 +432,7 @@
 </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-xmlschemastypes.html#xmlSchemaCollapseString">xmlSchemaCollapseString</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 />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a><br />
@@ -493,7 +495,9 @@
 </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 />
-</dd><dt>restriction</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a><br />
+</dd><dt>restriction</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a><br />
 </dd><dt>results</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathEqualValues">xmlXPathEqualValues</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNotEqualValues">xmlXPathNotEqualValues</a><br />
 </dd><dt>retrieve</dt><dd><a href="html/libxml-threads.html#xmlGetGlobalState">xmlGetGlobalState</a><br />
@@ -588,8 +592,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -607,7 +611,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk22.html b/doc/APIchunk22.html
index 4498953..a4634bb 100644
--- a/doc/APIchunk22.html
+++ b/doc/APIchunk22.html
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter s:</h2><dl><dt>safe</dt><dd><a href="html/libxml-xmlstring.html#BAD_CAST">BAD_CAST</a><br />
 <a href="html/libxml-catalog.html#xmlInitializeCatalog">xmlInitializeCatalog</a><br />
 <a href="html/libxml-catalog.html#xmlLoadCatalog">xmlLoadCatalog</a><br />
@@ -253,6 +254,10 @@
 <a href="html/libxml-debugXML.html#xmlShellSave">xmlShellSave</a><br />
 <a href="html/libxml-debugXML.html#xmlShellValidate">xmlShellValidate</a><br />
 <a href="html/libxml-debugXML.html#xmlShellWrite">xmlShellWrite</a><br />
+</dd><dt>shema</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</a><br />
 </dd><dt>shemas</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a><br />
 </dd><dt>shorten</dt><dd><a href="html/libxml-debugXML.html#xmlDebugDumpString">xmlDebugDumpString</a><br />
@@ -304,6 +309,15 @@
 <a href="html/libxml-threads.html#xmlMutexLock">xmlMutexLock</a><br />
 <a href="html/libxml-threads.html#xmlMutexUnlock">xmlMutexUnlock</a><br />
 <a href="html/libxml-threads.html#xmlNewMutex">xmlNewMutex</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
+</dd><dt>simpleType</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a><br />
 </dd><dt>simply</dt><dd><a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
 <a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
 </dd><dt>since</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
@@ -428,6 +442,7 @@
 <a href="html/libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a><br />
 <a href="html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a><br />
 <a href="html/libxml-tree.html#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaCollapseString">xmlSchemaCollapseString</a><br />
 <a href="html/libxml-tree.html#xmlValidateNCName">xmlValidateNCName</a><br />
 <a href="html/libxml-tree.html#xmlValidateNMToken">xmlValidateNMToken</a><br />
 <a href="html/libxml-tree.html#xmlValidateName">xmlValidateName</a><br />
@@ -467,8 +482,6 @@
 </dd><dt>specify</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br />
 </dd><dt>specifying</dt><dd><a href="html/libxml-xmlmemory.html#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMallocLoc">xmlMallocLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemMalloc">xmlMemMalloc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
 </dd><dt>speed</dt><dd><a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
 </dd><dt>speedup</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderConstString">xmlTextReaderConstString</a><br />
@@ -600,7 +613,6 @@
 <a href="html/libxml-xmlmemory.html#xmlMemGet">xmlMemGet</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemStrdupLoc">xmlMemStrdupLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemoryStrdup">xmlMemoryStrdup</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrdup">xmlStrdup</a><br />
 <a href="html/libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a><br />
 </dd><dt>stream</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
@@ -651,6 +663,7 @@
 <a href="html/libxml-uri.html#xmlFreeURI">xmlFreeURI</a><br />
 <a href="html/libxml-threads.html#xmlNewMutex">xmlNewMutex</a><br />
 <a href="html/libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a><br />
 </dd><dt>structured</dt><dd><a href="html/libxml-xmlerror.html#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a><br />
 </dd><dt>structures</dt><dd><a href="html/libxml-tree.html#xmlFreeDoc">xmlFreeDoc</a><br />
 <a href="html/libxml-tree.html#xmlFreeNs">xmlFreeNs</a><br />
@@ -810,8 +823,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -829,7 +842,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk23.html b/doc/APIchunk23.html
index 8a6deae..8ce9e33 100644
--- a/doc/APIchunk23.html
+++ b/doc/APIchunk23.html
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter t:</h2><dl><dt>tag</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
 <a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
 <a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br />
@@ -399,6 +400,7 @@
 <a href="html/libxml-xpointer.html#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrNewLocationSetNodes">xmlXPtrNewLocationSetNodes</a><br />
 </dd><dt>two-character</dt><dd><a href="html/libxml-parserInternals.html#xmlCurrentChar">xmlCurrentChar</a><br />
+</dd><dt>typ</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaTypeLink">_xmlSchemaTypeLink</a><br />
 </dd><dt>types</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a><br />
 <a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
 <a href="html/libxml-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a><br />
@@ -410,8 +412,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -429,7 +431,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk24.html b/doc/APIchunk24.html
index 7ea991a..81945fc 100644
--- a/doc/APIchunk24.html
+++ b/doc/APIchunk24.html
@@ -7,13 +7,13 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index u-w for 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>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index u-w for 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>Developer 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 href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</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"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index u-v for 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>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index u-v for 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>Developer 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 href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</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"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter u:</h2><dl><dt>ugly</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
 <a href="html/libxml-HTMLparser.html#htmlEntityLookup">htmlEntityLookup</a><br />
 <a href="html/libxml-HTMLparser.html#htmlEntityValueLookup">htmlEntityValueLookup</a><br />
@@ -60,7 +61,11 @@
 <a href="html/libxml-parserInternals.html#xmlIsLetter">xmlIsLetter</a><br />
 </dd><dt>unimplemented</dt><dd><a href="html/libxml-HTMLparser.html#htmlCtxtUseOptions">htmlCtxtUseOptions</a><br />
 <a href="html/libxml-parser.html#xmlCtxtUseOptions">xmlCtxtUseOptions</a><br />
-</dd><dt>union</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
+</dd><dt>union</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
 </dd><dt>unique</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
 </dd><dt>uniquely</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
@@ -218,6 +223,10 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathRegisteredNsCleanup">xmlXPathRegisteredNsCleanup</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathRegisteredVariablesCleanup">xmlXPathRegisteredVariablesCleanup</a><br />
 </dd><dt>variant</dt><dd><a href="html/libxml-encoding.html#xmlDetectCharEncoding">xmlDetectCharEncoding</a><br />
+</dd><dt>variety</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a><br />
 </dd><dt>very</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
 <a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
 <a href="html/libxml-encoding.html#xmlCharEncFirstLine">xmlCharEncFirstLine</a><br />
@@ -230,224 +239,13 @@
 </dd><dt>visible</dt><dd><a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
 </dd><dt>void</dt><dd><a href="html/libxml-parser.html#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a><br />
 <a href="html/libxml-parser.html#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a><br />
-</dd></dl><h2>Letter w:</h2><dl><dt>walker</dt><dd><a href="html/libxml-list.html#xmlListReverseWalk">xmlListReverseWalk</a><br />
-<a href="html/libxml-list.html#xmlListWalk">xmlListWalk</a><br />
-<a href="html/libxml-list.html#xmlListWalker">xmlListWalker</a><br />
-</dd><dt>walking</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
-<a href="html/libxml-xpath.html#_xmlXPathParserContext">_xmlXPathParserContext</a><br />
-<a href="html/libxml-list.html#xmlListWalker">xmlListWalker</a><br />
-</dd><dt>want</dt><dd><a href="html/libxml-encoding.html#xmlCharEncFirstLine">xmlCharEncFirstLine</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncInFunc">xmlCharEncInFunc</a><br />
-<a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
-</dd><dt>warn</dt><dd><a href="html/libxml-xmlversion.html#xmlCheckVersion">xmlCheckVersion</a><br />
-</dd><dt>warning</dt><dd><a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</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-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br />
-<a href="html/libxml-parser.html#warningSAXFunc">warningSAXFunc</a><br />
-<a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserValidityWarning">xmlParserValidityWarning</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserWarning">xmlParserWarning</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGGetValidErrors">xmlRelaxNGGetValidErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetParserErrors">xmlRelaxNGSetParserErrors</a><br />
-<a href="html/libxml-relaxng.html#xmlRelaxNGSetValidErrors">xmlRelaxNGSetValidErrors</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
-<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
-<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a><br />
-<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
-</dd><dt>warnings</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-parser.html#xmlPedanticParserDefault">xmlPedanticParserDefault</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a><br />
-</dd><dt>way</dt><dd><a href="html/libxml-HTMLtree.html#HTML_COMMENT_NODE">HTML_COMMENT_NODE</a><br />
-<a href="html/libxml-HTMLtree.html#HTML_ENTITY_REF_NODE">HTML_ENTITY_REF_NODE</a><br />
-<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-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-debugXML.html#xmlBoolToText">xmlBoolToText</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br />
-</dd><dt>ways:</dt><dd><a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>well</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-HTMLparser.html#htmlSAXParseDoc">htmlSAXParseDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlSAXParseFile">htmlSAXParseFile</a><br />
-<a href="html/libxml-parser.html#startElementNsSAX2Func">startElementNsSAX2Func</a><br />
-<a href="html/libxml-tree.html#xmlCopyDoc">xmlCopyDoc</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parser.html#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a><br />
-<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a><br />
-</dd><dt>well-balanced</dt><dd><a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-</dd><dt>well-formed</dt><dd><a href="html/libxml-parser.html#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-parser.html#xmlParseExtParsedEnt">xmlParseExtParsedEnt</a><br />
-<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-<a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
-</dd><dt>well-formedness</dt><dd><a href="html/libxml-xmlerror.html#xmlCtxtResetLastError">xmlCtxtResetLastError</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-xmlerror.html#xmlResetLastError">xmlResetLastError</a><br />
-</dd><dt>wellformed</dt><dd><a href="html/libxml-parser.html#xmlParseFile">xmlParseFile</a><br />
-</dd><dt>were</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemShow">xmlMemShow</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#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessTree">xmlXIncludeProcessTree</a><br />
-<a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlags">xmlXIncludeProcessTreeFlags</a><br />
-</dd><dt>wether</dt><dd><a href="html/libxml-xpath.html#_xmlNodeSet">_xmlNodeSet</a><br />
-<a href="html/libxml-pattern.html#xmlPatternMatch">xmlPatternMatch</a><br />
-</dd><dt>what</dt><dd><a href="html/libxml-catalog.html#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a><br />
-<a href="html/libxml-catalog.html#xmlCatalogSetDefaults">xmlCatalogSetDefaults</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteRawLen">xmlTextWriterWriteRawLen</a><br />
-</dd><dt>where</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-<a href="html/libxml-tree.html#xmlCopyProp">xmlCopyProp</a><br />
-<a href="html/libxml-tree.html#xmlCopyPropList">xmlCopyPropList</a><br />
-<a href="html/libxml-xmlIO.html#xmlFileRead">xmlFileRead</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOFTPRead">xmlIOFTPRead</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPRead">xmlIOHTTPRead</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a><br />
-<a href="html/libxml-nanohttp.html#xmlNanoHTTPSave">xmlNanoHTTPSave</a><br />
-<a href="html/libxml-tree.html#xmlNewNs">xmlNewNs</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-</dd><dt>while</dt><dd><a href="html/libxml-encoding.html#xmlInitCharEncodingHandlers">xmlInitCharEncodingHandlers</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEnumeratedType">xmlParseEnumeratedType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEnumerationType">xmlParseEnumerationType</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</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-xmlreader.html#xmlTextReaderNext">xmlTextReaderNext</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNextSibling">xmlTextReaderNextSibling</a><br />
-<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>white</dt><dd><a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
-</dd><dt>whitespace</dt><dd><a href="html/libxml-tree.html#xmlIsBlankNode">xmlIsBlankNode</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
-</dd><dt>whitespace-separated</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
-</dd><dt>whitespaces</dt><dd><a href="html/libxml-SAX.html#ignorableWhitespace">ignorableWhitespace</a><br />
-<a href="html/libxml-parser.html#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a><br />
-</dd><dt>whose</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br />
-</dd><dt>wierd</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
-</dd><dt>wildcard</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a><br />
-</dd><dt>with_ns</dt><dd><a href="html/libxml-xpath.html#_xmlNodeSet">_xmlNodeSet</a><br />
-</dd><dt>within</dt><dd><a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
-<a href="html/libxml-tree.html#xmlNewDocComment">xmlNewDocComment</a><br />
-<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#xmlNewDocRawNode">xmlNewDocRawNode</a><br />
-<a href="html/libxml-tree.html#xmlNewDocText">xmlNewDocText</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br />
-<a href="html/libxml-parser.html#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserPrintFileContext">xmlParserPrintFileContext</a><br />
-<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a><br />
-<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteBase64">xmlTextWriterWriteBase64</a><br />
-<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteBinHex">xmlTextWriterWriteBinHex</a><br />
-<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathIntersection">xmlXPathIntersection</a><br />
-</dd><dt>without</dt><dd><a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
-<a href="html/libxml-SAX.html#entityDecl">entityDecl</a><br />
-<a href="html/libxml-parser.html#entityDeclSAXFunc">entityDeclSAXFunc</a><br />
-<a href="html/libxml-HTMLtree.html#htmlNewDocNoDtD">htmlNewDocNoDtD</a><br />
-<a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2EntityDecl">xmlSAX2EntityDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
-<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
-</dd><dt>won</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</a><br />
-<a href="html/libxml-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-</dd><dt>word</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
-</dd><dt>words</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a><br />
-</dd><dt>work</dt><dd><a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-<a href="html/libxml-tree.html#xmlRemoveProp">xmlRemoveProp</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseDoc">xmlSAXParseDoc</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseFile">xmlSAXParseFile</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseMemory">xmlSAXParseMemory</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a><br />
-</dd><dt>worked</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPCwd">xmlNanoFTPCwd</a><br />
-<a href="html/libxml-nanoftp.html#xmlNanoFTPDele">xmlNanoFTPDele</a><br />
-</dd><dt>works</dt><dd><a href="html/libxml-debugXML.html#xmlShellDu">xmlShellDu</a><br />
-</dd><dt>worthwhile</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
-</dd><dt>would</dt><dd><a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-</dd><dt>write</dt><dd><a href="html/libxml-xmlIO.html#xmlFileRead">xmlFileRead</a><br />
-<a href="html/libxml-encoding.html#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a><br />
-<a href="html/libxml-encoding.html#xmlGetCharEncodingHandler">xmlGetCharEncodingHandler</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOFTPRead">xmlIOFTPRead</a><br />
-<a href="html/libxml-xmlIO.html#xmlIOHTTPRead">xmlIOHTTPRead</a><br />
-<a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveToIO">xmlSaveToIO</a><br />
-<a href="html/libxml-debugXML.html#xmlShellWrite">xmlShellWrite</a><br />
-</dd><dt>writer</dt><dd><a href="html/libxml-xmlwriter.html#xmlFreeTextWriter">xmlFreeTextWriter</a><br />
-</dd><dt>writes</dt><dd><a href="html/libxml-tree.html#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferWrite">xmlOutputBufferWrite</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferWriteString">xmlOutputBufferWriteString</a><br />
-</dd><dt>writing</dt><dd><a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />
-</dd><dt>www</dt><dd><a href="html/libxml-xinclude.html#XINCLUDE_NS">XINCLUDE_NS</a><br />
-<a href="html/libxml-xinclude.html#XINCLUDE_OLD_NS">XINCLUDE_OLD_NS</a><br />
-<a href="html/libxml-SAX.html#getSystemId">getSystemId</a><br />
-<a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
-<a href="html/libxml-c14n.html#xmlC14NDocSave">xmlC14NDocSave</a><br />
-<a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br />
-<a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
-<a href="html/libxml-encoding.html#xmlGetCharEncodingName">xmlGetCharEncodingName</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetSystemId">xmlSAX2GetSystemId</a><br />
-<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a><br />
 </dd></dl><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -465,7 +263,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk25.html b/doc/APIchunk25.html
index 89760a7..13f384a 100644
--- a/doc/APIchunk25.html
+++ b/doc/APIchunk25.html
@@ -7,13 +7,13 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index x-x for 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>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index x-x for 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>Developer 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 href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</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"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index w-w for 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>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index w-w for 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>Developer 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 href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</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"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,445 +31,234 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
-</h2><h2>Letter x:</h2><dl><dt>x00B7</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x02D0</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x02D1</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x0387</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x0640</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x0E46</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x0EC6</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x10000-</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
-</dd><dt>x10FFFF</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
-</dd><dt>x20</dt><dd><a href="html/libxml-parserInternals.html#IS_BLANK">IS_BLANK</a><br />
-<a href="html/libxml-parserInternals.html#IS_BYTE_CHAR">IS_BYTE_CHAR</a><br />
-<a href="html/libxml-parserInternals.html#IS_PUBIDCHAR">IS_PUBIDCHAR</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
-<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
-</dd><dt>x20-</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
-</dd><dt>x3005</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x3007</dt><dd><a href="html/libxml-parserInternals.html#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a><br />
-</dd><dt>x3021-</dt><dd><a href="html/libxml-parserInternals.html#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a><br />
-</dd><dt>x3029</dt><dd><a href="html/libxml-parserInternals.html#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a><br />
-</dd><dt>x3031-</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x3035</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x309D-</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x309E</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x30FC-</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x30FE</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
-</dd><dt>x4E00-</dt><dd><a href="html/libxml-parserInternals.html#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a><br />
-</dd><dt>x9FA5</dt><dd><a href="html/libxml-parserInternals.html#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a><br />
-</dd><dt>xD7FF</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
-</dd><dt>xE000-</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
-</dd><dt>xFFFD</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
-</dd><dt>xlink</dt><dd><a href="html/libxml-xlink.html#xlinkGetDefaultDetect">xlinkGetDefaultDetect</a><br />
-<a href="html/libxml-xlink.html#xlinkGetDefaultHandler">xlinkGetDefaultHandler</a><br />
-<a href="html/libxml-xlink.html#xlinkSetDefaultDetect">xlinkSetDefaultDetect</a><br />
-<a href="html/libxml-xlink.html#xlinkSetDefaultHandler">xlinkSetDefaultHandler</a><br />
-</dd><dt>xlinkHandlerPtr</dt><dd><a href="html/libxml-xlink.html#xlinkGetDefaultHandler">xlinkGetDefaultHandler</a><br />
-</dd><dt>xlinkType</dt><dd><a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
-</dd><dt>xml-c14n</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
-<a href="html/libxml-c14n.html#xmlC14NDocSave">xmlC14NDocSave</a><br />
-<a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br />
-<a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
-</dd><dt>xml-exc-c14n</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
-<a href="html/libxml-c14n.html#xmlC14NDocSave">xmlC14NDocSave</a><br />
-<a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br />
-<a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
-</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 />
-<a href="html/libxml-tree.html#xmlNodeSetLang">xmlNodeSetLang</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathLangFunction">xmlXPathLangFunction</a><br />
-</dd><dt>xml:space</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetSpacePreserve">xmlNodeGetSpacePreserve</a><br />
-<a href="html/libxml-tree.html#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a><br />
-</dd><dt>xmlAttr</dt><dd><a href="html/libxml-SAX.html#attribute">attribute</a><br />
-<a href="html/libxml-parser.html#attributeSAXFunc">attributeSAXFunc</a><br />
-</dd><dt>xmlAttrPtr</dt><dd><a href="html/libxml-tree.html#xmlCopyProp">xmlCopyProp</a><br />
-<a href="html/libxml-tree.html#xmlCopyPropList">xmlCopyPropList</a><br />
-<a href="html/libxml-valid.html#xmlGetID">xmlGetID</a><br />
-</dd><dt>xmlAttributePtr</dt><dd><a href="html/libxml-valid.html#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a><br />
-</dd><dt>xmlAttributeTablePtr</dt><dd><a href="html/libxml-valid.html#xmlCopyAttributeTable">xmlCopyAttributeTable</a><br />
-</dd><dt>xmlBuffer</dt><dd><a href="html/libxml-encoding.html#xmlCharEncFirstLine">xmlCharEncFirstLine</a><br />
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
+</h2><h2>Letter w:</h2><dl><dt>walker</dt><dd><a href="html/libxml-list.html#xmlListReverseWalk">xmlListReverseWalk</a><br />
+<a href="html/libxml-list.html#xmlListWalk">xmlListWalk</a><br />
+<a href="html/libxml-list.html#xmlListWalker">xmlListWalker</a><br />
+</dd><dt>walking</dt><dd><a href="html/libxml-xpath.html#_xmlXPathContext">_xmlXPathContext</a><br />
+<a href="html/libxml-xpath.html#_xmlXPathParserContext">_xmlXPathParserContext</a><br />
+<a href="html/libxml-list.html#xmlListWalker">xmlListWalker</a><br />
+</dd><dt>want</dt><dd><a href="html/libxml-encoding.html#xmlCharEncFirstLine">xmlCharEncFirstLine</a><br />
 <a href="html/libxml-encoding.html#xmlCharEncInFunc">xmlCharEncInFunc</a><br />
 <a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
-</dd><dt>xmlBufferPtr</dt><dd><a href="html/libxml-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a><br />
-</dd><dt>xmlBuildURI</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
-</dd><dt>xmlCatalogAllow</dt><dd><a href="html/libxml-catalog.html#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a><br />
-</dd><dt>xmlCatalogPtr</dt><dd><a href="html/libxml-catalog.html#xmlNewCatalog">xmlNewCatalog</a><br />
-</dd><dt>xmlCatalogResolvePublic</dt><dd><a href="html/libxml-catalog.html#xmlCatalogGetPublic">xmlCatalogGetPublic</a><br />
-</dd><dt>xmlCatalogResolveSystem</dt><dd><a href="html/libxml-catalog.html#xmlCatalogGetSystem">xmlCatalogGetSystem</a><br />
-</dd><dt>xmlCharEncoding</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
-<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
-<a href="html/libxml-encoding.html#xmlGetCharEncodingHandler">xmlGetCharEncodingHandler</a><br />
-</dd><dt>xmlCharEncodingHandler</dt><dd><a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
-</dd><dt>xmlCharEncodingHandlerPtr</dt><dd><a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
-<a href="html/libxml-encoding.html#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a><br />
-</dd><dt>xmlCharEncodingInputFunc</dt><dd><a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
-</dd><dt>xmlCharEncodingOutputFunc</dt><dd><a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
-</dd><dt>xmlChars</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
-<a href="html/libxml-tree.html#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a><br />
-<a href="html/libxml-parser.html#xmlParserInputGrow">xmlParserInputGrow</a><br />
-<a href="html/libxml-parser.html#xmlParserInputRead">xmlParserInputRead</a><br />
-</dd><dt>xmlCleanupParser</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
-</dd><dt>xmlCleanupThreads</dt><dd><a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
-</dd><dt>xmlCreateIntSubset</dt><dd><a href="html/libxml-tree.html#xmlNewDtd">xmlNewDtd</a><br />
-</dd><dt>xmlDefaultSAXLocator</dt><dd><a href="html/libxml-SAX.html#setDocumentLocator">setDocumentLocator</a><br />
-<a href="html/libxml-parser.html#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2SetDocumentLocator">xmlSAX2SetDocumentLocator</a><br />
-</dd><dt>xmlDocPtr</dt><dd><a href="html/libxml-tree.html#xmlCopyDoc">xmlCopyDoc</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
-</dd><dt>xmlDocumentGetBase</dt><dd><a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-</dd><dt>xmlDtdPtr</dt><dd><a href="html/libxml-tree.html#xmlCopyDtd">xmlCopyDtd</a><br />
-<a href="html/libxml-parser.html#xmlIOParseDTD">xmlIOParseDTD</a><br />
-<a href="html/libxml-parser.html#xmlParseDTD">xmlParseDTD</a><br />
-<a href="html/libxml-parser.html#xmlSAXParseDTD">xmlSAXParseDTD</a><br />
-</dd><dt>xmlElementContentPtr</dt><dd><a href="html/libxml-valid.html#xmlCopyElementContent">xmlCopyElementContent</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-</dd><dt>xmlElementPtr</dt><dd><a href="html/libxml-valid.html#xmlGetDtdElementDesc">xmlGetDtdElementDesc</a><br />
-<a href="html/libxml-valid.html#xmlGetDtdQElementDesc">xmlGetDtdQElementDesc</a><br />
-</dd><dt>xmlElementTablePtr</dt><dd><a href="html/libxml-valid.html#xmlCopyElementTable">xmlCopyElementTable</a><br />
-</dd><dt>xmlEncodeEntities</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
-<a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
-</dd><dt>xmlEncodeEntitiesReentrant</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
-<a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
+</dd><dt>warn</dt><dd><a href="html/libxml-xmlversion.html#xmlCheckVersion">xmlCheckVersion</a><br />
+</dd><dt>warning</dt><dd><a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</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-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br />
+<a href="html/libxml-parser.html#warningSAXFunc">warningSAXFunc</a><br />
+<a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
+<a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
+<a href="html/libxml-xmlerror.html#xmlParserValidityWarning">xmlParserValidityWarning</a><br />
+<a href="html/libxml-xmlerror.html#xmlParserWarning">xmlParserWarning</a><br />
+<a href="html/libxml-relaxng.html#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</a><br />
+<a href="html/libxml-relaxng.html#xmlRelaxNGGetValidErrors">xmlRelaxNGGetValidErrors</a><br />
+<a href="html/libxml-relaxng.html#xmlRelaxNGSetParserErrors">xmlRelaxNGSetParserErrors</a><br />
+<a href="html/libxml-relaxng.html#xmlRelaxNGSetValidErrors">xmlRelaxNGSetValidErrors</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
+<a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
+<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a><br />
+<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
+</dd><dt>warnings</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
+<a href="html/libxml-parser.html#xmlPedanticParserDefault">xmlPedanticParserDefault</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a><br />
+</dd><dt>way</dt><dd><a href="html/libxml-HTMLtree.html#HTML_COMMENT_NODE">HTML_COMMENT_NODE</a><br />
+<a href="html/libxml-HTMLtree.html#HTML_ENTITY_REF_NODE">HTML_ENTITY_REF_NODE</a><br />
+<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-tree.html#_xmlDoc">_xmlDoc</a><br />
+<a href="html/libxml-debugXML.html#xmlBoolToText">xmlBoolToText</a><br />
+<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
+<a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br />
+</dd><dt>ways:</dt><dd><a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
+</dd><dt>well</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
+<a href="html/libxml-HTMLparser.html#htmlSAXParseDoc">htmlSAXParseDoc</a><br />
+<a href="html/libxml-HTMLparser.html#htmlSAXParseFile">htmlSAXParseFile</a><br />
+<a href="html/libxml-parser.html#startElementNsSAX2Func">startElementNsSAX2Func</a><br />
+<a href="html/libxml-tree.html#xmlCopyDoc">xmlCopyDoc</a><br />
+<a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
+<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
+<a href="html/libxml-parser.html#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a><br />
+<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a><br />
+</dd><dt>well-balanced</dt><dd><a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
+<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
+</dd><dt>well-formed</dt><dd><a href="html/libxml-parser.html#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
+<a href="html/libxml-parser.html#xmlParseExtParsedEnt">xmlParseExtParsedEnt</a><br />
+<a href="html/libxml-parser.html#xmlParseExternalEntity">xmlParseExternalEntity</a><br />
+<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
+<a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
+</dd><dt>well-formedness</dt><dd><a href="html/libxml-xmlerror.html#xmlCtxtResetLastError">xmlCtxtResetLastError</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
+<a href="html/libxml-xmlerror.html#xmlResetLastError">xmlResetLastError</a><br />
+</dd><dt>wellformed</dt><dd><a href="html/libxml-parser.html#xmlParseFile">xmlParseFile</a><br />
+</dd><dt>were</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
+<a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
+<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
+<a href="html/libxml-xmlmemory.html#xmlMemShow">xmlMemShow</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#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a><br />
+<a href="html/libxml-xinclude.html#xmlXIncludeProcessTree">xmlXIncludeProcessTree</a><br />
+<a href="html/libxml-xinclude.html#xmlXIncludeProcessTreeFlags">xmlXIncludeProcessTreeFlags</a><br />
+</dd><dt>wether</dt><dd><a href="html/libxml-xpath.html#_xmlNodeSet">_xmlNodeSet</a><br />
+<a href="html/libxml-pattern.html#xmlPatternMatch">xmlPatternMatch</a><br />
+</dd><dt>what</dt><dd><a href="html/libxml-catalog.html#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a><br />
+<a href="html/libxml-catalog.html#xmlCatalogSetDefaults">xmlCatalogSetDefaults</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
+<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteRawLen">xmlTextWriterWriteRawLen</a><br />
+</dd><dt>where</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
+<a href="html/libxml-tree.html#xmlCopyProp">xmlCopyProp</a><br />
+<a href="html/libxml-tree.html#xmlCopyPropList">xmlCopyPropList</a><br />
+<a href="html/libxml-xmlIO.html#xmlFileRead">xmlFileRead</a><br />
+<a href="html/libxml-xmlIO.html#xmlIOFTPRead">xmlIOFTPRead</a><br />
+<a href="html/libxml-xmlIO.html#xmlIOHTTPRead">xmlIOHTTPRead</a><br />
+<a href="html/libxml-nanohttp.html#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a><br />
+<a href="html/libxml-nanohttp.html#xmlNanoHTTPSave">xmlNanoHTTPSave</a><br />
+<a href="html/libxml-tree.html#xmlNewNs">xmlNewNs</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
+</dd><dt>while</dt><dd><a href="html/libxml-encoding.html#xmlInitCharEncodingHandlers">xmlInitCharEncodingHandlers</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseEnumeratedType">xmlParseEnumeratedType</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseEnumerationType">xmlParseEnumerationType</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</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-xmlreader.html#xmlTextReaderNext">xmlTextReaderNext</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderNextSibling">xmlTextReaderNextSibling</a><br />
+<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
+</dd><dt>white</dt><dd><a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaCollapseString">xmlSchemaCollapseString</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderNormalization">xmlTextReaderNormalization</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
+</dd><dt>whitespace</dt><dd><a href="html/libxml-tree.html#xmlIsBlankNode">xmlIsBlankNode</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
+</dd><dt>whitespace-separated</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathIdFunction">xmlXPathIdFunction</a><br />
+</dd><dt>whitespaces</dt><dd><a href="html/libxml-SAX.html#ignorableWhitespace">ignorableWhitespace</a><br />
+<a href="html/libxml-parser.html#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a><br />
+</dd><dt>whose</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a><br />
+</dd><dt>wierd</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
+</dd><dt>wildcard</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a><br />
+</dd><dt>wildcards</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a><br />
+</dd><dt>with_ns</dt><dd><a href="html/libxml-xpath.html#_xmlNodeSet">_xmlNodeSet</a><br />
+</dd><dt>within</dt><dd><a href="html/libxml-valid.html#_xmlValidCtxt">_xmlValidCtxt</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a><br />
+<a href="html/libxml-tree.html#xmlNewDocComment">xmlNewDocComment</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
-</dd><dt>xmlEntitiesTablePtr</dt><dd><a href="html/libxml-entities.html#xmlCopyEntitiesTable">xmlCopyEntitiesTable</a><br />
-<a href="html/libxml-entities.html#xmlCreateEntitiesTable">xmlCreateEntitiesTable</a><br />
-</dd><dt>xmlEntityPtr</dt><dd><a href="html/libxml-SAX.html#getEntity">getEntity</a><br />
-<a href="html/libxml-parser.html#getEntitySAXFunc">getEntitySAXFunc</a><br />
-<a href="html/libxml-SAX.html#getParameterEntity">getParameterEntity</a><br />
-<a href="html/libxml-parser.html#getParameterEntitySAXFunc">getParameterEntitySAXFunc</a><br />
-<a href="html/libxml-parserInternals.html#xmlNewEntityInputStream">xmlNewEntityInputStream</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetEntity">xmlSAX2GetEntity</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2GetParameterEntity">xmlSAX2GetParameterEntity</a><br />
-</dd><dt>xmlEnumerationPtr</dt><dd><a href="html/libxml-valid.html#xmlCopyEnumeration">xmlCopyEnumeration</a><br />
-<a href="html/libxml-valid.html#xmlCreateEnumeration">xmlCreateEnumeration</a><br />
-</dd><dt>xmlExternalEntityLoader</dt><dd><a href="html/libxml-parser.html#xmlGetExternalEntityLoader">xmlGetExternalEntityLoader</a><br />
-</dd><dt>xmlFileOpen_real</dt><dd><a href="html/libxml-xmlIO.html#xmlFileOpen">xmlFileOpen</a><br />
-</dd><dt>xmlFree</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
-<a href="html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a><br />
-<a href="html/libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a><br />
-<a href="html/libxml-tree.html#xmlDocDumpMemory">xmlDocDumpMemory</a><br />
-<a href="html/libxml-tree.html#xmlDocDumpMemoryEnc">xmlDocDumpMemoryEnc</a><br />
-<a href="html/libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a><br />
-<a href="html/libxml-tree.html#xmlGetNsProp">xmlGetNsProp</a><br />
-<a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
+<a href="html/libxml-tree.html#xmlNewDocRawNode">xmlNewDocRawNode</a><br />
+<a href="html/libxml-tree.html#xmlNewDocText">xmlNewDocText</a><br />
 <a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetContent">xmlNodeGetContent</a><br />
-<a href="html/libxml-tree.html#xmlNodeGetLang">xmlNodeGetLang</a><br />
-<a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
-<a href="html/libxml-tree.html#xmlNodeListGetString">xmlNodeListGetString</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderValue">xmlTextReaderValue</a><br />
-</dd><dt>xmlFreeDoc</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
-</dd><dt>xmlFreeMutex</dt><dd><a href="html/libxml-threads.html#xmlFreeMutex">xmlFreeMutex</a><br />
-</dd><dt>xmlGetGlobalState</dt><dd><a href="html/libxml-threads.html#xmlGetGlobalState">xmlGetGlobalState</a><br />
-</dd><dt>xmlGetNoNsProp</dt><dd><a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
-</dd><dt>xmlGetNsProp</dt><dd><a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
-</dd><dt>xmlGetProp</dt><dd><a href="html/libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a><br />
-</dd><dt>xmlGetThreadId</dt><dd><a href="html/libxml-threads.html#xmlGetThreadId">xmlGetThreadId</a><br />
-</dd><dt>xmlHashTablePtr</dt><dd><a href="html/libxml-hash.html#xmlHashCreate">xmlHashCreate</a><br />
-</dd><dt>xmlIDPtr</dt><dd><a href="html/libxml-valid.html#xmlAddID">xmlAddID</a><br />
-</dd><dt>xmlIndentTreeOutput</dt><dd><a href="html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a><br />
-<a href="html/libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a><br />
-<a href="html/libxml-tree.html#xmlDocFormatDump">xmlDocFormatDump</a><br />
-<a href="html/libxml-tree.html#xmlNodeDump">xmlNodeDump</a><br />
-<a href="html/libxml-tree.html#xmlNodeDumpOutput">xmlNodeDumpOutput</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a><br />
-</dd><dt>xmlInitParser</dt><dd><a href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br />
-</dd><dt>xmlInitThreads</dt><dd><a href="html/libxml-threads.html#xmlInitThreads">xmlInitThreads</a><br />
-</dd><dt>xmlInitializeCatalog</dt><dd><a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
-</dd><dt>xmlInitializeGlobalState</dt><dd><a href="html/libxml-globals.html#xmlInitializeGlobalState">xmlInitializeGlobalState</a><br />
-</dd><dt>xmlInputCloseCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
-</dd><dt>xmlInputMatchCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
-</dd><dt>xmlInputOpenCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
-</dd><dt>xmlInputReadCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
-</dd><dt>xmlIsBaseCharQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsBaseChar">xmlIsBaseChar</a><br />
-</dd><dt>xmlIsBaseChar_ch</dt><dd><a href="html/libxml-chvalid.html#xmlIsBaseChar">xmlIsBaseChar</a><br />
-</dd><dt>xmlIsBlankNode</dt><dd><a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-</dd><dt>xmlIsBlankQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsBlank">xmlIsBlank</a><br />
-</dd><dt>xmlIsBlank_ch</dt><dd><a href="html/libxml-chvalid.html#xmlIsBlank">xmlIsBlank</a><br />
-</dd><dt>xmlIsCharQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsChar">xmlIsChar</a><br />
-</dd><dt>xmlIsChar_ch</dt><dd><a href="html/libxml-chvalid.html#xmlIsChar">xmlIsChar</a><br />
-</dd><dt>xmlIsCombiningQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsCombining">xmlIsCombining</a><br />
-</dd><dt>xmlIsDigitQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsDigit">xmlIsDigit</a><br />
-</dd><dt>xmlIsDigit_ch</dt><dd><a href="html/libxml-chvalid.html#xmlIsDigit">xmlIsDigit</a><br />
-</dd><dt>xmlIsExtenderQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsExtender">xmlIsExtender</a><br />
-</dd><dt>xmlIsExtender_ch</dt><dd><a href="html/libxml-chvalid.html#xmlIsExtender">xmlIsExtender</a><br />
-</dd><dt>xmlIsIdeographicQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsIdeographic">xmlIsIdeographic</a><br />
-</dd><dt>xmlIsMainThread</dt><dd><a href="html/libxml-threads.html#xmlIsMainThread">xmlIsMainThread</a><br />
-</dd><dt>xmlIsPubidCharQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsPubidChar">xmlIsPubidChar</a><br />
-</dd><dt>xmlIsPubidChar_ch</dt><dd><a href="html/libxml-chvalid.html#xmlIsPubidChar">xmlIsPubidChar</a><br />
-</dd><dt>xmlKeepBlanksDefault</dt><dd><a href="html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a><br />
-<a href="html/libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a><br />
-<a href="html/libxml-tree.html#xmlDocFormatDump">xmlDocFormatDump</a><br />
-<a href="html/libxml-tree.html#xmlNodeDump">xmlNodeDump</a><br />
-<a href="html/libxml-tree.html#xmlNodeDumpOutput">xmlNodeDumpOutput</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a><br />
-<a href="html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a><br />
-</dd><dt>xmlLineNumbersDefault</dt><dd><a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br />
-</dd><dt>xmlListWalk</dt><dd><a href="html/libxml-list.html#xmlListWalker">xmlListWalker</a><br />
-</dd><dt>xmlLoadExtDtdDefaultValue</dt><dd><a href="html/libxml-parser.html#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a><br />
-<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 />
-</dd><dt>xmlLocationSetPtr</dt><dd><a href="html/libxml-xpointer.html#xmlXPtrFreeLocationSet">xmlXPtrFreeLocationSet</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetCreate">xmlXPtrLocationSetCreate</a><br />
-</dd><dt>xmlLockLibrary</dt><dd><a href="html/libxml-threads.html#xmlLockLibrary">xmlLockLibrary</a><br />
-</dd><dt>xmlMutexLock</dt><dd><a href="html/libxml-threads.html#xmlMutexLock">xmlMutexLock</a><br />
-</dd><dt>xmlMutexUnlock</dt><dd><a href="html/libxml-threads.html#xmlMutexUnlock">xmlMutexUnlock</a><br />
-</dd><dt>xmlNanoFTPGet</dt><dd><a href="html/libxml-nanoftp.html#ftpDataCallback">ftpDataCallback</a><br />
-</dd><dt>xmlNanoFTPList</dt><dd><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
-</dd><dt>xmlNewChild</dt><dd><a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-</dd><dt>xmlNewDocRawNode</dt><dd><a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
-<a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
-</dd><dt>xmlNewMutex</dt><dd><a href="html/libxml-threads.html#xmlNewMutex">xmlNewMutex</a><br />
-</dd><dt>xmlNewNode</dt><dd><a href="html/libxml-tree.html#xmlNewNodeEatName">xmlNewNodeEatName</a><br />
-</dd><dt>xmlNewTextChild</dt><dd><a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
-<a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
-</dd><dt>xmlNewTextWriter</dt><dd><a href="html/libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterFilename">xmlNewTextWriterFilename</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a><br />
-</dd><dt>xmlNodeListGetString</dt><dd><a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
-</dd><dt>xmlNodePtr</dt><dd><a href="html/libxml-tree.html#xmlCopyNode">xmlCopyNode</a><br />
-<a href="html/libxml-tree.html#xmlCopyNodeList">xmlCopyNodeList</a><br />
-<a href="html/libxml-tree.html#xmlDocCopyNode">xmlDocCopyNode</a><br />
-<a href="html/libxml-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderPreserve">xmlTextReaderPreserve</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAdd">xmlXPathNodeSetAdd</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetCreate">xmlXPathNodeSetCreate</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetDel">xmlXPathNodeSetDel</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a><br />
-</dd><dt>xmlNodeSetPtr</dt><dd><a href="html/libxml-xpath.html#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNodeSetCreate">xmlXPathNodeSetCreate</a><br />
-</dd><dt>xmlNodeType</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a><br />
-</dd><dt>xmlNotationPtr</dt><dd><a href="html/libxml-valid.html#xmlGetDtdNotationDesc">xmlGetDtdNotationDesc</a><br />
-</dd><dt>xmlNotationTablePtr</dt><dd><a href="html/libxml-valid.html#xmlCopyNotationTable">xmlCopyNotationTable</a><br />
-</dd><dt>xmlNsPtr</dt><dd><a href="html/libxml-SAX.html#getNamespace">getNamespace</a><br />
-<a href="html/libxml-tree.html#xmlCopyNamespace">xmlCopyNamespace</a><br />
-<a href="html/libxml-tree.html#xmlCopyNamespaceList">xmlCopyNamespaceList</a><br />
-<a href="html/libxml-tree.html#xmlGetNsList">xmlGetNsList</a><br />
-</dd><dt>xmlOutputBufferPtr</dt><dd><a href="html/libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a><br />
-</dd><dt>xmlOutputCloseCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
-</dd><dt>xmlOutputMatchCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
-</dd><dt>xmlOutputOpenCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
-</dd><dt>xmlOutputWriteCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
-</dd><dt>xmlParseAttValue</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-</dd><dt>xmlParseChunk</dt><dd><a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
-</dd><dt>xmlParseElementContentDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
-</dd><dt>xmlParseElementDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
-</dd><dt>xmlParseExternalID</dt><dd><a href="html/libxml-parserInternals.html#xmlParseNotationDecl">xmlParseNotationDecl</a><br />
-</dd><dt>xmlParseFile</dt><dd><a href="html/libxml-catalog.html#xmlParseCatalogFile">xmlParseCatalogFile</a><br />
-</dd><dt>xmlParseNamespace:</dt><dd><a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
-</dd><dt>xmlParseURI</dt><dd><a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-</dd><dt>xmlParserCtxtPtr</dt><dd><a href="html/libxml-parser.html#xmlNewParserCtxt">xmlNewParserCtxt</a><br />
-<a href="html/libxml-xmlwriter.html#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a><br />
-</dd><dt>xmlParserError</dt><dd><a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
-</dd><dt>xmlParserErrors</dt><dd><a href="html/libxml-DOCBparser.html#docbParseChunk">docbParseChunk</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseChunk">htmlParseChunk</a><br />
-<a href="html/libxml-parser.html#xmlParseChunk">xmlParseChunk</a><br />
-</dd><dt>xmlParserFindNodeInfoIndex</dt><dd><a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
-</dd><dt>xmlParserHandleReference</dt><dd><a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
-</dd><dt>xmlParserInputBufferPtr</dt><dd><a href="html/libxml-xmlreader.html#xmlNewTextReader">xmlNewTextReader</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
-</dd><dt>xmlParserInputPtr</dt><dd><a href="html/libxml-SAX.html#resolveEntity">resolveEntity</a><br />
-<a href="html/libxml-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a><br />
-<a href="html/libxml-parserInternals.html#xmlFreeInputStream">xmlFreeInputStream</a><br />
-<a href="html/libxml-parser.html#xmlLoadExternalEntity">xmlLoadExternalEntity</a><br />
-<a href="html/libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseCharData">xmlParseCharData</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br />
+<a href="html/libxml-parser.html#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
+<a href="html/libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a><br />
+<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
 <a href="html/libxml-xmlerror.html#xmlParserPrintFileContext">xmlParserPrintFileContext</a><br />
-<a href="html/libxml-xmlerror.html#xmlParserPrintFileInfo">xmlParserPrintFileInfo</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
-</dd><dt>xmlParserNodeInfo</dt><dd><a href="html/libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a><br />
-</dd><dt>xmlParserProperties</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetParserProp">xmlTextReaderGetParserProp</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
-</dd><dt>xmlPattern</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a><br />
-</dd><dt>xmlPopInput:</dt><dd><a href="html/libxml-parserInternals.html#xmlPopInput">xmlPopInput</a><br />
-</dd><dt>xmlPushInput:</dt><dd><a href="html/libxml-parserInternals.html#xmlPushInput">xmlPushInput</a><br />
-</dd><dt>xmlRFreeMutex</dt><dd><a href="html/libxml-threads.html#xmlFreeRMutex">xmlFreeRMutex</a><br />
-</dd><dt>xmlRMutexLock</dt><dd><a href="html/libxml-threads.html#xmlRMutexLock">xmlRMutexLock</a><br />
-</dd><dt>xmlRMutexUnlock</dt><dd><a href="html/libxml-threads.html#xmlRMutexUnlock">xmlRMutexUnlock</a><br />
-</dd><dt>xmlRNewMutex</dt><dd><a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
-</dd><dt>xmlReader</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a><br />
-</dd><dt>xmlRefPtr</dt><dd><a href="html/libxml-valid.html#xmlAddRef">xmlAddRef</a><br />
-</dd><dt>xmlRelaxNGParserFlag</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a><br />
-</dd><dt>xmlRelaxNGValidatePushElement</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a><br />
-</dd><dt>xmlSAX2Attribute</dt><dd><a href="html/libxml-SAX.html#attribute">attribute</a><br />
-</dd><dt>xmlSAX2AttributeDecl</dt><dd><a href="html/libxml-SAX.html#attributeDecl">attributeDecl</a><br />
-</dd><dt>xmlSAX2CDataBlock</dt><dd><a href="html/libxml-SAX.html#cdataBlock">cdataBlock</a><br />
-</dd><dt>xmlSAX2Characters</dt><dd><a href="html/libxml-SAX.html#characters">characters</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a><br />
-</dd><dt>xmlSAX2Comment</dt><dd><a href="html/libxml-SAX.html#comment">comment</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a><br />
-</dd><dt>xmlSAX2ElementDecl</dt><dd><a href="html/libxml-SAX.html#elementDecl">elementDecl</a><br />
-</dd><dt>xmlSAX2EndDocument</dt><dd><a href="html/libxml-SAX.html#endDocument">endDocument</a><br />
-</dd><dt>xmlSAX2EndElement</dt><dd><a href="html/libxml-SAX.html#endElement">endElement</a><br />
-</dd><dt>xmlSAX2EntityDecl</dt><dd><a href="html/libxml-SAX.html#entityDecl">entityDecl</a><br />
-</dd><dt>xmlSAX2ExternalSubset</dt><dd><a href="html/libxml-SAX.html#externalSubset">externalSubset</a><br />
-</dd><dt>xmlSAX2GetColumnNumber</dt><dd><a href="html/libxml-SAX.html#getColumnNumber">getColumnNumber</a><br />
-</dd><dt>xmlSAX2GetEntity</dt><dd><a href="html/libxml-SAX.html#getEntity">getEntity</a><br />
-</dd><dt>xmlSAX2GetLineNumber</dt><dd><a href="html/libxml-SAX.html#getLineNumber">getLineNumber</a><br />
-</dd><dt>xmlSAX2GetParameterEntity</dt><dd><a href="html/libxml-SAX.html#getParameterEntity">getParameterEntity</a><br />
-</dd><dt>xmlSAX2GetPublicId</dt><dd><a href="html/libxml-SAX.html#getPublicId">getPublicId</a><br />
-</dd><dt>xmlSAX2GetSystemId</dt><dd><a href="html/libxml-SAX.html#getSystemId">getSystemId</a><br />
-</dd><dt>xmlSAX2HasExternalSubset</dt><dd><a href="html/libxml-SAX.html#hasExternalSubset">hasExternalSubset</a><br />
-</dd><dt>xmlSAX2HasInternalSubset</dt><dd><a href="html/libxml-SAX.html#hasInternalSubset">hasInternalSubset</a><br />
-</dd><dt>xmlSAX2IgnorableWhitespace</dt><dd><a href="html/libxml-SAX.html#ignorableWhitespace">ignorableWhitespace</a><br />
-<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
-</dd><dt>xmlSAX2InitDefaultSAXHandler</dt><dd><a href="html/libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br />
-</dd><dt>xmlSAX2InitDocbDefaultSAXHandler</dt><dd><a href="html/libxml-SAX.html#initdocbDefaultSAXHandler">initdocbDefaultSAXHandler</a><br />
-</dd><dt>xmlSAX2InitHtmlDefaultSAXHandler</dt><dd><a href="html/libxml-SAX.html#inithtmlDefaultSAXHandler">inithtmlDefaultSAXHandler</a><br />
-</dd><dt>xmlSAX2InternalSubset</dt><dd><a href="html/libxml-SAX.html#internalSubset">internalSubset</a><br />
-</dd><dt>xmlSAX2IsStandalone</dt><dd><a href="html/libxml-SAX.html#isStandalone">isStandalone</a><br />
-</dd><dt>xmlSAX2NotationDecl</dt><dd><a href="html/libxml-SAX.html#notationDecl">notationDecl</a><br />
-</dd><dt>xmlSAX2ProcessingInstruction</dt><dd><a href="html/libxml-SAX.html#processingInstruction">processingInstruction</a><br />
-</dd><dt>xmlSAX2Reference</dt><dd><a href="html/libxml-SAX.html#reference">reference</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2Reference">xmlSAX2Reference</a><br />
-</dd><dt>xmlSAX2ResolveEntity</dt><dd><a href="html/libxml-SAX.html#resolveEntity">resolveEntity</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
-</dd><dt>xmlSAX2StartDocument</dt><dd><a href="html/libxml-SAX.html#startDocument">startDocument</a><br />
-</dd><dt>xmlSAX2StartElement</dt><dd><a href="html/libxml-SAX.html#startElement">startElement</a><br />
-</dd><dt>xmlSAX2UnparsedEntityDecl</dt><dd><a href="html/libxml-SAX.html#unparsedEntityDecl">unparsedEntityDecl</a><br />
-</dd><dt>xmlSAXVersion</dt><dd><a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br />
-</dd><dt>xmlSaveOptions</dt><dd><a href="html/libxml-xmlsave.html#xmlSaveToFd">xmlSaveToFd</a><br />
-<a href="html/libxml-xmlsave.html#xmlSaveToFilename">xmlSaveToFilename</a><br />
+<a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
+<a href="html/libxml-parser.html#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a><br />
+<a href="html/libxml-parser.html#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a><br />
+<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a><br />
+<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteBase64">xmlTextWriterWriteBase64</a><br />
+<a href="html/libxml-xmlwriter.html#xmlTextWriterWriteBinHex">xmlTextWriterWriteBinHex</a><br />
+<a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathIntersection">xmlXPathIntersection</a><br />
+</dd><dt>without</dt><dd><a href="html/libxml-entities.html#_xmlEntity">_xmlEntity</a><br />
+<a href="html/libxml-SAX.html#entityDecl">entityDecl</a><br />
+<a href="html/libxml-parser.html#entityDeclSAXFunc">entityDeclSAXFunc</a><br />
+<a href="html/libxml-HTMLtree.html#htmlNewDocNoDtD">htmlNewDocNoDtD</a><br />
+<a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
+<a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
+<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2EntityDecl">xmlSAX2EntityDecl</a><br />
+<a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
+<a href="html/libxml-valid.html#xmlValidateOneAttribute">xmlValidateOneAttribute</a><br />
+<a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
+</dd><dt>won</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
+<a href="html/libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</a><br />
+<a href="html/libxml-catalog.html#xmlLoadSGMLSuperCatalog">xmlLoadSGMLSuperCatalog</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
+</dd><dt>word</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
+</dd><dt>words</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a><br />
+</dd><dt>work</dt><dd><a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
+<a href="html/libxml-tree.html#xmlRemoveProp">xmlRemoveProp</a><br />
+<a href="html/libxml-parser.html#xmlSAXParseDoc">xmlSAXParseDoc</a><br />
+<a href="html/libxml-parser.html#xmlSAXParseFile">xmlSAXParseFile</a><br />
+<a href="html/libxml-parser.html#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a><br />
+<a href="html/libxml-parser.html#xmlSAXParseMemory">xmlSAXParseMemory</a><br />
+<a href="html/libxml-parser.html#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a><br />
+</dd><dt>worked</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPCwd">xmlNanoFTPCwd</a><br />
+<a href="html/libxml-nanoftp.html#xmlNanoFTPDele">xmlNanoFTPDele</a><br />
+</dd><dt>works</dt><dd><a href="html/libxml-debugXML.html#xmlShellDu">xmlShellDu</a><br />
+</dd><dt>worry</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a><br />
+</dd><dt>worthwhile</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
+</dd><dt>would</dt><dd><a href="html/libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
+</dd><dt>write</dt><dd><a href="html/libxml-xmlIO.html#xmlFileRead">xmlFileRead</a><br />
+<a href="html/libxml-encoding.html#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a><br />
+<a href="html/libxml-encoding.html#xmlGetCharEncodingHandler">xmlGetCharEncodingHandler</a><br />
+<a href="html/libxml-xmlIO.html#xmlIOFTPRead">xmlIOFTPRead</a><br />
+<a href="html/libxml-xmlIO.html#xmlIOHTTPRead">xmlIOHTTPRead</a><br />
+<a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
+<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a><br />
+<a href="html/libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a><br />
 <a href="html/libxml-xmlsave.html#xmlSaveToIO">xmlSaveToIO</a><br />
-</dd><dt>xmlSetExternalEntityLoader</dt><dd><a href="html/libxml-SAX.html#resolveEntity">resolveEntity</a><br />
-<a href="html/libxml-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a><br />
-<a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
-</dd><dt>xmlSnprintfElementContent</dt><dd><a href="html/libxml-valid.html#xmlSprintfElementContent">xmlSprintfElementContent</a><br />
-</dd><dt>xmlStrEqual</dt><dd><a href="html/libxml-xmlstring.html#xmlStrEqual">xmlStrEqual</a><br />
-</dd><dt>xmlStrdup</dt><dd><a href="html/libxml-tree.html#xmlNewNode">xmlNewNode</a><br />
-</dd><dt>xmlStringDecodeEntities</dt><dd><a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
-</dd><dt>xmlStringGetNodeList</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
-</dd><dt>xmlStrncat</dt><dd><a href="html/libxml-xmlstring.html#xmlStrncatNew">xmlStrncatNew</a><br />
-</dd><dt>xmlStrncmp</dt><dd><a href="html/libxml-xmlstring.html#xmlUTF8Charcmp">xmlUTF8Charcmp</a><br />
-</dd><dt>xmlTextReader</dt><dd><a href="html/libxml-xmlreader.html#xmlNewTextReader">xmlNewTextReader</a><br />
-<a href="html/libxml-xmlreader.html#xmlNewTextReaderFilename">xmlNewTextReaderFilename</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewDoc">xmlReaderNewDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewFd">xmlReaderNewFd</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewFile">xmlReaderNewFile</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewIO">xmlReaderNewIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewMemory">xmlReaderNewMemory</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewWalker">xmlReaderNewWalker</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
-</dd><dt>xmlTextReaderCurrentDoc</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderPreserve">xmlTextReaderPreserve</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a><br />
-</dd><dt>xmlTextReaderLocatorPtr</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderLocatorBaseURI">xmlTextReaderLocatorBaseURI</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderLocatorLineNumber">xmlTextReaderLocatorLineNumber</a><br />
-</dd><dt>xmlTextReaderRead</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderExpand">xmlTextReaderExpand</a><br />
-</dd><dt>xmlTextWriterStartDTDEntity</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDExternalEntity">xmlTextWriterWriteDTDExternalEntity</a><br />
-</dd><dt>xmlTextWriterWriteDTD</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a><br />
-</dd><dt>xmlTextWriterWritePI</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a><br />
-</dd><dt>xmlURI</dt><dd><a href="html/libxml-uri.html#xmlCreateURI">xmlCreateURI</a><br />
-<a href="html/libxml-uri.html#xmlFreeURI">xmlFreeURI</a><br />
-<a href="html/libxml-uri.html#xmlPrintURI">xmlPrintURI</a><br />
-<a href="html/libxml-uri.html#xmlSaveUri">xmlSaveUri</a><br />
-</dd><dt>xmlURIEscapeStr</dt><dd><a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
-</dd><dt>xmlURIFromPath</dt><dd><a href="html/libxml-xmlIO.html#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a><br />
-</dd><dt>xmlURIPtr</dt><dd><a href="html/libxml-uri.html#xmlParseURI">xmlParseURI</a><br />
-</dd><dt>xmlUnlinkNode</dt><dd><a href="html/libxml-tree.html#xmlFreeNode">xmlFreeNode</a><br />
-</dd><dt>xmlUnlockLibrary</dt><dd><a href="html/libxml-threads.html#xmlUnlockLibrary">xmlUnlockLibrary</a><br />
-</dd><dt>xmlValidCtxtPtr</dt><dd><a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
-<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
-</dd><dt>xmlValidGetValidElements</dt><dd><a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>xmlValidateAttributeDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
-</dd><dt>xmlValidateAttributeValue</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
-</dd><dt>xmlValidateOneAttribute</dt><dd><a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-</dd><dt>xmlWriter</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a><br />
-</dd><dt>xmlXPathCheckError</dt><dd><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 />
-<a href="html/libxml-xpathInternals.html#xmlXPathPopNumber">xmlXPathPopNumber</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathPopString">xmlXPathPopString</a><br />
-</dd><dt>xmlXPathCompExprPtr</dt><dd><a href="html/libxml-xpath.html#xmlXPathCompile">xmlXPathCompile</a><br />
-<a href="html/libxml-xpath.html#xmlXPathCtxtCompile">xmlXPathCtxtCompile</a><br />
-</dd><dt>xmlXPathContext</dt><dd><a href="html/libxml-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a><br />
-<a href="html/libxml-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</a><br />
-</dd><dt>xmlXPathError</dt><dd><a href="">err</a><br />
-</dd><dt>xmlXPathEvalPredicate</dt><dd><a href="html/libxml-xpointer.html#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a><br />
-</dd><dt>xmlXPathFreeObject</dt><dd><a href="html/libxml-xpath.html#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a><br />
-</dd><dt>xmlXPathFunction</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookup">xmlXPathFunctionLookup</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</a><br />
-</dd><dt>xmlXPathNodeTrailingSorted</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a><br />
-</dd><dt>xmlXPathObjectPtr</dt><dd><a href="html/libxml-xpath.html#xmlXPathCompiledEval">xmlXPathCompiledEval</a><br />
-<a href="html/libxml-xpath.html#xmlXPathEval">xmlXPathEval</a><br />
-<a href="html/libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a><br />
-<a href="html/libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewBoolean">xmlXPathNewBoolean</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewCString">xmlXPathNewCString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewFloat">xmlXPathNewFloat</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewNodeSet">xmlXPathNewNodeSet</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewNodeSetList">xmlXPathNewNodeSetList</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewString">xmlXPathNewString</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewValueTree">xmlXPathNewValueTree</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathWrapNodeSet">xmlXPathWrapNodeSet</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrEval">xmlXPtrEval</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetAdd">xmlXPtrLocationSetAdd</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetCreate">xmlXPtrLocationSetCreate</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrLocationSetDel">xmlXPtrLocationSetDel</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewCollapsedRange">xmlXPtrNewCollapsedRange</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewLocationSetNodeSet">xmlXPtrNewLocationSetNodeSet</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewLocationSetNodes">xmlXPtrNewLocationSetNodes</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewRange">xmlXPtrNewRange</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewRangeNodeObject">xmlXPtrNewRangeNodeObject</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewRangeNodePoint">xmlXPtrNewRangeNodePoint</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewRangeNodes">xmlXPtrNewRangeNodes</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewRangePointNode">xmlXPtrNewRangePointNode</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrNewRangePoints">xmlXPtrNewRangePoints</a><br />
-<a href="html/libxml-xpointer.html#xmlXPtrWrapLocationSet">xmlXPtrWrapLocationSet</a><br />
-</dd><dt>xmlXPathParserContext</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathFreeParserContext">xmlXPathFreeParserContext</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathNewParserContext">xmlXPathNewParserContext</a><br />
-</dd><dt>xmlXPathTrailingSorted</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathTrailing">xmlXPathTrailing</a><br />
-</dd><dt>xmlns</dt><dd><a href="html/libxml-parserInternals.html#xmlNamespaceParseNSDef">xmlNamespaceParseNSDef</a><br />
-</dd><dt>xmlns:???</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-</dd><dt>xmltextReader</dt><dd><a href="html/libxml-xmlreader.html#xmlReaderForDoc">xmlReaderForDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForFd">xmlReaderForFd</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForIO">xmlReaderForIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForMemory">xmlReaderForMemory</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewDoc">xmlReaderNewDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewFd">xmlReaderNewFd</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewIO">xmlReaderNewIO</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewMemory">xmlReaderNewMemory</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewWalker">xmlReaderNewWalker</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderWalker">xmlReaderWalker</a><br />
-</dd><dt>xpath</dt><dd><a href="html/libxml-debugXML.html#xmlShellPrintXPathError">xmlShellPrintXPathError</a><br />
-<a href="html/libxml-debugXML.html#xmlShellPrintXPathResult">xmlShellPrintXPathResult</a><br />
-</dd><dt>xpointer</dt><dd><a href="html/libxml-xinclude.html#XINCLUDE_PARSE_XPOINTER">XINCLUDE_PARSE_XPOINTER</a><br />
+<a href="html/libxml-debugXML.html#xmlShellWrite">xmlShellWrite</a><br />
+</dd><dt>writer</dt><dd><a href="html/libxml-xmlwriter.html#xmlFreeTextWriter">xmlFreeTextWriter</a><br />
+</dd><dt>writes</dt><dd><a href="html/libxml-tree.html#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a><br />
+<a href="html/libxml-xmlIO.html#xmlOutputBufferWrite">xmlOutputBufferWrite</a><br />
+<a href="html/libxml-xmlIO.html#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</a><br />
+<a href="html/libxml-xmlIO.html#xmlOutputBufferWriteString">xmlOutputBufferWriteString</a><br />
+</dd><dt>writing</dt><dd><a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />
+</dd><dt>www</dt><dd><a href="html/libxml-xinclude.html#XINCLUDE_NS">XINCLUDE_NS</a><br />
+<a href="html/libxml-xinclude.html#XINCLUDE_OLD_NS">XINCLUDE_OLD_NS</a><br />
+<a href="html/libxml-SAX.html#getSystemId">getSystemId</a><br />
+<a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
+<a href="html/libxml-c14n.html#xmlC14NDocSave">xmlC14NDocSave</a><br />
+<a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br />
+<a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
+<a href="html/libxml-encoding.html#xmlGetCharEncodingName">xmlGetCharEncodingName</a><br />
+<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
+<a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2GetSystemId">xmlSAX2GetSystemId</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a><br />
 </dd></dl><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -487,7 +276,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk26.html b/doc/APIchunk26.html
index fdd4f92..58438e9 100644
--- a/doc/APIchunk26.html
+++ b/doc/APIchunk26.html
@@ -7,13 +7,13 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index y-z for 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>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index y-z for 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>Developer 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 href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</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"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index x-x for 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>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index x-x for 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>Developer 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 href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</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"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,64 +31,446 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
-</h2><h2>Letter y:</h2><dl><dt>year</dt><dd><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
-</dd><dt>yes</dt><dd><a href="html/libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a><br />
-<a href="html/libxml-tree.html#xmlIsBlankNode">xmlIsBlankNode</a><br />
-<a href="html/libxml-valid.html#xmlIsMixedElement">xmlIsMixedElement</a><br />
-<a href="html/libxml-tree.html#xmlNodeIsText">xmlNodeIsText</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
-<a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseSDDecl">xmlParseSDDecl</a><br />
-<a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
-<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 />
-<a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
-</dd></dl><h2>Letter z:</h2><dl><dt>zero</dt><dd><a href="html/libxml-DOCBparser.html#docbEncodeEntities">docbEncodeEntities</a><br />
-<a href="html/libxml-DOCBparser.html#docbParseChunk">docbParseChunk</a><br />
-<a href="html/libxml-HTMLparser.html#htmlCtxtReadDoc">htmlCtxtReadDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlEncodeEntities">htmlEncodeEntities</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseChunk">htmlParseChunk</a><br />
-<a href="html/libxml-HTMLparser.html#htmlReadDoc">htmlReadDoc</a><br />
-<a href="html/libxml-tree.html#xmlBufferCCat">xmlBufferCCat</a><br />
-<a href="html/libxml-tree.html#xmlBufferCat">xmlBufferCat</a><br />
-<a href="html/libxml-parser.html#xmlByteConsumed">xmlByteConsumed</a><br />
-<a href="html/libxml-tree.html#xmlCopyDoc">xmlCopyDoc</a><br />
-<a href="html/libxml-parser.html#xmlCtxtReadDoc">xmlCtxtReadDoc</a><br />
-<a href="html/libxml-tree.html#xmlDocDumpMemory">xmlDocDumpMemory</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferWriteString">xmlOutputBufferWriteString</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a><br />
-<a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
-<a href="html/libxml-parser.html#xmlParseChunk">xmlParseChunk</a><br />
-<a href="html/libxml-parser.html#xmlReadDoc">xmlReadDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderForDoc">xmlReaderForDoc</a><br />
-<a href="html/libxml-xmlreader.html#xmlReaderNewDoc">xmlReaderNewDoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrsub">xmlStrsub</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>zero-based</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetAttributeNo">xmlTextReaderGetAttributeNo</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderMoveToAttributeNo">xmlTextReaderMoveToAttributeNo</a><br />
-</dd><dt>zeros</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
-</dd><dt>zlib</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
+</h2><h2>Letter x:</h2><dl><dt>x00B7</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x02D0</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x02D1</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x0387</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x0640</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x0E46</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x0EC6</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x10000-</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
+</dd><dt>x10FFFF</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
+</dd><dt>x20</dt><dd><a href="html/libxml-parserInternals.html#IS_BLANK">IS_BLANK</a><br />
+<a href="html/libxml-parserInternals.html#IS_BYTE_CHAR">IS_BYTE_CHAR</a><br />
+<a href="html/libxml-parserInternals.html#IS_PUBIDCHAR">IS_PUBIDCHAR</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
+<a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
+<a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
+</dd><dt>x20-</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
+</dd><dt>x3005</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x3007</dt><dd><a href="html/libxml-parserInternals.html#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a><br />
+</dd><dt>x3021-</dt><dd><a href="html/libxml-parserInternals.html#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a><br />
+</dd><dt>x3029</dt><dd><a href="html/libxml-parserInternals.html#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a><br />
+</dd><dt>x3031-</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x3035</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x309D-</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x309E</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x30FC-</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x30FE</dt><dd><a href="html/libxml-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a><br />
+</dd><dt>x4E00-</dt><dd><a href="html/libxml-parserInternals.html#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a><br />
+</dd><dt>x9FA5</dt><dd><a href="html/libxml-parserInternals.html#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a><br />
+</dd><dt>xD7FF</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
+</dd><dt>xE000-</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
+</dd><dt>xFFFD</dt><dd><a href="html/libxml-parserInternals.html#IS_CHAR">IS_CHAR</a><br />
+</dd><dt>xlink</dt><dd><a href="html/libxml-xlink.html#xlinkGetDefaultDetect">xlinkGetDefaultDetect</a><br />
+<a href="html/libxml-xlink.html#xlinkGetDefaultHandler">xlinkGetDefaultHandler</a><br />
+<a href="html/libxml-xlink.html#xlinkSetDefaultDetect">xlinkSetDefaultDetect</a><br />
+<a href="html/libxml-xlink.html#xlinkSetDefaultHandler">xlinkSetDefaultHandler</a><br />
+</dd><dt>xlinkHandlerPtr</dt><dd><a href="html/libxml-xlink.html#xlinkGetDefaultHandler">xlinkGetDefaultHandler</a><br />
+</dd><dt>xlinkType</dt><dd><a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
+</dd><dt>xml-c14n</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
 <a href="html/libxml-c14n.html#xmlC14NDocSave">xmlC14NDocSave</a><br />
+<a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br />
+<a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
+</dd><dt>xml-exc-c14n</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
+<a href="html/libxml-c14n.html#xmlC14NDocSave">xmlC14NDocSave</a><br />
+<a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br />
+<a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
+</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 />
+<a href="html/libxml-tree.html#xmlNodeSetLang">xmlNodeSetLang</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathLangFunction">xmlXPathLangFunction</a><br />
+</dd><dt>xml:space</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
+<a href="html/libxml-tree.html#xmlNodeGetSpacePreserve">xmlNodeGetSpacePreserve</a><br />
+<a href="html/libxml-tree.html#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a><br />
+</dd><dt>xmlAttr</dt><dd><a href="html/libxml-SAX.html#attribute">attribute</a><br />
+<a href="html/libxml-parser.html#attributeSAXFunc">attributeSAXFunc</a><br />
+</dd><dt>xmlAttrPtr</dt><dd><a href="html/libxml-tree.html#xmlCopyProp">xmlCopyProp</a><br />
+<a href="html/libxml-tree.html#xmlCopyPropList">xmlCopyPropList</a><br />
+<a href="html/libxml-valid.html#xmlGetID">xmlGetID</a><br />
+</dd><dt>xmlAttributePtr</dt><dd><a href="html/libxml-valid.html#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a><br />
+<a href="html/libxml-valid.html#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a><br />
+</dd><dt>xmlAttributeTablePtr</dt><dd><a href="html/libxml-valid.html#xmlCopyAttributeTable">xmlCopyAttributeTable</a><br />
+</dd><dt>xmlBuffer</dt><dd><a href="html/libxml-encoding.html#xmlCharEncFirstLine">xmlCharEncFirstLine</a><br />
+<a href="html/libxml-encoding.html#xmlCharEncInFunc">xmlCharEncInFunc</a><br />
+<a href="html/libxml-encoding.html#xmlCharEncOutFunc">xmlCharEncOutFunc</a><br />
+</dd><dt>xmlBufferPtr</dt><dd><a href="html/libxml-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a><br />
+</dd><dt>xmlBuildURI</dt><dd><a href="html/libxml-uri.html#xmlBuildRelativeURI">xmlBuildRelativeURI</a><br />
+</dd><dt>xmlCatalogAllow</dt><dd><a href="html/libxml-catalog.html#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a><br />
+</dd><dt>xmlCatalogPtr</dt><dd><a href="html/libxml-catalog.html#xmlNewCatalog">xmlNewCatalog</a><br />
+</dd><dt>xmlCatalogResolvePublic</dt><dd><a href="html/libxml-catalog.html#xmlCatalogGetPublic">xmlCatalogGetPublic</a><br />
+</dd><dt>xmlCatalogResolveSystem</dt><dd><a href="html/libxml-catalog.html#xmlCatalogGetSystem">xmlCatalogGetSystem</a><br />
+</dd><dt>xmlCharEncoding</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
+<a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
+<a href="html/libxml-encoding.html#xmlGetCharEncodingHandler">xmlGetCharEncodingHandler</a><br />
+</dd><dt>xmlCharEncodingHandler</dt><dd><a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
+</dd><dt>xmlCharEncodingHandlerPtr</dt><dd><a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
+<a href="html/libxml-encoding.html#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a><br />
+</dd><dt>xmlCharEncodingInputFunc</dt><dd><a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
+</dd><dt>xmlCharEncodingOutputFunc</dt><dd><a href="html/libxml-encoding.html#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a><br />
+</dd><dt>xmlChars</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
+<a href="html/libxml-tree.html#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a><br />
+<a href="html/libxml-parser.html#xmlParserInputGrow">xmlParserInputGrow</a><br />
+<a href="html/libxml-parser.html#xmlParserInputRead">xmlParserInputRead</a><br />
+</dd><dt>xmlCleanupParser</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
+</dd><dt>xmlCleanupThreads</dt><dd><a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
+</dd><dt>xmlCreateIntSubset</dt><dd><a href="html/libxml-tree.html#xmlNewDtd">xmlNewDtd</a><br />
+</dd><dt>xmlDefaultSAXLocator</dt><dd><a href="html/libxml-SAX.html#setDocumentLocator">setDocumentLocator</a><br />
+<a href="html/libxml-parser.html#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2SetDocumentLocator">xmlSAX2SetDocumentLocator</a><br />
+</dd><dt>xmlDocPtr</dt><dd><a href="html/libxml-tree.html#xmlCopyDoc">xmlCopyDoc</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
+</dd><dt>xmlDocumentGetBase</dt><dd><a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
+</dd><dt>xmlDtdPtr</dt><dd><a href="html/libxml-tree.html#xmlCopyDtd">xmlCopyDtd</a><br />
+<a href="html/libxml-parser.html#xmlIOParseDTD">xmlIOParseDTD</a><br />
+<a href="html/libxml-parser.html#xmlParseDTD">xmlParseDTD</a><br />
+<a href="html/libxml-parser.html#xmlSAXParseDTD">xmlSAXParseDTD</a><br />
+</dd><dt>xmlElementContentPtr</dt><dd><a href="html/libxml-valid.html#xmlCopyElementContent">xmlCopyElementContent</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
+</dd><dt>xmlElementPtr</dt><dd><a href="html/libxml-valid.html#xmlGetDtdElementDesc">xmlGetDtdElementDesc</a><br />
+<a href="html/libxml-valid.html#xmlGetDtdQElementDesc">xmlGetDtdQElementDesc</a><br />
+</dd><dt>xmlElementTablePtr</dt><dd><a href="html/libxml-valid.html#xmlCopyElementTable">xmlCopyElementTable</a><br />
+</dd><dt>xmlEncodeEntities</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
+<a href="html/libxml-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a><br />
+</dd><dt>xmlEncodeEntitiesReentrant</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
+<a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
+<a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
+<a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
+</dd><dt>xmlEntitiesTablePtr</dt><dd><a href="html/libxml-entities.html#xmlCopyEntitiesTable">xmlCopyEntitiesTable</a><br />
+<a href="html/libxml-entities.html#xmlCreateEntitiesTable">xmlCreateEntitiesTable</a><br />
+</dd><dt>xmlEntityPtr</dt><dd><a href="html/libxml-SAX.html#getEntity">getEntity</a><br />
+<a href="html/libxml-parser.html#getEntitySAXFunc">getEntitySAXFunc</a><br />
+<a href="html/libxml-SAX.html#getParameterEntity">getParameterEntity</a><br />
+<a href="html/libxml-parser.html#getParameterEntitySAXFunc">getParameterEntitySAXFunc</a><br />
+<a href="html/libxml-parserInternals.html#xmlNewEntityInputStream">xmlNewEntityInputStream</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2GetEntity">xmlSAX2GetEntity</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2GetParameterEntity">xmlSAX2GetParameterEntity</a><br />
+</dd><dt>xmlEnumerationPtr</dt><dd><a href="html/libxml-valid.html#xmlCopyEnumeration">xmlCopyEnumeration</a><br />
+<a href="html/libxml-valid.html#xmlCreateEnumeration">xmlCreateEnumeration</a><br />
+</dd><dt>xmlExternalEntityLoader</dt><dd><a href="html/libxml-parser.html#xmlGetExternalEntityLoader">xmlGetExternalEntityLoader</a><br />
+</dd><dt>xmlFileOpen_real</dt><dd><a href="html/libxml-xmlIO.html#xmlFileOpen">xmlFileOpen</a><br />
+</dd><dt>xmlFree</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a><br />
+<a href="html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a><br />
+<a href="html/libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a><br />
+<a href="html/libxml-tree.html#xmlDocDumpMemory">xmlDocDumpMemory</a><br />
+<a href="html/libxml-tree.html#xmlDocDumpMemoryEnc">xmlDocDumpMemoryEnc</a><br />
+<a href="html/libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a><br />
+<a href="html/libxml-tree.html#xmlGetNsProp">xmlGetNsProp</a><br />
+<a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
+<a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
+<a href="html/libxml-tree.html#xmlNodeGetContent">xmlNodeGetContent</a><br />
+<a href="html/libxml-tree.html#xmlNodeGetLang">xmlNodeGetLang</a><br />
+<a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
+<a href="html/libxml-tree.html#xmlNodeListGetString">xmlNodeListGetString</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderValue">xmlTextReaderValue</a><br />
+</dd><dt>xmlFreeDoc</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
+</dd><dt>xmlFreeMutex</dt><dd><a href="html/libxml-threads.html#xmlFreeMutex">xmlFreeMutex</a><br />
+</dd><dt>xmlGetGlobalState</dt><dd><a href="html/libxml-threads.html#xmlGetGlobalState">xmlGetGlobalState</a><br />
+</dd><dt>xmlGetNoNsProp</dt><dd><a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
+</dd><dt>xmlGetNsProp</dt><dd><a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
+</dd><dt>xmlGetProp</dt><dd><a href="html/libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a><br />
+</dd><dt>xmlGetThreadId</dt><dd><a href="html/libxml-threads.html#xmlGetThreadId">xmlGetThreadId</a><br />
+</dd><dt>xmlHashTablePtr</dt><dd><a href="html/libxml-hash.html#xmlHashCreate">xmlHashCreate</a><br />
+</dd><dt>xmlIDPtr</dt><dd><a href="html/libxml-valid.html#xmlAddID">xmlAddID</a><br />
+</dd><dt>xmlIndentTreeOutput</dt><dd><a href="html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a><br />
+<a href="html/libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a><br />
+<a href="html/libxml-tree.html#xmlDocFormatDump">xmlDocFormatDump</a><br />
+<a href="html/libxml-tree.html#xmlNodeDump">xmlNodeDump</a><br />
+<a href="html/libxml-tree.html#xmlNodeDumpOutput">xmlNodeDumpOutput</a><br />
+<a href="html/libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a><br />
+<a href="html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a><br />
+</dd><dt>xmlInitParser</dt><dd><a href="html/libxml-parserInternals.html#htmlInitAutoClose">htmlInitAutoClose</a><br />
+</dd><dt>xmlInitThreads</dt><dd><a href="html/libxml-threads.html#xmlInitThreads">xmlInitThreads</a><br />
+</dd><dt>xmlInitializeCatalog</dt><dd><a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
+</dd><dt>xmlInitializeGlobalState</dt><dd><a href="html/libxml-globals.html#xmlInitializeGlobalState">xmlInitializeGlobalState</a><br />
+</dd><dt>xmlInputCloseCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
+</dd><dt>xmlInputMatchCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
+</dd><dt>xmlInputOpenCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
+</dd><dt>xmlInputReadCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a><br />
+</dd><dt>xmlIsBaseCharQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsBaseChar">xmlIsBaseChar</a><br />
+</dd><dt>xmlIsBaseChar_ch</dt><dd><a href="html/libxml-chvalid.html#xmlIsBaseChar">xmlIsBaseChar</a><br />
+</dd><dt>xmlIsBlankNode</dt><dd><a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
+</dd><dt>xmlIsBlankQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsBlank">xmlIsBlank</a><br />
+</dd><dt>xmlIsBlank_ch</dt><dd><a href="html/libxml-chvalid.html#xmlIsBlank">xmlIsBlank</a><br />
+</dd><dt>xmlIsCharQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsChar">xmlIsChar</a><br />
+</dd><dt>xmlIsChar_ch</dt><dd><a href="html/libxml-chvalid.html#xmlIsChar">xmlIsChar</a><br />
+</dd><dt>xmlIsCombiningQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsCombining">xmlIsCombining</a><br />
+</dd><dt>xmlIsDigitQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsDigit">xmlIsDigit</a><br />
+</dd><dt>xmlIsDigit_ch</dt><dd><a href="html/libxml-chvalid.html#xmlIsDigit">xmlIsDigit</a><br />
+</dd><dt>xmlIsExtenderQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsExtender">xmlIsExtender</a><br />
+</dd><dt>xmlIsExtender_ch</dt><dd><a href="html/libxml-chvalid.html#xmlIsExtender">xmlIsExtender</a><br />
+</dd><dt>xmlIsIdeographicQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsIdeographic">xmlIsIdeographic</a><br />
+</dd><dt>xmlIsMainThread</dt><dd><a href="html/libxml-threads.html#xmlIsMainThread">xmlIsMainThread</a><br />
+</dd><dt>xmlIsPubidCharQ</dt><dd><a href="html/libxml-chvalid.html#xmlIsPubidChar">xmlIsPubidChar</a><br />
+</dd><dt>xmlIsPubidChar_ch</dt><dd><a href="html/libxml-chvalid.html#xmlIsPubidChar">xmlIsPubidChar</a><br />
+</dd><dt>xmlKeepBlanksDefault</dt><dd><a href="html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a><br />
+<a href="html/libxml-tree.html#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a><br />
+<a href="html/libxml-tree.html#xmlDocFormatDump">xmlDocFormatDump</a><br />
+<a href="html/libxml-tree.html#xmlNodeDump">xmlNodeDump</a><br />
+<a href="html/libxml-tree.html#xmlNodeDumpOutput">xmlNodeDumpOutput</a><br />
+<a href="html/libxml-tree.html#xmlSaveFormatFile">xmlSaveFormatFile</a><br />
+<a href="html/libxml-tree.html#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a><br />
+</dd><dt>xmlLineNumbersDefault</dt><dd><a href="html/libxml-tree.html#xmlGetLineNo">xmlGetLineNo</a><br />
+</dd><dt>xmlListWalk</dt><dd><a href="html/libxml-list.html#xmlListWalker">xmlListWalker</a><br />
+</dd><dt>xmlLoadExtDtdDefaultValue</dt><dd><a href="html/libxml-parser.html#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a><br />
+<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 />
+</dd><dt>xmlLocationSetPtr</dt><dd><a href="html/libxml-xpointer.html#xmlXPtrFreeLocationSet">xmlXPtrFreeLocationSet</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrLocationSetCreate">xmlXPtrLocationSetCreate</a><br />
+</dd><dt>xmlLockLibrary</dt><dd><a href="html/libxml-threads.html#xmlLockLibrary">xmlLockLibrary</a><br />
+</dd><dt>xmlMutexLock</dt><dd><a href="html/libxml-threads.html#xmlMutexLock">xmlMutexLock</a><br />
+</dd><dt>xmlMutexUnlock</dt><dd><a href="html/libxml-threads.html#xmlMutexUnlock">xmlMutexUnlock</a><br />
+</dd><dt>xmlNanoFTPGet</dt><dd><a href="html/libxml-nanoftp.html#ftpDataCallback">ftpDataCallback</a><br />
+</dd><dt>xmlNanoFTPList</dt><dd><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
+</dd><dt>xmlNewChild</dt><dd><a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
+</dd><dt>xmlNewDocRawNode</dt><dd><a href="html/libxml-tree.html#xmlNewDocNode">xmlNewDocNode</a><br />
+<a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
+</dd><dt>xmlNewMutex</dt><dd><a href="html/libxml-threads.html#xmlNewMutex">xmlNewMutex</a><br />
+</dd><dt>xmlNewNode</dt><dd><a href="html/libxml-tree.html#xmlNewNodeEatName">xmlNewNodeEatName</a><br />
+</dd><dt>xmlNewTextChild</dt><dd><a href="html/libxml-tree.html#xmlNewChild">xmlNewChild</a><br />
+<a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
+</dd><dt>xmlNewTextWriter</dt><dd><a href="html/libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriterFilename">xmlNewTextWriterFilename</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a><br />
+</dd><dt>xmlNodeListGetString</dt><dd><a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
+</dd><dt>xmlNodePtr</dt><dd><a href="html/libxml-tree.html#xmlCopyNode">xmlCopyNode</a><br />
+<a href="html/libxml-tree.html#xmlCopyNodeList">xmlCopyNodeList</a><br />
+<a href="html/libxml-tree.html#xmlDocCopyNode">xmlDocCopyNode</a><br />
+<a href="html/libxml-tree.html#xmlDocGetRootElement">xmlDocGetRootElement</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriterTree">xmlNewTextWriterTree</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderPreserve">xmlTextReaderPreserve</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAdd">xmlXPathNodeSetAdd</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a><br />
+<a href="html/libxml-xpath.html#xmlXPathNodeSetCreate">xmlXPathNodeSetCreate</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNodeSetDel">xmlXPathNodeSetDel</a><br />
+<a href="html/libxml-xpath.html#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a><br />
+</dd><dt>xmlNodeSetPtr</dt><dd><a href="html/libxml-xpath.html#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a><br />
+<a href="html/libxml-xpath.html#xmlXPathNodeSetCreate">xmlXPathNodeSetCreate</a><br />
+</dd><dt>xmlNodeType</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a><br />
+</dd><dt>xmlNotationPtr</dt><dd><a href="html/libxml-valid.html#xmlGetDtdNotationDesc">xmlGetDtdNotationDesc</a><br />
+</dd><dt>xmlNotationTablePtr</dt><dd><a href="html/libxml-valid.html#xmlCopyNotationTable">xmlCopyNotationTable</a><br />
+</dd><dt>xmlNsPtr</dt><dd><a href="html/libxml-SAX.html#getNamespace">getNamespace</a><br />
+<a href="html/libxml-tree.html#xmlCopyNamespace">xmlCopyNamespace</a><br />
+<a href="html/libxml-tree.html#xmlCopyNamespaceList">xmlCopyNamespaceList</a><br />
+<a href="html/libxml-tree.html#xmlGetNsList">xmlGetNsList</a><br />
+</dd><dt>xmlOutputBufferPtr</dt><dd><a href="html/libxml-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a><br />
+</dd><dt>xmlOutputCloseCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
+</dd><dt>xmlOutputMatchCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
+</dd><dt>xmlOutputOpenCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
+</dd><dt>xmlOutputWriteCallback</dt><dd><a href="html/libxml-xmlIO.html#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a><br />
+</dd><dt>xmlParseAttValue</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
+</dd><dt>xmlParseChunk</dt><dd><a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
+</dd><dt>xmlParseElementContentDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a><br />
+</dd><dt>xmlParseElementDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
+</dd><dt>xmlParseExternalID</dt><dd><a href="html/libxml-parserInternals.html#xmlParseNotationDecl">xmlParseNotationDecl</a><br />
+</dd><dt>xmlParseFile</dt><dd><a href="html/libxml-catalog.html#xmlParseCatalogFile">xmlParseCatalogFile</a><br />
+</dd><dt>xmlParseNamespace:</dt><dd><a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
+</dd><dt>xmlParseURI</dt><dd><a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
+</dd><dt>xmlParserCtxtPtr</dt><dd><a href="html/libxml-parser.html#xmlNewParserCtxt">xmlNewParserCtxt</a><br />
+<a href="html/libxml-xmlwriter.html#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a><br />
+</dd><dt>xmlParserError</dt><dd><a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
+</dd><dt>xmlParserErrors</dt><dd><a href="html/libxml-DOCBparser.html#docbParseChunk">docbParseChunk</a><br />
+<a href="html/libxml-HTMLparser.html#htmlParseChunk">htmlParseChunk</a><br />
+<a href="html/libxml-parser.html#xmlParseChunk">xmlParseChunk</a><br />
+</dd><dt>xmlParserFindNodeInfoIndex</dt><dd><a href="html/libxml-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a><br />
+</dd><dt>xmlParserHandleReference</dt><dd><a href="html/libxml-parserInternals.html#xmlScanName">xmlScanName</a><br />
+</dd><dt>xmlParserInputBufferPtr</dt><dd><a href="html/libxml-xmlreader.html#xmlNewTextReader">xmlNewTextReader</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a><br />
+</dd><dt>xmlParserInputPtr</dt><dd><a href="html/libxml-SAX.html#resolveEntity">resolveEntity</a><br />
+<a href="html/libxml-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a><br />
+<a href="html/libxml-parserInternals.html#xmlFreeInputStream">xmlFreeInputStream</a><br />
+<a href="html/libxml-parser.html#xmlLoadExternalEntity">xmlLoadExternalEntity</a><br />
+<a href="html/libxml-xmlIO.html#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a><br />
+<a href="html/libxml-xmlerror.html#xmlParserPrintFileContext">xmlParserPrintFileContext</a><br />
+<a href="html/libxml-xmlerror.html#xmlParserPrintFileInfo">xmlParserPrintFileInfo</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
+</dd><dt>xmlParserNodeInfo</dt><dd><a href="html/libxml-parser.html#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a><br />
+</dd><dt>xmlParserProperties</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderGetParserProp">xmlTextReaderGetParserProp</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a><br />
+</dd><dt>xmlPattern</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a><br />
+</dd><dt>xmlPopInput:</dt><dd><a href="html/libxml-parserInternals.html#xmlPopInput">xmlPopInput</a><br />
+</dd><dt>xmlPushInput:</dt><dd><a href="html/libxml-parserInternals.html#xmlPushInput">xmlPushInput</a><br />
+</dd><dt>xmlRFreeMutex</dt><dd><a href="html/libxml-threads.html#xmlFreeRMutex">xmlFreeRMutex</a><br />
+</dd><dt>xmlRMutexLock</dt><dd><a href="html/libxml-threads.html#xmlRMutexLock">xmlRMutexLock</a><br />
+</dd><dt>xmlRMutexUnlock</dt><dd><a href="html/libxml-threads.html#xmlRMutexUnlock">xmlRMutexUnlock</a><br />
+</dd><dt>xmlRNewMutex</dt><dd><a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
+</dd><dt>xmlReader</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a><br />
+</dd><dt>xmlRefPtr</dt><dd><a href="html/libxml-valid.html#xmlAddRef">xmlAddRef</a><br />
+</dd><dt>xmlRelaxNGParserFlag</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a><br />
+</dd><dt>xmlRelaxNGValidatePushElement</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a><br />
+</dd><dt>xmlSAX2Attribute</dt><dd><a href="html/libxml-SAX.html#attribute">attribute</a><br />
+</dd><dt>xmlSAX2AttributeDecl</dt><dd><a href="html/libxml-SAX.html#attributeDecl">attributeDecl</a><br />
+</dd><dt>xmlSAX2CDataBlock</dt><dd><a href="html/libxml-SAX.html#cdataBlock">cdataBlock</a><br />
+</dd><dt>xmlSAX2Characters</dt><dd><a href="html/libxml-SAX.html#characters">characters</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a><br />
+</dd><dt>xmlSAX2Comment</dt><dd><a href="html/libxml-SAX.html#comment">comment</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a><br />
+</dd><dt>xmlSAX2ElementDecl</dt><dd><a href="html/libxml-SAX.html#elementDecl">elementDecl</a><br />
+</dd><dt>xmlSAX2EndDocument</dt><dd><a href="html/libxml-SAX.html#endDocument">endDocument</a><br />
+</dd><dt>xmlSAX2EndElement</dt><dd><a href="html/libxml-SAX.html#endElement">endElement</a><br />
+</dd><dt>xmlSAX2EntityDecl</dt><dd><a href="html/libxml-SAX.html#entityDecl">entityDecl</a><br />
+</dd><dt>xmlSAX2ExternalSubset</dt><dd><a href="html/libxml-SAX.html#externalSubset">externalSubset</a><br />
+</dd><dt>xmlSAX2GetColumnNumber</dt><dd><a href="html/libxml-SAX.html#getColumnNumber">getColumnNumber</a><br />
+</dd><dt>xmlSAX2GetEntity</dt><dd><a href="html/libxml-SAX.html#getEntity">getEntity</a><br />
+</dd><dt>xmlSAX2GetLineNumber</dt><dd><a href="html/libxml-SAX.html#getLineNumber">getLineNumber</a><br />
+</dd><dt>xmlSAX2GetParameterEntity</dt><dd><a href="html/libxml-SAX.html#getParameterEntity">getParameterEntity</a><br />
+</dd><dt>xmlSAX2GetPublicId</dt><dd><a href="html/libxml-SAX.html#getPublicId">getPublicId</a><br />
+</dd><dt>xmlSAX2GetSystemId</dt><dd><a href="html/libxml-SAX.html#getSystemId">getSystemId</a><br />
+</dd><dt>xmlSAX2HasExternalSubset</dt><dd><a href="html/libxml-SAX.html#hasExternalSubset">hasExternalSubset</a><br />
+</dd><dt>xmlSAX2HasInternalSubset</dt><dd><a href="html/libxml-SAX.html#hasInternalSubset">hasInternalSubset</a><br />
+</dd><dt>xmlSAX2IgnorableWhitespace</dt><dd><a href="html/libxml-SAX.html#ignorableWhitespace">ignorableWhitespace</a><br />
+<a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
+</dd><dt>xmlSAX2InitDefaultSAXHandler</dt><dd><a href="html/libxml-SAX.html#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a><br />
+</dd><dt>xmlSAX2InitDocbDefaultSAXHandler</dt><dd><a href="html/libxml-SAX.html#initdocbDefaultSAXHandler">initdocbDefaultSAXHandler</a><br />
+</dd><dt>xmlSAX2InitHtmlDefaultSAXHandler</dt><dd><a href="html/libxml-SAX.html#inithtmlDefaultSAXHandler">inithtmlDefaultSAXHandler</a><br />
+</dd><dt>xmlSAX2InternalSubset</dt><dd><a href="html/libxml-SAX.html#internalSubset">internalSubset</a><br />
+</dd><dt>xmlSAX2IsStandalone</dt><dd><a href="html/libxml-SAX.html#isStandalone">isStandalone</a><br />
+</dd><dt>xmlSAX2NotationDecl</dt><dd><a href="html/libxml-SAX.html#notationDecl">notationDecl</a><br />
+</dd><dt>xmlSAX2ProcessingInstruction</dt><dd><a href="html/libxml-SAX.html#processingInstruction">processingInstruction</a><br />
+</dd><dt>xmlSAX2Reference</dt><dd><a href="html/libxml-SAX.html#reference">reference</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2Reference">xmlSAX2Reference</a><br />
+</dd><dt>xmlSAX2ResolveEntity</dt><dd><a href="html/libxml-SAX.html#resolveEntity">resolveEntity</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
+</dd><dt>xmlSAX2StartDocument</dt><dd><a href="html/libxml-SAX.html#startDocument">startDocument</a><br />
+</dd><dt>xmlSAX2StartElement</dt><dd><a href="html/libxml-SAX.html#startElement">startElement</a><br />
+</dd><dt>xmlSAX2UnparsedEntityDecl</dt><dd><a href="html/libxml-SAX.html#unparsedEntityDecl">unparsedEntityDecl</a><br />
+</dd><dt>xmlSAXVersion</dt><dd><a href="html/libxml-SAX2.html#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a><br />
+</dd><dt>xmlSaveOptions</dt><dd><a href="html/libxml-xmlsave.html#xmlSaveToFd">xmlSaveToFd</a><br />
+<a href="html/libxml-xmlsave.html#xmlSaveToFilename">xmlSaveToFilename</a><br />
+<a href="html/libxml-xmlsave.html#xmlSaveToIO">xmlSaveToIO</a><br />
+</dd><dt>xmlSetExternalEntityLoader</dt><dd><a href="html/libxml-SAX.html#resolveEntity">resolveEntity</a><br />
+<a href="html/libxml-parser.html#resolveEntitySAXFunc">resolveEntitySAXFunc</a><br />
+<a href="html/libxml-SAX2.html#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a><br />
+</dd><dt>xmlSnprintfElementContent</dt><dd><a href="html/libxml-valid.html#xmlSprintfElementContent">xmlSprintfElementContent</a><br />
+</dd><dt>xmlStrEqual</dt><dd><a href="html/libxml-xmlstring.html#xmlStrEqual">xmlStrEqual</a><br />
+</dd><dt>xmlStrdup</dt><dd><a href="html/libxml-tree.html#xmlNewNode">xmlNewNode</a><br />
+</dd><dt>xmlStringDecodeEntities</dt><dd><a href="html/libxml-parserInternals.html#xmlDecodeEntities">xmlDecodeEntities</a><br />
+</dd><dt>xmlStringGetNodeList</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
+</dd><dt>xmlStrncat</dt><dd><a href="html/libxml-xmlstring.html#xmlStrncatNew">xmlStrncatNew</a><br />
+</dd><dt>xmlStrncmp</dt><dd><a href="html/libxml-xmlstring.html#xmlUTF8Charcmp">xmlUTF8Charcmp</a><br />
+</dd><dt>xmlTextReader</dt><dd><a href="html/libxml-xmlreader.html#xmlNewTextReader">xmlNewTextReader</a><br />
+<a href="html/libxml-xmlreader.html#xmlNewTextReaderFilename">xmlNewTextReaderFilename</a><br />
+<a href="html/libxml-xmlreader.html#xmlReaderNewDoc">xmlReaderNewDoc</a><br />
+<a href="html/libxml-xmlreader.html#xmlReaderNewFd">xmlReaderNewFd</a><br />
+<a href="html/libxml-xmlreader.html#xmlReaderNewFile">xmlReaderNewFile</a><br />
+<a href="html/libxml-xmlreader.html#xmlReaderNewIO">xmlReaderNewIO</a><br />
+<a href="html/libxml-xmlreader.html#xmlReaderNewMemory">xmlReaderNewMemory</a><br />
+<a href="html/libxml-xmlreader.html#xmlReaderNewWalker">xmlReaderNewWalker</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a><br />
+</dd><dt>xmlTextReaderCurrentDoc</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderPreserve">xmlTextReaderPreserve</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a><br />
+</dd><dt>xmlTextReaderLocatorPtr</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderLocatorBaseURI">xmlTextReaderLocatorBaseURI</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderLocatorLineNumber">xmlTextReaderLocatorLineNumber</a><br />
+</dd><dt>xmlTextReaderRead</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderExpand">xmlTextReaderExpand</a><br />
+</dd><dt>xmlTextWriterStartDTDEntity</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDExternalEntity">xmlTextWriterWriteDTDExternalEntity</a><br />
+</dd><dt>xmlTextWriterWriteDTD</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a><br />
+</dd><dt>xmlTextWriterWritePI</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a><br />
+</dd><dt>xmlURI</dt><dd><a href="html/libxml-uri.html#xmlCreateURI">xmlCreateURI</a><br />
+<a href="html/libxml-uri.html#xmlFreeURI">xmlFreeURI</a><br />
+<a href="html/libxml-uri.html#xmlPrintURI">xmlPrintURI</a><br />
+<a href="html/libxml-uri.html#xmlSaveUri">xmlSaveUri</a><br />
+</dd><dt>xmlURIEscapeStr</dt><dd><a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
+</dd><dt>xmlURIFromPath</dt><dd><a href="html/libxml-xmlIO.html#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a><br />
+</dd><dt>xmlURIPtr</dt><dd><a href="html/libxml-uri.html#xmlParseURI">xmlParseURI</a><br />
+</dd><dt>xmlUnlinkNode</dt><dd><a href="html/libxml-tree.html#xmlFreeNode">xmlFreeNode</a><br />
+</dd><dt>xmlUnlockLibrary</dt><dd><a href="html/libxml-threads.html#xmlUnlockLibrary">xmlUnlockLibrary</a><br />
+</dd><dt>xmlValidCtxtPtr</dt><dd><a href="html/libxml-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a><br />
+<a href="html/libxml-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a><br />
+</dd><dt>xmlValidGetValidElements</dt><dd><a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
+</dd><dt>xmlValidateAttributeDecl</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
+</dd><dt>xmlValidateAttributeValue</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttributeType">xmlParseAttributeType</a><br />
+</dd><dt>xmlValidateOneAttribute</dt><dd><a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
+</dd><dt>xmlWriter</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a><br />
+</dd><dt>xmlXPathCheckError</dt><dd><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 />
+<a href="html/libxml-xpathInternals.html#xmlXPathPopNumber">xmlXPathPopNumber</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathPopString">xmlXPathPopString</a><br />
+</dd><dt>xmlXPathCompExprPtr</dt><dd><a href="html/libxml-xpath.html#xmlXPathCompile">xmlXPathCompile</a><br />
+<a href="html/libxml-xpath.html#xmlXPathCtxtCompile">xmlXPathCtxtCompile</a><br />
+</dd><dt>xmlXPathContext</dt><dd><a href="html/libxml-xpath.html#xmlXPathFreeContext">xmlXPathFreeContext</a><br />
+<a href="html/libxml-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</a><br />
+</dd><dt>xmlXPathError</dt><dd><a href="">err</a><br />
+</dd><dt>xmlXPathEvalPredicate</dt><dd><a href="html/libxml-xpointer.html#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a><br />
+</dd><dt>xmlXPathFreeObject</dt><dd><a href="html/libxml-xpath.html#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a><br />
+</dd><dt>xmlXPathFunction</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookup">xmlXPathFunctionLookup</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</a><br />
+</dd><dt>xmlXPathNodeTrailingSorted</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a><br />
+</dd><dt>xmlXPathObjectPtr</dt><dd><a href="html/libxml-xpath.html#xmlXPathCompiledEval">xmlXPathCompiledEval</a><br />
+<a href="html/libxml-xpath.html#xmlXPathEval">xmlXPathEval</a><br />
+<a href="html/libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a><br />
+<a href="html/libxml-xpath.html#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a><br />
+<a href="html/libxml-xpath.html#xmlXPathFreeObject">xmlXPathFreeObject</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNewBoolean">xmlXPathNewBoolean</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNewCString">xmlXPathNewCString</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNewFloat">xmlXPathNewFloat</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNewNodeSet">xmlXPathNewNodeSet</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNewNodeSetList">xmlXPathNewNodeSetList</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNewString">xmlXPathNewString</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNewValueTree">xmlXPathNewValueTree</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathWrapNodeSet">xmlXPathWrapNodeSet</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrEval">xmlXPtrEval</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrLocationSetAdd">xmlXPtrLocationSetAdd</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrLocationSetCreate">xmlXPtrLocationSetCreate</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrLocationSetDel">xmlXPtrLocationSetDel</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrNewCollapsedRange">xmlXPtrNewCollapsedRange</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrNewLocationSetNodeSet">xmlXPtrNewLocationSetNodeSet</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrNewLocationSetNodes">xmlXPtrNewLocationSetNodes</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrNewRange">xmlXPtrNewRange</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrNewRangeNodeObject">xmlXPtrNewRangeNodeObject</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrNewRangeNodePoint">xmlXPtrNewRangeNodePoint</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrNewRangeNodes">xmlXPtrNewRangeNodes</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrNewRangePointNode">xmlXPtrNewRangePointNode</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrNewRangePoints">xmlXPtrNewRangePoints</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrWrapLocationSet">xmlXPtrWrapLocationSet</a><br />
+</dd><dt>xmlXPathParserContext</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathFreeParserContext">xmlXPathFreeParserContext</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathNewParserContext">xmlXPathNewParserContext</a><br />
+</dd><dt>xmlXPathTrailingSorted</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathTrailing">xmlXPathTrailing</a><br />
+</dd><dt>xmlns</dt><dd><a href="html/libxml-parserInternals.html#xmlNamespaceParseNSDef">xmlNamespaceParseNSDef</a><br />
+</dd><dt>xmlns:???</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
+</dd><dt>xmltextReader</dt><dd><a href="html/libxml-xmlreader.html#xmlReaderForDoc">xmlReaderForDoc</a><br />
+<a href="html/libxml-xmlreader.html#xmlReaderForFd">xmlReaderForFd</a><br />
+<a href="html/libxml-xmlreader.html#xmlReaderForIO">xmlReaderForIO</a><br />
+<a href="html/libxml-xmlreader.html#xmlReaderForMemory">xmlReaderForMemory</a><br />
+<a href="html/libxml-xmlreader.html#xmlReaderNewDoc">xmlReaderNewDoc</a><br />
+<a href="html/libxml-xmlreader.html#xmlReaderNewFd">xmlReaderNewFd</a><br />
+<a href="html/libxml-xmlreader.html#xmlReaderNewIO">xmlReaderNewIO</a><br />
+<a href="html/libxml-xmlreader.html#xmlReaderNewMemory">xmlReaderNewMemory</a><br />
+<a href="html/libxml-xmlreader.html#xmlReaderNewWalker">xmlReaderNewWalker</a><br />
+<a href="html/libxml-xmlreader.html#xmlReaderWalker">xmlReaderWalker</a><br />
+</dd><dt>xpath</dt><dd><a href="html/libxml-debugXML.html#xmlShellPrintXPathError">xmlShellPrintXPathError</a><br />
+<a href="html/libxml-debugXML.html#xmlShellPrintXPathResult">xmlShellPrintXPathResult</a><br />
+</dd><dt>xpointer</dt><dd><a href="html/libxml-xinclude.html#XINCLUDE_PARSE_XPOINTER">XINCLUDE_PARSE_XPOINTER</a><br />
 </dd></dl><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -106,7 +488,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk3.html b/doc/APIchunk3.html
index ec5e00d..0e811be 100644
--- a/doc/APIchunk3.html
+++ b/doc/APIchunk3.html
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter F:</h2><dl><dt>FALSE</dt><dd><a href="html/libxml-xmlwriter.html#xmlTextWriterStartDTDEntity">xmlTextWriterStartDTDEntity</a><br />
 <a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDEntity">xmlTextWriterWriteDTDEntity</a><br />
 <a href="html/libxml-xmlwriter.html#xmlTextWriterWriteDTDExternalEntity">xmlTextWriterWriteDTDExternalEntity</a><br />
@@ -150,6 +151,7 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathGetDocument">xmlXPathGetDocument</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathGetError">xmlXPathGetError</a><br />
 </dd><dt>Gets</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderReadState">xmlTextReaderReadState</a><br />
+</dd><dt>Gives</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a><br />
 </dd><dt>Global</dt><dd><a href="html/libxml-tree.html#_xmlDoc">_xmlDoc</a><br />
 </dd><dt>Gothic</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsGothic">xmlUCSIsGothic</a><br />
 </dd><dt>Greek</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsGreek">xmlUCSIsGreek</a><br />
@@ -245,7 +247,6 @@
 <a href="html/libxml-parserInternals.html#xmlIsLetter">xmlIsLetter</a><br />
 </dd><dt>IdeographicDescriptionCharacters</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsIdeographicDescriptionCharacters">xmlUCSIsIdeographicDescriptionCharacters</a><br />
 </dd><dt>Ignore</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a><br />
-<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a><br />
 </dd><dt>Ignored</dt><dd><a href="html/libxml-parserInternals.html#xmlCopyChar">xmlCopyChar</a><br />
 </dd><dt>Implements</dt><dd><a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
 <a href="html/libxml-debugXML.html#xmlShellBase">xmlShellBase</a><br />
@@ -321,8 +322,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -340,7 +341,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk4.html b/doc/APIchunk4.html
index bf7ffdc..9fa9d43 100644
--- a/doc/APIchunk4.html
+++ b/doc/APIchunk4.html
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter J:</h2><dl><dt>Jan</dt><dd><a href="html/libxml-HTMLparser.html#_htmlElemDesc">_htmlElemDesc</a><br />
 </dd><dt>Java</dt><dd><a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
 </dd></dl><h2>Letter K:</h2><dl><dt>Kanbun</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsKanbun">xmlUCSIsKanbun</a><br />
@@ -306,8 +307,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -325,7 +326,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk5.html b/doc/APIchunk5.html
index b1b37a6..f8192d6 100644
--- a/doc/APIchunk5.html
+++ b/doc/APIchunk5.html
@@ -7,13 +7,13 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index O-Q for 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>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index O-Q for 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>Developer 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 href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</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"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index O-P for 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>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index O-P for 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>Developer 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 href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</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"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter O:</h2><dl><dt>OBSOLETE:</dt><dd><a href="html/libxml-parserInternals.html#xmlHandleEntity">xmlHandleEntity</a><br />
 </dd><dt>ONCE</dt><dd><a href="html/libxml-tree.html#_xmlElementContent">_xmlElementContent</a><br />
 </dd><dt>OPT</dt><dd><a href="html/libxml-tree.html#_xmlElementContent">_xmlElementContent</a><br />
@@ -42,6 +43,10 @@
 </dd><dt>OUT:</dt><dd><a href="html/libxml-HTMLtree.html#htmlDocDumpMemory">htmlDocDumpMemory</a><br />
 <a href="html/libxml-tree.html#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a><br />
 <a href="html/libxml-tree.html#xmlDocDumpMemory">xmlDocDumpMemory</a><br />
+</dd><dt>Obsolete</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a><br />
+<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_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a><br />
 </dd><dt>Obtain</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderLocatorBaseURI">xmlTextReaderLocatorBaseURI</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderLocatorLineNumber">xmlTextReaderLocatorLineNumber</a><br />
 </dd><dt>Ogham</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsOgham">xmlUCSIsOgham</a><br />
@@ -60,7 +65,7 @@
 <a href="html/libxml-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a><br />
 <a href="html/libxml-uri.html#xmlURIUnescapeString">xmlURIUnescapeString</a><br />
-</dd><dt>OutputBufferCreateFilenameFunc</dt><dd><a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
+</dd><dt>OutputBufferCreateFilenameFunc</dt><dd><a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
 </dd><dt>Override</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemSetup">xmlMemSetup</a><br />
 </dd></dl><h2>Letter P:</h2><dl><dt>P32</dt><dd><a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
@@ -121,12 +126,13 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathEvalExpr">xmlXPathEvalExpr</a><br />
 </dd><dt>Parsed</dt><dd><a href="html/libxml-parserInternals.html#xmlParseEntityRef">xmlParseEntityRef</a><br />
 <a href="html/libxml-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a><br />
-</dd><dt>ParserInputBufferCreateFilenameFunc</dt><dd><a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
+</dd><dt>ParserInputBufferCreateFilenameFunc</dt><dd><a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
 </dd><dt>Parses</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderReadAttributeValue">xmlTextReaderReadAttributeValue</a><br />
 </dd><dt>Parsing</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathErr">xmlXPathErr</a><br />
 </dd><dt>Part</dt><dd><a href="html/libxml-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
 </dd><dt>Path</dt><dd><a href="html/libxml-tree.html#xmlGetNodePath">xmlGetNodePath</a><br />
 <a href="html/libxml-xpath.html#xmlXPathEval">xmlXPathEval</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrEval">xmlXPtrEval</a><br />
@@ -230,31 +236,13 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathReturnNumber">xmlXPathReturnNumber</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathReturnString">xmlXPathReturnString</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathReturnTrue">xmlXPathReturnTrue</a><br />
-</dd></dl><h2>Letter Q:</h2><dl><dt>QName</dt><dd><a href="html/libxml-tree.html#xmlBuildQName">xmlBuildQName</a><br />
-<a href="html/libxml-dict.html#xmlDictQLookup">xmlDictQLookup</a><br />
-<a href="html/libxml-hash.html#xmlHashQLookup">xmlHashQLookup</a><br />
-<a href="html/libxml-parserInternals.html#xmlNamespaceParseQName">xmlNamespaceParseQName</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseEndTag">xmlParseEndTag</a><br />
-<a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
-<a href="html/libxml-parserInternals.html#xmlSplitQName">xmlSplitQName</a><br />
-<a href="html/libxml-tree.html#xmlSplitQName2">xmlSplitQName2</a><br />
-<a href="html/libxml-tree.html#xmlSplitQName3">xmlSplitQName3</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrQEqual">xmlStrQEqual</a><br />
-<a href="html/libxml-tree.html#xmlValidateQName">xmlValidateQName</a><br />
-</dd><dt>QNames</dt><dd><a href="html/libxml-hash.html#xmlHashQLookup2">xmlHashQLookup2</a><br />
-</dd><dt>QUIT</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPQuit">xmlNanoFTPQuit</a><br />
-</dd><dt>Qualified</dt><dd><a href="html/libxml-tree.html#xmlSplitQName3">xmlSplitQName3</a><br />
-</dd><dt>Query</dt><dd><a href="html/libxml-dict.html#xmlDictSize">xmlDictSize</a><br />
-<a href="html/libxml-hash.html#xmlHashSize">xmlHashSize</a><br />
-</dd><dt>Question:</dt><dd><a href="html/libxml-parserInternals.html#xmlParseTextDecl">xmlParseTextDecl</a><br />
 </dd></dl><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -272,7 +260,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk6.html b/doc/APIchunk6.html
index 1c3baa3..5f9c69f 100644
--- a/doc/APIchunk6.html
+++ b/doc/APIchunk6.html
@@ -7,13 +7,13 @@
 H2 {font-family: Verdana,Arial,Helvetica}
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
-</style><title>API Alphabetic Index R-S for 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>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index R-S for 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>Developer 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 href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</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"><h2 align="center"><a href="APIchunk0.html">A-B</a>
+</style><title>API Alphabetic Index Q-S for 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>The XML C parser and toolkit of Gnome</h1><h2>API Alphabetic Index Q-S for 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>Developer 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 href="index.html" style="font-weight:bold">Main Menu</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="tutorial/index.html">Tutorial</a></li><li><a href="xmlreader.html">The Reader Interface</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="python.html">Python and bindings</a></li><li><a href="architecture.html">libxml2 architecture</a></li><li><a href="tree.html">The tree output</a></li><li><a href="interface.html">The SAX interface</a></li><li><a href="xmlmem.html">Memory Management</a></li><li><a href="xmlio.html">I/O Interfaces</a></li><li><a href="library.html">The parser interfaces</a></li><li><a href="entities.html">Entities or no entities</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="upgrade.html">Upgrading 1.x code</a></li><li><a href="threads.html">Thread safety</a></li><li><a href="DOM.html">DOM Principles</a></li><li><a href="example.html">A real example</a></li><li><a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</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"><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,10 +31,29 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
-</h2><h2>Letter R:</h2><dl><dt>REC</dt><dd><a href="html/libxml-parserInternals.html#IS_BASECHAR">IS_BASECHAR</a><br />
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
+</h2><h2>Letter Q:</h2><dl><dt>QName</dt><dd><a href="html/libxml-tree.html#xmlBuildQName">xmlBuildQName</a><br />
+<a href="html/libxml-dict.html#xmlDictQLookup">xmlDictQLookup</a><br />
+<a href="html/libxml-hash.html#xmlHashQLookup">xmlHashQLookup</a><br />
+<a href="html/libxml-parserInternals.html#xmlNamespaceParseQName">xmlNamespaceParseQName</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseAttribute">xmlParseAttribute</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseEndTag">xmlParseEndTag</a><br />
+<a href="html/libxml-parserInternals.html#xmlParseStartTag">xmlParseStartTag</a><br />
+<a href="html/libxml-parserInternals.html#xmlSplitQName">xmlSplitQName</a><br />
+<a href="html/libxml-tree.html#xmlSplitQName2">xmlSplitQName2</a><br />
+<a href="html/libxml-tree.html#xmlSplitQName3">xmlSplitQName3</a><br />
+<a href="html/libxml-xmlstring.html#xmlStrQEqual">xmlStrQEqual</a><br />
+<a href="html/libxml-tree.html#xmlValidateQName">xmlValidateQName</a><br />
+</dd><dt>QNames</dt><dd><a href="html/libxml-hash.html#xmlHashQLookup2">xmlHashQLookup2</a><br />
+</dd><dt>QUIT</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPQuit">xmlNanoFTPQuit</a><br />
+</dd><dt>Qualified</dt><dd><a href="html/libxml-tree.html#xmlSplitQName3">xmlSplitQName3</a><br />
+</dd><dt>Query</dt><dd><a href="html/libxml-dict.html#xmlDictSize">xmlDictSize</a><br />
+<a href="html/libxml-hash.html#xmlHashSize">xmlHashSize</a><br />
+</dd><dt>Question:</dt><dd><a href="html/libxml-parserInternals.html#xmlParseTextDecl">xmlParseTextDecl</a><br />
+</dd></dl><h2>Letter R:</h2><dl><dt>REC</dt><dd><a href="html/libxml-parserInternals.html#IS_BASECHAR">IS_BASECHAR</a><br />
 <a href="html/libxml-parserInternals.html#IS_COMBINING">IS_COMBINING</a><br />
 <a href="html/libxml-parserInternals.html#IS_DIGIT">IS_DIGIT</a><br />
 </dd><dt>REC-xml</dt><dd><a href="html/libxml-encoding.html#xmlGetCharEncodingName">xmlGetCharEncodingName</a><br />
@@ -124,8 +143,8 @@
 </dd><dt>RegisterNodeFunc</dt><dd><a href="html/libxml-globals.html#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a><br />
 </dd><dt>Registers</dt><dd><a href="html/libxml-encoding.html#xmlAddEncodingAlias">xmlAddEncodingAlias</a><br />
 <a href="html/libxml-globals.html#xmlDeregisterNodeDefault">xmlDeregisterNodeDefault</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
+<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
+<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
 <a href="html/libxml-xmlIO.html#xmlRegisterDefaultInputCallbacks">xmlRegisterDefaultInputCallbacks</a><br />
 <a href="html/libxml-xmlIO.html#xmlRegisterDefaultOutputCallbacks">xmlRegisterDefaultOutputCallbacks</a><br />
 <a href="html/libxml-globals.html#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a><br />
@@ -169,6 +188,7 @@
 <a href="html/libxml-tree.html#xmlUnsetProp">xmlUnsetProp</a><br />
 </dd><dt>Removes</dt><dd><a href="html/libxml-list.html#xmlListPopBack">xmlListPopBack</a><br />
 <a href="html/libxml-list.html#xmlListPopFront">xmlListPopFront</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaCollapseString">xmlSchemaCollapseString</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNodeSetDel">xmlXPathNodeSetDel</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNodeSetRemove">xmlXPathNodeSetRemove</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrLocationSetDel">xmlXPtrLocationSetDel</a><br />
@@ -274,6 +294,7 @@
 <a href="html/libxml-xmlschemas.html#xmlSchemaFree">xmlSchemaFree</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaFreeFacet">xmlSchemaFreeFacet</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaFreeType">xmlSchemaFreeType</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaParse">xmlSchemaParse</a><br />
 </dd><dt>Schemas</dt><dd><a href="html/libxml-xmlversion.html#LIBXML_SCHEMAS_ENABLED">LIBXML_SCHEMAS_ENABLED</a><br />
 <a href="html/libxml-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a><br />
@@ -463,8 +484,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -482,7 +503,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk7.html b/doc/APIchunk7.html
index 2c47d30..c755d1b 100644
--- a/doc/APIchunk7.html
+++ b/doc/APIchunk7.html
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter T:</h2><dl><dt>TEXT</dt><dd><a href="html/libxml-tree.html#xmlAddChild">xmlAddChild</a><br />
 <a href="html/libxml-tree.html#xmlAddChildList">xmlAddChildList</a><br />
 <a href="html/libxml-tree.html#xmlAddPrevSibling">xmlAddPrevSibling</a><br />
@@ -233,7 +234,10 @@
 <a href="html/libxml-tree.html#xmlNewTextChild">xmlNewTextChild</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a><br />
-</dd><dt>Used</dt><dd><a href="html/libxml-parser.html#XML_SKIP_IDS">XML_SKIP_IDS</a><br />
+</dd><dt>Used</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a><br />
+<a href="html/libxml-parser.html#XML_SKIP_IDS">XML_SKIP_IDS</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogGetDefaults">xmlCatalogGetDefaults</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogSetDebug">xmlCatalogSetDebug</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogSetDefaults">xmlCatalogSetDefaults</a><br />
@@ -251,8 +255,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -270,7 +274,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk8.html b/doc/APIchunk8.html
index 0bb9b59..61f5578 100644
--- a/doc/APIchunk8.html
+++ b/doc/APIchunk8.html
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,11 +31,13 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter V:</h2><dl><dt>Valid</dt><dd><a href="html/libxml-valid.html#xmlValidateOneElement">xmlValidateOneElement</a><br />
-</dd><dt>Validate</dt><dd><a href="html/libxml-relaxng.html#xmlRelaxNGValidateDoc">xmlRelaxNGValidateDoc</a><br />
+</dd><dt>Validate</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a><br />
+<a href="html/libxml-relaxng.html#xmlRelaxNGValidateDoc">xmlRelaxNGValidateDoc</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
@@ -239,6 +241,7 @@
 <a href="html/libxml-xmlwriter.html#xmlTextWriterWriteRawLen">xmlTextWriterWriteRawLen</a><br />
 </dd><dt>above</dt><dd><a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
+</dd><dt>absent</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a><br />
 </dd><dt>absoluteURI</dt><dd><a href="html/libxml-uri.html#xmlParseURI">xmlParseURI</a><br />
 <a href="html/libxml-uri.html#xmlParseURIReference">xmlParseURIReference</a><br />
 </dd><dt>abstract</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a><br />
@@ -388,6 +391,7 @@
 <a href="html/libxml-xmlregexp.html#xmlRegexpCompile">xmlRegexpCompile</a><br />
 <a href="html/libxml-xmlregexp.html#xmlRegexpExec">xmlRegexpExec</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 <a href="html/libxml-debugXML.html#xmlShellValidate">xmlShellValidate</a><br />
 <a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
 </dd><dt>aggregate</dt><dd><a href="html/libxml-tree.html#xmlNodeBufGetContent">xmlNodeBufGetContent</a><br />
@@ -403,8 +407,6 @@
 <a href="html/libxml-tree.html#xmlBuildQName">xmlBuildQName</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMallocLoc">xmlMallocLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemMalloc">xmlMemMalloc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a><br />
 <a href="html/libxml-threads.html#xmlNewMutex">xmlNewMutex</a><br />
 <a href="html/libxml-threads.html#xmlNewRMutex">xmlNewRMutex</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
@@ -413,10 +415,7 @@
 <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 />
-<a href="html/libxml-xmlmemory.html#xmlMemMalloc">xmlMemMalloc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemStrdupLoc">xmlMemStrdupLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemoryStrdup">xmlMemoryStrdup</a><br />
 <a href="html/libxml-uri.html#xmlNormalizeURIPath">xmlNormalizeURIPath</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
 <a href="html/libxml-tree.html#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a><br />
@@ -538,7 +537,11 @@
 <a href="html/libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a><br />
 <a href="html/libxml-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a><br />
-</dd><dt>anymore</dt><dd><a href="html/libxml-parserInternals.html#xmlNamespaceParseNCName">xmlNamespaceParseNCName</a><br />
+</dd><dt>anymore</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a><br />
+<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_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a><br />
+<a href="html/libxml-parserInternals.html#xmlNamespaceParseNCName">xmlNamespaceParseNCName</a><br />
 <a href="html/libxml-parserInternals.html#xmlNamespaceParseNSDef">xmlNamespaceParseNSDef</a><br />
 <a href="html/libxml-parserInternals.html#xmlNamespaceParseQName">xmlNamespaceParseQName</a><br />
 </dd><dt>anyway</dt><dd><a href="html/libxml-parser.html#xmlRecoverDoc">xmlRecoverDoc</a><br />
@@ -608,8 +611,6 @@
 </dd><dt>area</dt><dd><a href="html/libxml-tree.html#xmlBufferCreateStatic">xmlBufferCreateStatic</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMallocLoc">xmlMallocLoc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemMalloc">xmlMemMalloc</a><br />
-<a href="html/libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateMem">xmlParserInputBufferCreateMem</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
@@ -665,8 +666,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -684,7 +685,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIchunk9.html b/doc/APIchunk9.html
index bf83fcd..477455d 100644
--- a/doc/APIchunk9.html
+++ b/doc/APIchunk9.html
@@ -12,8 +12,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -31,9 +31,10 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><h2>Letter b:</h2><dl><dt>back</dt><dd><a href="html/libxml-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a><br />
 <a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
 <a href="html/libxml-nanoftp.html#xmlNanoFTPGet">xmlNanoFTPGet</a><br />
@@ -259,8 +260,11 @@
 <a href="html/libxml-parser.html#xmlRecoverFile">xmlRecoverFile</a><br />
 <a href="html/libxml-parser.html#xmlRecoverMemory">xmlRecoverMemory</a><br />
 <a href="html/libxml-relaxng.html#xmlRelaxNGParse">xmlRelaxNGParse</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaParse">xmlSchemaParse</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderNextSibling">xmlTextReaderNextSibling</a><br />
+</dd><dt>built-in</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a><br />
 </dd><dt>builtin</dt><dd><a href="html/libxml-xmlerror.html#initGenericErrorDefaultFunc">initGenericErrorDefaultFunc</a><br />
 </dd><dt>bunch</dt><dd><a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
 </dd><dt>but</dt><dd><a href="html/libxml-parserInternals.html#IS_DIGIT_CH">IS_DIGIT_CH</a><br />
@@ -298,8 +302,8 @@
 <a href="APIchunk2.html">D-E</a>
 <a href="APIchunk3.html">F-I</a>
 <a href="APIchunk4.html">J-N</a>
-<a href="APIchunk5.html">O-Q</a>
-<a href="APIchunk6.html">R-S</a>
+<a href="APIchunk5.html">O-P</a>
+<a href="APIchunk6.html">Q-S</a>
 <a href="APIchunk7.html">T-U</a>
 <a href="APIchunk8.html">V-a</a>
 <a href="APIchunk9.html">b-b</a>
@@ -317,7 +321,8 @@
 <a href="APIchunk21.html">q-r</a>
 <a href="APIchunk22.html">s-s</a>
 <a href="APIchunk23.html">t-t</a>
-<a href="APIchunk24.html">u-w</a>
-<a href="APIchunk25.html">x-x</a>
-<a href="APIchunk26.html">y-z</a>
+<a href="APIchunk24.html">u-v</a>
+<a href="APIchunk25.html">w-w</a>
+<a href="APIchunk26.html">x-x</a>
+<a href="APIchunk27.html">y-z</a>
 </h2><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/APIconstructors.html b/doc/APIconstructors.html
index 457877b..08e4f33 100644
--- a/doc/APIconstructors.html
+++ b/doc/APIconstructors.html
@@ -199,6 +199,7 @@
 <a href="html/libxml-parserInternals.html#xmlParseVersionNum">xmlParseVersionNum</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 />
 <a href="html/libxml-parserInternals.html#xmlSplitQName">xmlSplitQName</a><br />
 <a href="html/libxml-tree.html#xmlSplitQName2">xmlSplitQName2</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
@@ -401,13 +402,13 @@
 <a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
 <a href="html/libxml-tree.html#xmlSearchNsByHref">xmlSearchNsByHref</a><br />
 </p><h2>Type xmlNsPtr *:</h2><p><a href="html/libxml-tree.html#xmlGetNsList">xmlGetNsList</a><br />
-</p><h2>Type xmlOutputBufferCreateFilenameFunc:</h2><p><a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
+</p><h2>Type xmlOutputBufferCreateFilenameFunc:</h2><p><a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
 <a href="html/libxml-globals.html#xmlThrDefOutputBufferCreateFilenameDefault">xmlThrDefOutputBufferCreateFilenameDefault</a><br />
 </p><h2>Type xmlOutputBufferPtr:</h2><p><a href="html/libxml-xmlIO.html#xmlAllocOutputBuffer">xmlAllocOutputBuffer</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFd">xmlOutputBufferCreateFd</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFile">xmlOutputBufferCreateFile</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a><br />
+<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a><br />
 </p><h2>Type xmlParserCtxtPtr:</h2><p><a href="html/libxml-parser.html#xmlCreateDocParserCtxt">xmlCreateDocParserCtxt</a><br />
 <a href="html/libxml-parserInternals.html#xmlCreateEntityParserCtxt">xmlCreateEntityParserCtxt</a><br />
@@ -417,13 +418,13 @@
 <a href="html/libxml-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a><br />
 <a href="html/libxml-parserInternals.html#xmlCreateURLParserCtxt">xmlCreateURLParserCtxt</a><br />
 <a href="html/libxml-parser.html#xmlNewParserCtxt">xmlNewParserCtxt</a><br />
-</p><h2>Type xmlParserInputBufferCreateFilenameFunc:</h2><p><a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
+</p><h2>Type xmlParserInputBufferCreateFilenameFunc:</h2><p><a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
 <a href="html/libxml-globals.html#xmlThrDefParserInputBufferCreateFilenameDefault">xmlThrDefParserInputBufferCreateFilenameDefault</a><br />
 </p><h2>Type xmlParserInputBufferPtr:</h2><p><a href="html/libxml-xmlIO.html#xmlAllocParserInputBuffer">xmlAllocParserInputBuffer</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFd">xmlParserInputBufferCreateFd</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFile">xmlParserInputBufferCreateFile</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a><br />
+<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateIO">xmlParserInputBufferCreateIO</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateMem">xmlParserInputBufferCreateMem</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a><br />
@@ -462,7 +463,9 @@
 <a href="html/libxml-xmlschemas.html#xmlSchemaNewMemParserCtxt">xmlSchemaNewMemParserCtxt</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaNewParserCtxt">xmlSchemaNewParserCtxt</a><br />
 </p><h2>Type xmlSchemaPtr:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaParse">xmlSchemaParse</a><br />
-</p><h2>Type xmlSchemaTypePtr:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a><br />
+</p><h2>Type xmlSchemaTypePtr:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a><br />
 </p><h2>Type xmlSchemaValidCtxtPtr:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaNewValidCtxt">xmlSchemaNewValidCtxt</a><br />
 </p><h2>Type xmlTextReaderPtr:</h2><p><a href="html/libxml-xmlreader.html#xmlNewTextReader">xmlNewTextReader</a><br />
 <a href="html/libxml-xmlreader.html#xmlNewTextReaderFilename">xmlNewTextReaderFilename</a><br />
diff --git a/doc/APIfiles.html b/doc/APIfiles.html
index a9d019a..3ca8ab3 100644
--- a/doc/APIfiles.html
+++ b/doc/APIfiles.html
@@ -427,8 +427,12 @@
 <a href="html/libxml-globals.html#xmlMalloc">xmlMalloc</a><br />
 <a href="html/libxml-globals.html#xmlMallocAtomic">xmlMallocAtomic</a><br />
 <a href="html/libxml-globals.html#xmlMemStrdup">xmlMemStrdup</a><br />
+<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
+<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a><br />
 <a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameValue">xmlOutputBufferCreateFilenameValue</a><br />
 <a href="html/libxml-globals.html#xmlParserDebugEntities">xmlParserDebugEntities</a><br />
+<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
+<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a><br />
 <a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameValue">xmlParserInputBufferCreateFilenameValue</a><br />
 <a href="html/libxml-globals.html#xmlParserVersion">xmlParserVersion</a><br />
 <a href="html/libxml-globals.html#xmlPedanticParserDefaultValue">xmlPedanticParserDefaultValue</a><br />
@@ -925,6 +929,9 @@
 </p><h2><a name="schemasInternals" id="schemasInternals">Module schemasInternals</a>:</h2><p><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a><br />
 <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_ANYSIMPLETYPE">XML_SCHEMAS_ANYSIMPLETYPE</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYTYPE">XML_SCHEMAS_ANYTYPE</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYURI">XML_SCHEMAS_ANYURI</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_SKIP">XML_SCHEMAS_ANY_SKIP</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a><br />
@@ -935,6 +942,14 @@
 <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_BASE64BINARY">XML_SCHEMAS_BASE64BINARY</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BOOLEAN">XML_SCHEMAS_BOOLEAN</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BYTE">XML_SCHEMAS_BYTE</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_DATE">XML_SCHEMAS_DATE</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_DATETIME">XML_SCHEMAS_DATETIME</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_DECIMAL">XML_SCHEMAS_DECIMAL</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_DOUBLE">XML_SCHEMAS_DOUBLE</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_DURATION">XML_SCHEMAS_DURATION</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 />
@@ -943,17 +958,67 @@
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ENTITIES">XML_SCHEMAS_ENTITIES</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ENTITY">XML_SCHEMAS_ENTITY</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FLOAT">XML_SCHEMAS_FLOAT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_GDAY">XML_SCHEMAS_GDAY</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_GMONTH">XML_SCHEMAS_GMONTH</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_GMONTHDAY">XML_SCHEMAS_GMONTHDAY</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_GYEAR">XML_SCHEMAS_GYEAR</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_GYEARMONTH">XML_SCHEMAS_GYEARMONTH</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_HEXBINARY">XML_SCHEMAS_HEXBINARY</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ID">XML_SCHEMAS_ID</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_IDREF">XML_SCHEMAS_IDREF</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_IDREFS">XML_SCHEMAS_IDREFS</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_INT">XML_SCHEMAS_INT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_INTEGER">XML_SCHEMAS_INTEGER</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_LANGUAGE">XML_SCHEMAS_LANGUAGE</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_LONG">XML_SCHEMAS_LONG</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NAME">XML_SCHEMAS_NAME</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NCNAME">XML_SCHEMAS_NCNAME</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NINTEGER">XML_SCHEMAS_NINTEGER</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NMTOKEN">XML_SCHEMAS_NMTOKEN</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NMTOKENS">XML_SCHEMAS_NMTOKENS</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NNINTEGER">XML_SCHEMAS_NNINTEGER</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NORMSTRING">XML_SCHEMAS_NORMSTRING</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NOTATION">XML_SCHEMAS_NOTATION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NPINTEGER">XML_SCHEMAS_NPINTEGER</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_PINTEGER">XML_SCHEMAS_PINTEGER</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_QNAME">XML_SCHEMAS_QNAME</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_SHORT">XML_SCHEMAS_SHORT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_STRING">XML_SCHEMAS_STRING</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TIME">XML_SCHEMAS_TIME</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TOKEN">XML_SCHEMAS_TOKEN</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_DEFAULT">XML_SCHEMAS_TYPE_FINAL_DEFAULT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_GLOBAL">XML_SCHEMAS_TYPE_GLOBAL</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_UBYTE">XML_SCHEMAS_UBYTE</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_UINT">XML_SCHEMAS_UINT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ULONG">XML_SCHEMAS_ULONG</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_UNKNOWN">XML_SCHEMAS_UNKNOWN</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_USHORT">XML_SCHEMAS_USHORT</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMA_CONTENT_ANY">XML_SCHEMA_CONTENT_ANY</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMA_CONTENT_BASIC">XML_SCHEMA_CONTENT_BASIC</a><br />
@@ -1003,8 +1068,10 @@
 <a href="html/libxml-schemasInternals.html#_xmlSchemaAttributeLink">_xmlSchemaAttributeLink</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaElement">_xmlSchemaElement</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaFacet">_xmlSchemaFacet</a><br />
+<a href="html/libxml-schemasInternals.html#_xmlSchemaFacetLink">_xmlSchemaFacetLink</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaNotation">_xmlSchemaNotation</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
+<a href="html/libxml-schemasInternals.html#_xmlSchemaTypeLink">_xmlSchemaTypeLink</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaWildcard">_xmlSchemaWildcard</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaWildcardNs">_xmlSchemaWildcardNs</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaAnnot">xmlSchemaAnnot</a><br />
@@ -1019,15 +1086,21 @@
 <a href="html/libxml-schemasInternals.html#xmlSchemaElement">xmlSchemaElement</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaElementPtr">xmlSchemaElementPtr</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaFacet">xmlSchemaFacet</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaFacetLink">xmlSchemaFacetLink</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaFacetLinkPtr">xmlSchemaFacetLinkPtr</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaFreeType">xmlSchemaFreeType</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaNotation">xmlSchemaNotation</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaNotationPtr">xmlSchemaNotationPtr</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaType">xmlSchemaType</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaTypeLink">xmlSchemaTypeLink</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaTypeLinkPtr">xmlSchemaTypeLinkPtr</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaVal">xmlSchemaVal</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaWildcard">xmlSchemaWildcard</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaWildcardNs">xmlSchemaWildcardNs</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaWildcardNsPtr">xmlSchemaWildcardNsPtr</a><br />
@@ -1496,8 +1569,6 @@
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFd">xmlOutputBufferCreateFd</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFile">xmlOutputBufferCreateFile</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferFlush">xmlOutputBufferFlush</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferWrite">xmlOutputBufferWrite</a><br />
@@ -1511,8 +1582,6 @@
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFd">xmlParserInputBufferCreateFd</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFile">xmlParserInputBufferCreateFile</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateIO">xmlParserInputBufferCreateIO</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateMem">xmlParserInputBufferCreateMem</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a><br />
@@ -1921,6 +1990,28 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_ATTR_NONAME_NOREF">XML_SCHEMAP_ATTR_NONAME_NOREF</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF">XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_CT_EXTENDS_1_3">XML_SCHEMAP_COS_CT_EXTENDS_1_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_DERIVED_OK_2_1">XML_SCHEMAP_COS_ST_DERIVED_OK_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_DERIVED_OK_2_2">XML_SCHEMAP_COS_ST_DERIVED_OK_2_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_1">XML_SCHEMAP_COS_ST_RESTRICTS_1_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_1_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2">XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_1">XML_SCHEMAP_CT_PROPS_CORRECT_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_2">XML_SCHEMAP_CT_PROPS_CORRECT_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_3">XML_SCHEMAP_CT_PROPS_CORRECT_3</a><br />
@@ -1981,9 +2072,24 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_REF_AND_SUBTYPE">XML_SCHEMAP_REF_AND_SUBTYPE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_REGEXP_INVALID">XML_SCHEMAP_REGEXP_INVALID</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_RESTRICTION_NONAME_NOREF">XML_SCHEMAP_RESTRICTION_NONAME_NOREF</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ATTR_MISSING">XML_SCHEMAP_S4S_ATTR_MISSING</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED">XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ELEM_MISSING">XML_SCHEMAP_S4S_ELEM_MISSING</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED">XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SIMPLETYPE_NONAME">XML_SCHEMAP_SIMPLETYPE_NONAME</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_3_1">XML_SCHEMAP_SRC_IMPORT_3_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_3_2">XML_SCHEMAP_SRC_IMPORT_3_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE">XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_RESOLVE">XML_SCHEMAP_SRC_RESOLVE</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE">XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_1">XML_SCHEMAP_SRC_SIMPLE_TYPE_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_2">XML_SCHEMAP_SRC_SIMPLE_TYPE_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_3">XML_SCHEMAP_SRC_SIMPLE_TYPE_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_4">XML_SCHEMAP_SRC_SIMPLE_TYPE_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES">XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_ST_PROPS_CORRECT_1">XML_SCHEMAP_ST_PROPS_CORRECT_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_ST_PROPS_CORRECT_2">XML_SCHEMAP_ST_PROPS_CORRECT_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_ST_PROPS_CORRECT_3">XML_SCHEMAP_ST_PROPS_CORRECT_3</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE">XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_TYPE_AND_SUBTYPE">XML_SCHEMAP_TYPE_AND_SUBTYPE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNION_NOT_EXPRESSIBLE">XML_SCHEMAP_UNION_NOT_EXPRESSIBLE</a><br />
@@ -2020,6 +2126,27 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_ATTRINVALID">XML_SCHEMAV_ATTRINVALID</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_ATTRUNKNOWN">XML_SCHEMAV_ATTRUNKNOWN</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CONSTRUCT">XML_SCHEMAV_CONSTRUCT</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ENUMERATION_VALID">XML_SCHEMAV_CVC_ENUMERATION_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_FACET_VALID">XML_SCHEMAV_CVC_FACET_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID">XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_LENGTH_VALID">XML_SCHEMAV_CVC_LENGTH_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID">XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID">XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MAXLENGTH_VALID">XML_SCHEMAV_CVC_MAXLENGTH_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID">XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MININCLUSIVE_VALID">XML_SCHEMAV_CVC_MININCLUSIVE_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MINLENGTH_VALID">XML_SCHEMAV_CVC_MINLENGTH_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_PATTERN_VALID">XML_SCHEMAV_CVC_PATTERN_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TOTALDIGITS_VALID">XML_SCHEMAV_CVC_TOTALDIGITS_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_3_1_1">XML_SCHEMAV_CVC_TYPE_3_1_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_3_1_2">XML_SCHEMAV_CVC_TYPE_3_1_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_ELEMCONT">XML_SCHEMAV_ELEMCONT</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_EXTRACONTENT">XML_SCHEMAV_EXTRACONTENT</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_FACET">XML_SCHEMAV_FACET</a><br />
@@ -2338,14 +2465,19 @@
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a><br />
 </p><h2><a name="xmlschemastypes" id="xmlschemastypes">Module xmlschemastypes</a>:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaCleanupTypes">xmlSchemaCleanupTypes</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaCollapseString">xmlSchemaCollapseString</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaCompareValues">xmlSchemaCompareValues</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaFreeFacet">xmlSchemaFreeFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaFreeValue">xmlSchemaFreeValue</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaInitTypes">xmlSchemaInitTypes</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaNewFacet">xmlSchemaNewFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
 </p><h2><a name="xmlstring" id="xmlstring">Module xmlstring</a>:</h2><p><a href="html/libxml-xmlstring.html#BAD_CAST">BAD_CAST</a><br />
 <a href="html/libxml-xmlstring.html#xmlChar">xmlChar</a><br />
diff --git a/doc/APIfunctions.html b/doc/APIfunctions.html
index 41ee675..fb9a923 100644
--- a/doc/APIfunctions.html
+++ b/doc/APIfunctions.html
@@ -324,9 +324,11 @@
 <a href="html/libxml-SAX2.html#xmlSAX2UnparsedEntityDecl">xmlSAX2UnparsedEntityDecl</a><br />
 <a href="html/libxml-parser.html#xmlSAXParseDTD">xmlSAXParseDTD</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaCollapseString">xmlSchemaCollapseString</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
 <a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
 <a href="html/libxml-tree.html#xmlSearchNsByHref">xmlSearchNsByHref</a><br />
@@ -570,6 +572,8 @@
 <a href="html/libxml-chvalid.html#xmlIsIdeographic">xmlIsIdeographic</a><br />
 <a href="html/libxml-chvalid.html#xmlIsPubidChar">xmlIsPubidChar</a><br />
 </p><h2>Type unsigned long:</h2><p><a href="html/libxml-nanoftp.html#ftpListCallback">ftpListCallback</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
+</p><h2>Type unsigned long *:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 </p><h2>Type va_list:</h2><p><a href="html/libxml-xmlstring.html#xmlStrVPrintf">xmlStrVPrintf</a><br />
 <a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatAttribute">xmlTextWriterWriteVFormatAttribute</a><br />
 <a href="html/libxml-xmlwriter.html#xmlTextWriterWriteVFormatAttributeNS">xmlTextWriterWriteVFormatAttributeNS</a><br />
@@ -975,7 +979,7 @@
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFd">xmlParserInputBufferCreateFd</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFile">xmlParserInputBufferCreateFile</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a><br />
+<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateIO">xmlParserInputBufferCreateIO</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateMem">xmlParserInputBufferCreateMem</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a><br />
@@ -989,7 +993,7 @@
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFd">xmlOutputBufferCreateFd</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFile">xmlOutputBufferCreateFile</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a><br />
+<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a><br />
 <a href="html/libxml-encoding.html#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a><br />
 <a href="html/libxml-parserInternals.html#xmlSwitchInputEncoding">xmlSwitchInputEncoding</a><br />
@@ -1496,7 +1500,7 @@
 <a href="html/libxml-valid.html#xmlValidateOneNamespace">xmlValidateOneNamespace</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNodeSetAddNs">xmlXPathNodeSetAddNs</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a><br />
-</p><h2>Type xmlOutputBufferCreateFilenameFunc:</h2><p><a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
+</p><h2>Type xmlOutputBufferCreateFilenameFunc:</h2><p><a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
 <a href="html/libxml-globals.html#xmlThrDefOutputBufferCreateFilenameDefault">xmlThrDefOutputBufferCreateFilenameDefault</a><br />
 </p><h2>Type xmlOutputBufferPtr:</h2><p><a href="html/libxml-HTMLtree.html#htmlDocContentDumpFormatOutput">htmlDocContentDumpFormatOutput</a><br />
 <a href="html/libxml-HTMLtree.html#htmlDocContentDumpOutput">htmlDocContentDumpOutput</a><br />
@@ -1625,7 +1629,7 @@
 <a href="html/libxml-parserInternals.html#xmlSwitchEncoding">xmlSwitchEncoding</a><br />
 <a href="html/libxml-parserInternals.html#xmlSwitchInputEncoding">xmlSwitchInputEncoding</a><br />
 <a href="html/libxml-parserInternals.html#xmlSwitchToEncoding">xmlSwitchToEncoding</a><br />
-</p><h2>Type xmlParserInputBufferCreateFilenameFunc:</h2><p><a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
+</p><h2>Type xmlParserInputBufferCreateFilenameFunc:</h2><p><a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
 <a href="html/libxml-globals.html#xmlThrDefParserInputBufferCreateFilenameDefault">xmlThrDefParserInputBufferCreateFilenameDefault</a><br />
 </p><h2>Type xmlParserInputBufferPtr:</h2><p><a href="html/libxml-xmlIO.html#xmlFreeParserInputBuffer">xmlFreeParserInputBuffer</a><br />
 <a href="html/libxml-parser.html#xmlIOParseDTD">xmlIOParseDTD</a><br />
@@ -1732,6 +1736,7 @@
 </p><h2>Type xmlSchemaFacetPtr:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaFreeFacet">xmlSchemaFreeFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 </p><h2>Type xmlSchemaParserCtxtPtr:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaFreeParserCtxt">xmlSchemaFreeParserCtxt</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaParse">xmlSchemaParse</a><br />
@@ -1741,6 +1746,8 @@
 <a href="html/libxml-xmlschemas.html#xmlSchemaNewValidCtxt">xmlSchemaNewValidCtxt</a><br />
 </p><h2>Type xmlSchemaTypePtr:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaFreeType">xmlSchemaFreeType</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
@@ -1749,6 +1756,7 @@
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
 </p><h2>Type xmlSchemaValPtr *:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
+</p><h2>Type xmlSchemaValType:</h2><p><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a><br />
 </p><h2>Type xmlSchemaValidCtxtPtr:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaFreeValidCtxt">xmlSchemaFreeValidCtxt</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a><br />
@@ -1757,6 +1765,7 @@
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
 </p><h2>Type xmlSchemaValidityWarningFunc:</h2><p><a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
+</p><h2>Type xmlSchemaWildcardPtr:</h2><p><a href="html/libxml-schemasInternals.html#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a><br />
 </p><h2>Type xmlShellCtxtPtr:</h2><p><a href="html/libxml-debugXML.html#xmlShellBase">xmlShellBase</a><br />
 <a href="html/libxml-debugXML.html#xmlShellCat">xmlShellCat</a><br />
 <a href="html/libxml-debugXML.html#xmlShellCmd">xmlShellCmd</a><br />
diff --git a/doc/APIsymbols.html b/doc/APIsymbols.html
index ac9d444..5a90de5 100644
--- a/doc/APIsymbols.html
+++ b/doc/APIsymbols.html
@@ -694,6 +694,28 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_ATTR_NONAME_NOREF">XML_SCHEMAP_ATTR_NONAME_NOREF</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF">XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_CT_EXTENDS_1_3">XML_SCHEMAP_COS_CT_EXTENDS_1_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_DERIVED_OK_2_1">XML_SCHEMAP_COS_ST_DERIVED_OK_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_DERIVED_OK_2_2">XML_SCHEMAP_COS_ST_DERIVED_OK_2_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_1">XML_SCHEMAP_COS_ST_RESTRICTS_1_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_1_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2">XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_1">XML_SCHEMAP_CT_PROPS_CORRECT_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_2">XML_SCHEMAP_CT_PROPS_CORRECT_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_3">XML_SCHEMAP_CT_PROPS_CORRECT_3</a><br />
@@ -754,9 +776,24 @@
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_REF_AND_SUBTYPE">XML_SCHEMAP_REF_AND_SUBTYPE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_REGEXP_INVALID">XML_SCHEMAP_REGEXP_INVALID</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_RESTRICTION_NONAME_NOREF">XML_SCHEMAP_RESTRICTION_NONAME_NOREF</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ATTR_MISSING">XML_SCHEMAP_S4S_ATTR_MISSING</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED">XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ELEM_MISSING">XML_SCHEMAP_S4S_ELEM_MISSING</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED">XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SIMPLETYPE_NONAME">XML_SCHEMAP_SIMPLETYPE_NONAME</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_3_1">XML_SCHEMAP_SRC_IMPORT_3_1</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_3_2">XML_SCHEMAP_SRC_IMPORT_3_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE">XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_RESOLVE">XML_SCHEMAP_SRC_RESOLVE</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE">XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_1">XML_SCHEMAP_SRC_SIMPLE_TYPE_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_2">XML_SCHEMAP_SRC_SIMPLE_TYPE_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_3">XML_SCHEMAP_SRC_SIMPLE_TYPE_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_4">XML_SCHEMAP_SRC_SIMPLE_TYPE_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES">XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_ST_PROPS_CORRECT_1">XML_SCHEMAP_ST_PROPS_CORRECT_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_ST_PROPS_CORRECT_2">XML_SCHEMAP_ST_PROPS_CORRECT_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAP_ST_PROPS_CORRECT_3">XML_SCHEMAP_ST_PROPS_CORRECT_3</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE">XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_TYPE_AND_SUBTYPE">XML_SCHEMAP_TYPE_AND_SUBTYPE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAP_UNION_NOT_EXPRESSIBLE">XML_SCHEMAP_UNION_NOT_EXPRESSIBLE</a><br />
@@ -793,6 +830,9 @@
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a><br />
 <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_ANYSIMPLETYPE">XML_SCHEMAS_ANYSIMPLETYPE</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYTYPE">XML_SCHEMAS_ANYTYPE</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANYURI">XML_SCHEMAS_ANYURI</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_SKIP">XML_SCHEMAS_ANY_SKIP</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a><br />
@@ -803,6 +843,14 @@
 <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_BASE64BINARY">XML_SCHEMAS_BASE64BINARY</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BOOLEAN">XML_SCHEMAS_BOOLEAN</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_BYTE">XML_SCHEMAS_BYTE</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_DATE">XML_SCHEMAS_DATE</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_DATETIME">XML_SCHEMAS_DATETIME</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_DECIMAL">XML_SCHEMAS_DECIMAL</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_DOUBLE">XML_SCHEMAS_DOUBLE</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_DURATION">XML_SCHEMAS_DURATION</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 />
@@ -811,6 +859,8 @@
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ENTITIES">XML_SCHEMAS_ENTITIES</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ENTITY">XML_SCHEMAS_ENTITY</a><br />
 <a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_">XML_SCHEMAS_ERR_</a><br />
 <a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_ATTRINVALID">XML_SCHEMAS_ERR_ATTRINVALID</a><br />
 <a href="html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_ATTRUNKNOWN">XML_SCHEMAS_ERR_ATTRUNKNOWN</a><br />
@@ -841,17 +891,86 @@
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FLOAT">XML_SCHEMAS_FLOAT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_GDAY">XML_SCHEMAS_GDAY</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_GMONTH">XML_SCHEMAS_GMONTH</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_GMONTHDAY">XML_SCHEMAS_GMONTHDAY</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_GYEAR">XML_SCHEMAS_GYEAR</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_GYEARMONTH">XML_SCHEMAS_GYEARMONTH</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_HEXBINARY">XML_SCHEMAS_HEXBINARY</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ID">XML_SCHEMAS_ID</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_IDREF">XML_SCHEMAS_IDREF</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_IDREFS">XML_SCHEMAS_IDREFS</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_INT">XML_SCHEMAS_INT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_INTEGER">XML_SCHEMAS_INTEGER</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_LANGUAGE">XML_SCHEMAS_LANGUAGE</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_LONG">XML_SCHEMAS_LONG</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NAME">XML_SCHEMAS_NAME</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NCNAME">XML_SCHEMAS_NCNAME</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NINTEGER">XML_SCHEMAS_NINTEGER</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NMTOKEN">XML_SCHEMAS_NMTOKEN</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NMTOKENS">XML_SCHEMAS_NMTOKENS</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NNINTEGER">XML_SCHEMAS_NNINTEGER</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NORMSTRING">XML_SCHEMAS_NORMSTRING</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NOTATION">XML_SCHEMAS_NOTATION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_NPINTEGER">XML_SCHEMAS_NPINTEGER</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_PINTEGER">XML_SCHEMAS_PINTEGER</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_QNAME">XML_SCHEMAS_QNAME</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_SHORT">XML_SCHEMAS_SHORT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_STRING">XML_SCHEMAS_STRING</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TIME">XML_SCHEMAS_TIME</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TOKEN">XML_SCHEMAS_TOKEN</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_DEFAULT">XML_SCHEMAS_TYPE_FINAL_DEFAULT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_GLOBAL">XML_SCHEMAS_TYPE_GLOBAL</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_UBYTE">XML_SCHEMAS_UBYTE</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_UINT">XML_SCHEMAS_UINT</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ULONG">XML_SCHEMAS_ULONG</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_UNKNOWN">XML_SCHEMAS_UNKNOWN</a><br />
+<a href="html/libxml-schemasInternals.html#XML_SCHEMAS_USHORT">XML_SCHEMAS_USHORT</a><br />
 <a href="html/libxml-schemasInternals.html#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_ATTRINVALID">XML_SCHEMAV_ATTRINVALID</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_ATTRUNKNOWN">XML_SCHEMAV_ATTRUNKNOWN</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_CONSTRUCT">XML_SCHEMAV_CONSTRUCT</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ENUMERATION_VALID">XML_SCHEMAV_CVC_ENUMERATION_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_FACET_VALID">XML_SCHEMAV_CVC_FACET_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID">XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_LENGTH_VALID">XML_SCHEMAV_CVC_LENGTH_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID">XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID">XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MAXLENGTH_VALID">XML_SCHEMAV_CVC_MAXLENGTH_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID">XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MININCLUSIVE_VALID">XML_SCHEMAV_CVC_MININCLUSIVE_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MINLENGTH_VALID">XML_SCHEMAV_CVC_MINLENGTH_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_PATTERN_VALID">XML_SCHEMAV_CVC_PATTERN_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TOTALDIGITS_VALID">XML_SCHEMAV_CVC_TOTALDIGITS_VALID</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_3_1_1">XML_SCHEMAV_CVC_TYPE_3_1_1</a><br />
+<a href="html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_3_1_2">XML_SCHEMAV_CVC_TYPE_3_1_2</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_ELEMCONT">XML_SCHEMAV_ELEMCONT</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_EXTRACONTENT">XML_SCHEMAV_EXTRACONTENT</a><br />
 <a href="html/libxml-xmlerror.html#XML_SCHEMAV_FACET">XML_SCHEMAV_FACET</a><br />
@@ -1059,8 +1178,10 @@
 <a href="html/libxml-schemasInternals.html#_xmlSchemaAttributeLink">_xmlSchemaAttributeLink</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaElement">_xmlSchemaElement</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaFacet">_xmlSchemaFacet</a><br />
+<a href="html/libxml-schemasInternals.html#_xmlSchemaFacetLink">_xmlSchemaFacetLink</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaNotation">_xmlSchemaNotation</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
+<a href="html/libxml-schemasInternals.html#_xmlSchemaTypeLink">_xmlSchemaTypeLink</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaWildcard">_xmlSchemaWildcard</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaWildcardNs">_xmlSchemaWildcardNs</a><br />
 <a href="html/libxml-debugXML.html#_xmlShellCtxt">_xmlShellCtxt</a><br />
@@ -1896,8 +2017,8 @@
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFd">xmlOutputBufferCreateFd</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFile">xmlOutputBufferCreateFile</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
-<a href="html/libxml-xmlIO.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a><br />
+<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a><br />
+<a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a><br />
 <a href="html/libxml-globals.html#xmlOutputBufferCreateFilenameValue">xmlOutputBufferCreateFilenameValue</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputBufferFlush">xmlOutputBufferFlush</a><br />
@@ -1987,8 +2108,8 @@
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFd">xmlParserInputBufferCreateFd</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFile">xmlParserInputBufferCreateFile</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
-<a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a><br />
+<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a><br />
+<a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a><br />
 <a href="html/libxml-globals.html#xmlParserInputBufferCreateFilenameValue">xmlParserInputBufferCreateFilenameValue</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateIO">xmlParserInputBufferCreateIO</a><br />
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferCreateMem">xmlParserInputBufferCreateMem</a><br />
@@ -2203,12 +2324,15 @@
 <a href="html/libxml-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaCleanupTypes">xmlSchemaCleanupTypes</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaCollapseString">xmlSchemaCollapseString</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaCompareValues">xmlSchemaCompareValues</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaContentType">xmlSchemaContentType</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaDump">xmlSchemaDump</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaElement">xmlSchemaElement</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaElementPtr">xmlSchemaElementPtr</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaFacet">xmlSchemaFacet</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaFacetLink">xmlSchemaFacetLink</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaFacetLinkPtr">xmlSchemaFacetLinkPtr</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaFree">xmlSchemaFree</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaFreeFacet">xmlSchemaFreeFacet</a><br />
@@ -2216,8 +2340,12 @@
 <a href="html/libxml-schemasInternals.html#xmlSchemaFreeType">xmlSchemaFreeType</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaFreeValidCtxt">xmlSchemaFreeValidCtxt</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaFreeValue">xmlSchemaFreeValue</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaInitTypes">xmlSchemaInitTypes</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaNewDocParserCtxt">xmlSchemaNewDocParserCtxt</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaNewFacet">xmlSchemaNewFacet</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaNewMemParserCtxt">xmlSchemaNewMemParserCtxt</a><br />
@@ -2232,16 +2360,20 @@
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaType">xmlSchemaType</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaTypeLink">xmlSchemaTypeLink</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaTypeLinkPtr">xmlSchemaTypeLinkPtr</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaVal">xmlSchemaVal</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a><br />
 <a href="html/libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a><br />
+<a href="html/libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidError">xmlSchemaValidError</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a><br />
+<a href="html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a><br />
diff --git a/doc/Makefile.am b/doc/Makefile.am
index f56c249..adb3225 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -37,6 +37,7 @@
 	  echo "Rebuilding the elfgcchack.h header" ; \
 	  $(bindir)/xsltproc --nonet $(srcdir)/elfgcchack.xsl $(srcdir)/libxml2-api.xml > elfgcchack.h ; \
 	  if [ "`diff -q elfgcchack.h ../elfgcchack.h`" ] ; then \
+	    echo "updating ../elfgcchack.h"; \
 	    cp elfgcchack.h ../elfgcchack.h; \
 	  fi ; rm -f elfgcchack.h ;  fi );
 
diff --git a/doc/html/libxml-globals.html b/doc/html/libxml-globals.html
index 15f32b3..e5daec8 100644
--- a/doc/html/libxml-globals.html
+++ b/doc/html/libxml-globals.html
@@ -19,6 +19,14 @@
 </pre>
 <pre class="programlisting">void	<a href="#xmlInitGlobals">xmlInitGlobals</a>			(void)</pre>
 <pre class="programlisting">void	<a href="#xmlInitializeGlobalState">xmlInitializeGlobalState</a>	(<a href="libxml-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> gs)</pre>
+<pre class="programlisting"><a href="libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	<a href="#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a>	(<a href="libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)</pre>
+<pre class="programlisting">Function type: <a href="#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>
+<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	(const char * URI, <br />							 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br />							 int compression)
+</pre>
+<pre class="programlisting"><a href="libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	<a href="#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a>	(<a href="libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func)</pre>
+<pre class="programlisting">Function type: <a href="#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>
+<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	(const char * URI, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)
+</pre>
 <pre class="programlisting"><a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	<a href="#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a>	(<a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func)</pre>
 <pre class="programlisting">Function type: <a href="#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>
 void	<a href="#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)
@@ -32,9 +40,9 @@
 <pre class="programlisting">int	<a href="#xmlThrDefKeepBlanksDefaultValue">xmlThrDefKeepBlanksDefaultValue</a>	(int v)</pre>
 <pre class="programlisting">int	<a href="#xmlThrDefLineNumbersDefaultValue">xmlThrDefLineNumbersDefaultValue</a>	(int v)</pre>
 <pre class="programlisting">int	<a href="#xmlThrDefLoadExtDtdDefaultValue">xmlThrDefLoadExtDtdDefaultValue</a>	(int v)</pre>
-<pre class="programlisting"><a href="libxml-xmlIO.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	<a href="#xmlThrDefOutputBufferCreateFilenameDefault">xmlThrDefOutputBufferCreateFilenameDefault</a>	(<a href="libxml-xmlIO.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)</pre>
+<pre class="programlisting"><a href="libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	<a href="#xmlThrDefOutputBufferCreateFilenameDefault">xmlThrDefOutputBufferCreateFilenameDefault</a>	(<a href="libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)</pre>
 <pre class="programlisting">int	<a href="#xmlThrDefParserDebugEntities">xmlThrDefParserDebugEntities</a>	(int v)</pre>
-<pre class="programlisting"><a href="libxml-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	<a href="#xmlThrDefParserInputBufferCreateFilenameDefault">xmlThrDefParserInputBufferCreateFilenameDefault</a>	(<a href="libxml-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func)</pre>
+<pre class="programlisting"><a href="libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	<a href="#xmlThrDefParserInputBufferCreateFilenameDefault">xmlThrDefParserInputBufferCreateFilenameDefault</a>	(<a href="libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func)</pre>
 <pre class="programlisting">int	<a href="#xmlThrDefPedanticParserDefaultValue">xmlThrDefPedanticParserDefaultValue</a>	(int v)</pre>
 <pre class="programlisting"><a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	<a href="#xmlThrDefRegisterNodeDefault">xmlThrDefRegisterNodeDefault</a>	(<a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func)</pre>
 <pre class="programlisting">int	<a href="#xmlThrDefSaveNoEmptyTags">xmlThrDefSaveNoEmptyTags</a>	(int v)</pre>
@@ -74,8 +82,8 @@
     <a href="libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	xmlDeregisterNodeDefaultValue
     <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a>	xmlMallocAtomic
     <a href="libxml-xmlerror.html#xmlError">xmlError</a>	xmlLastError
-    <a href="libxml-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	xmlParserInputBufferCreateFilenameValue
-    <a href="libxml-xmlIO.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	xmlOutputBufferCreateFilenameValue
+    <a href="libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	xmlParserInputBufferCreateFilenameValue
+    <a href="libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	xmlOutputBufferCreateFilenameValue
 }</pre><h3><a name="xmlCleanupGlobals" id="xmlCleanupGlobals"></a>Function: xmlCleanupGlobals</h3><pre class="programlisting">void	xmlCleanupGlobals		(void)<br />
 </pre><p>Additional cleanup for multi-threading</p>
 <h3><a name="xmlDeregisterNodeDefault" id="xmlDeregisterNodeDefault"></a>Function: xmlDeregisterNodeDefault</h3><pre class="programlisting"><a href="libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	xmlDeregisterNodeDefault	(<a href="libxml-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func)<br />
@@ -87,7 +95,17 @@
 </pre><p>Additional initialisation for multi-threading</p>
 <h3><a name="xmlInitializeGlobalState" id="xmlInitializeGlobalState"></a>Function: xmlInitializeGlobalState</h3><pre class="programlisting">void	xmlInitializeGlobalState	(<a href="libxml-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> gs)<br />
 </pre><p>xmlInitializeGlobalState() initialize a global state with all the default values of the library.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>gs</tt></i>:</span></td><td>a pointer to a newly allocated global state</td></tr></tbody></table></div><h3><a name="xmlRegisterNodeDefault" id="xmlRegisterNodeDefault"></a>Function: xmlRegisterNodeDefault</h3><pre class="programlisting"><a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	xmlRegisterNodeDefault	(<a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>gs</tt></i>:</span></td><td>a pointer to a newly allocated global state</td></tr></tbody></table></div><h3><a name="xmlOutputBufferCreateFilenameDefault" id="xmlOutputBufferCreateFilenameDefault"></a>Function: xmlOutputBufferCreateFilenameDefault</h3><pre class="programlisting"><a href="libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	xmlOutputBufferCreateFilenameDefault	(<a href="libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)<br />
+</pre><p>Registers a callback for URI output file handling</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>func</tt></i>:</span></td><td>function pointer to the new OutputBufferCreateFilenameFunc</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the old value of the registration function</td></tr></tbody></table></div><h3><a name="xmlOutputBufferCreateFilenameFunc" id="xmlOutputBufferCreateFilenameFunc"></a>Function type: xmlOutputBufferCreateFilenameFunc</h3><pre class="programlisting">Function type: xmlOutputBufferCreateFilenameFunc
+<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFilenameFunc	(const char * URI, <br />							 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br />							 int compression)
+</pre><p></p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>encoder</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><br />
+<h3><a name="xmlParserInputBufferCreateFilenameDefault" id="xmlParserInputBufferCreateFilenameDefault"></a>Function: xmlParserInputBufferCreateFilenameDefault</h3><pre class="programlisting"><a href="libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	xmlParserInputBufferCreateFilenameDefault	(<a href="libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func)<br />
+</pre><p>Registers a callback for URI input file handling</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>func</tt></i>:</span></td><td>function pointer to the new ParserInputBufferCreateFilenameFunc</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the old value of the registration function</td></tr></tbody></table></div><h3><a name="xmlParserInputBufferCreateFilenameFunc" id="xmlParserInputBufferCreateFilenameFunc"></a>Function type: xmlParserInputBufferCreateFilenameFunc</h3><pre class="programlisting">Function type: xmlParserInputBufferCreateFilenameFunc
+<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFilenameFunc	(const char * URI, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)
+</pre><p></p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><br />
+<h3><a name="xmlRegisterNodeDefault" id="xmlRegisterNodeDefault"></a>Function: xmlRegisterNodeDefault</h3><pre class="programlisting"><a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	xmlRegisterNodeDefault	(<a href="libxml-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func)<br />
 </pre><p>Registers a callback for node creation</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>func</tt></i>:</span></td><td>function pointer to the new RegisterNodeFunc</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the old value of the registration function</td></tr></tbody></table></div><h3><a name="xmlRegisterNodeFunc" id="xmlRegisterNodeFunc"></a>Function type: xmlRegisterNodeFunc</h3><pre class="programlisting">Function type: xmlRegisterNodeFunc
 void	xmlRegisterNodeFunc		(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)
@@ -110,11 +128,11 @@
 </pre><p></p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>v</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="xmlThrDefLoadExtDtdDefaultValue" id="xmlThrDefLoadExtDtdDefaultValue"></a>Function: xmlThrDefLoadExtDtdDefaultValue</h3><pre class="programlisting">int	xmlThrDefLoadExtDtdDefaultValue	(int v)<br />
 </pre><p></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>v</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="xmlThrDefOutputBufferCreateFilenameDefault" id="xmlThrDefOutputBufferCreateFilenameDefault"></a>Function: xmlThrDefOutputBufferCreateFilenameDefault</h3><pre class="programlisting"><a href="libxml-xmlIO.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	xmlThrDefOutputBufferCreateFilenameDefault	(<a href="libxml-xmlIO.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>v</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="xmlThrDefOutputBufferCreateFilenameDefault" id="xmlThrDefOutputBufferCreateFilenameDefault"></a>Function: xmlThrDefOutputBufferCreateFilenameDefault</h3><pre class="programlisting"><a href="libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	xmlThrDefOutputBufferCreateFilenameDefault	(<a href="libxml-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)<br />
 </pre><p></p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>func</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="xmlThrDefParserDebugEntities" id="xmlThrDefParserDebugEntities"></a>Function: xmlThrDefParserDebugEntities</h3><pre class="programlisting">int	xmlThrDefParserDebugEntities	(int v)<br />
 </pre><p></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>v</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="xmlThrDefParserInputBufferCreateFilenameDefault" id="xmlThrDefParserInputBufferCreateFilenameDefault"></a>Function: xmlThrDefParserInputBufferCreateFilenameDefault</h3><pre class="programlisting"><a href="libxml-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	xmlThrDefParserInputBufferCreateFilenameDefault	(<a href="libxml-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>v</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="xmlThrDefParserInputBufferCreateFilenameDefault" id="xmlThrDefParserInputBufferCreateFilenameDefault"></a>Function: xmlThrDefParserInputBufferCreateFilenameDefault</h3><pre class="programlisting"><a href="libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	xmlThrDefParserInputBufferCreateFilenameDefault	(<a href="libxml-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func)<br />
 </pre><p></p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>func</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="xmlThrDefPedanticParserDefaultValue" id="xmlThrDefPedanticParserDefaultValue"></a>Function: xmlThrDefPedanticParserDefaultValue</h3><pre class="programlisting">int	xmlThrDefPedanticParserDefaultValue	(int v)<br />
 </pre><p></p>
diff --git a/doc/html/libxml-schemasInternals.html b/doc/html/libxml-schemasInternals.html
index 96518af..4e9c30f 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><li><a href="../ChangeLog.html">ChangeLog</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_ANY_LAX">XML_SCHEMAS_ANY_LAX</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_SKIP">XML_SCHEMAS_ANY_SKIP</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</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_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_GLOBAL">XML_SCHEMAS_TYPE_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</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><li><a href="../ChangeLog.html">ChangeLog</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_ANY_LAX">XML_SCHEMAS_ANY_LAX</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_SKIP">XML_SCHEMAS_ANY_SKIP</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</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_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</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_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_DEFAULT">XML_SCHEMAS_TYPE_FINAL_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_GLOBAL">XML_SCHEMAS_TYPE_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</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
@@ -22,53 +22,73 @@
 </pre><pre class="programlisting">Structure <a href="#xmlSchemaElement">xmlSchemaElement</a><br />struct _xmlSchemaElement
 </pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaElement">xmlSchemaElement</a> * <a name="xmlSchemaElementPtr" id="xmlSchemaElementPtr">xmlSchemaElementPtr</a>
 </pre><pre class="programlisting">Structure <a href="#xmlSchemaFacet">xmlSchemaFacet</a><br />struct _xmlSchemaFacet
+</pre><pre class="programlisting">Structure <a href="#xmlSchemaFacetLink">xmlSchemaFacetLink</a><br />struct _xmlSchemaFacetLink
+</pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaFacetLink">xmlSchemaFacetLink</a> * <a name="xmlSchemaFacetLinkPtr" id="xmlSchemaFacetLinkPtr">xmlSchemaFacetLinkPtr</a>
 </pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaFacet">xmlSchemaFacet</a> * <a name="xmlSchemaFacetPtr" id="xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>
 </pre><pre class="programlisting">Structure <a href="#xmlSchemaNotation">xmlSchemaNotation</a><br />struct _xmlSchemaNotation
 </pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaNotation">xmlSchemaNotation</a> * <a name="xmlSchemaNotationPtr" id="xmlSchemaNotationPtr">xmlSchemaNotationPtr</a>
 </pre><pre class="programlisting">Structure <a href="#xmlSchemaType">xmlSchemaType</a><br />struct _xmlSchemaType
+</pre><pre class="programlisting">Structure <a href="#xmlSchemaTypeLink">xmlSchemaTypeLink</a><br />struct _xmlSchemaTypeLink
+</pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaTypeLink">xmlSchemaTypeLink</a> * <a name="xmlSchemaTypeLinkPtr" id="xmlSchemaTypeLinkPtr">xmlSchemaTypeLinkPtr</a>
 </pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaType">xmlSchemaType</a> * <a name="xmlSchemaTypePtr" id="xmlSchemaTypePtr">xmlSchemaTypePtr</a>
 </pre><pre class="programlisting">Enum <a href="#xmlSchemaTypeType">xmlSchemaTypeType</a>
 </pre><pre class="programlisting">Structure <a href="#xmlSchemaVal">xmlSchemaVal</a><br />struct _xmlSchemaVal
 The content of this structure is not made public by the API.
 </pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaVal">xmlSchemaVal</a> * <a name="xmlSchemaValPtr" id="xmlSchemaValPtr">xmlSchemaValPtr</a>
+</pre><pre class="programlisting">Enum <a href="#xmlSchemaValType">xmlSchemaValType</a>
 </pre><pre class="programlisting">Structure <a href="#xmlSchemaWildcard">xmlSchemaWildcard</a><br />struct _xmlSchemaWildcard
 </pre><pre class="programlisting">Structure <a href="#xmlSchemaWildcardNs">xmlSchemaWildcardNs</a><br />struct _xmlSchemaWildcardNs
 </pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaWildcardNs">xmlSchemaWildcardNs</a> * <a name="xmlSchemaWildcardNsPtr" id="xmlSchemaWildcardNsPtr">xmlSchemaWildcardNsPtr</a>
 </pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaWildcard">xmlSchemaWildcard</a> * <a name="xmlSchemaWildcardPtr" id="xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a>
 </pre><pre class="programlisting">void	<a href="#xmlSchemaFreeType">xmlSchemaFreeType</a>		(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type)</pre>
+<pre class="programlisting">void	<a href="#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a>		(<a href="libxml-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a> wildcard)</pre>
 <h2>Description</h2>
-<h3><a name="XML_SCHEMAS_ANYATTR_LAX" id="XML_SCHEMAS_ANYATTR_LAX"></a>Macro: XML_SCHEMAS_ANYATTR_LAX</h3><pre>#define XML_SCHEMAS_ANYATTR_LAX</pre><p>Ignore validation non definition on attributes</p>
-<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_ANY_LAX" id="XML_SCHEMAS_ANY_LAX"></a>Macro: XML_SCHEMAS_ANY_LAX</h3><pre>#define XML_SCHEMAS_ANY_LAX</pre><p>Ignore validation non definition on attributes</p>
+<h3><a name="XML_SCHEMAS_ANYATTR_LAX" id="XML_SCHEMAS_ANYATTR_LAX"></a>Macro: XML_SCHEMAS_ANYATTR_LAX</h3><pre>#define XML_SCHEMAS_ANYATTR_LAX</pre><p>Ignore validation non definition on attributes Obsolete, not used anymore.</p>
+<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 Obsolete, not used anymore.</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 Obsolete, not used anymore.</p>
+<h3><a name="XML_SCHEMAS_ANY_LAX" id="XML_SCHEMAS_ANY_LAX"></a>Macro: XML_SCHEMAS_ANY_LAX</h3><pre>#define XML_SCHEMAS_ANY_LAX</pre><p>Used by wildcards. Validate if type found, don't worry if not found</p>
 <h3><a name="XML_SCHEMAS_ANY_SKIP" id="XML_SCHEMAS_ANY_SKIP"></a>Macro: XML_SCHEMAS_ANY_SKIP</h3><pre>#define XML_SCHEMAS_ANY_SKIP</pre><p>Skip unknown <a href="libxml-SAX.html#attribute">attribute</a> from validation</p>
-<h3><a name="XML_SCHEMAS_ANY_STRICT" id="XML_SCHEMAS_ANY_STRICT"></a>Macro: XML_SCHEMAS_ANY_STRICT</h3><pre>#define XML_SCHEMAS_ANY_STRICT</pre><p>Apply strict validation rules on attributes</p>
+<h3><a name="XML_SCHEMAS_ANY_STRICT" id="XML_SCHEMAS_ANY_STRICT"></a>Macro: XML_SCHEMAS_ANY_STRICT</h3><pre>#define XML_SCHEMAS_ANY_STRICT</pre><p>Used by wildcards. Apply strict validation rules</p>
 <h3><a name="XML_SCHEMAS_ATTRGROUP_GLOBAL" id="XML_SCHEMAS_ATTRGROUP_GLOBAL"></a>Macro: XML_SCHEMAS_ATTRGROUP_GLOBAL</h3><pre>#define XML_SCHEMAS_ATTRGROUP_GLOBAL</pre><p>The <a href="libxml-SAX.html#attribute">attribute</a> wildcard has been already builded.</p>
 <h3><a name="XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED" id="XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED"></a>Macro: XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</h3><pre>#define XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</pre><p>The <a href="libxml-SAX.html#attribute">attribute</a> wildcard has been already builded.</p>
 <h3><a name="XML_SCHEMAS_ATTR_GLOBAL" id="XML_SCHEMAS_ATTR_GLOBAL"></a>Macro: XML_SCHEMAS_ATTR_GLOBAL</h3><pre>#define XML_SCHEMAS_ATTR_GLOBAL</pre><p></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_PROHIBITED" id="XML_SCHEMAS_ATTR_USE_PROHIBITED"></a>Macro: XML_SCHEMAS_ATTR_USE_PROHIBITED</h3><pre>#define XML_SCHEMAS_ATTR_USE_PROHIBITED</pre><p>Used by wildcards. 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>
 <h3><a name="XML_SCHEMAS_ELEM_GLOBAL" id="XML_SCHEMAS_ELEM_GLOBAL"></a>Macro: XML_SCHEMAS_ELEM_GLOBAL</h3><pre>#define XML_SCHEMAS_ELEM_GLOBAL</pre><p>the element is global</p>
 <h3><a name="XML_SCHEMAS_ELEM_NILLABLE" id="XML_SCHEMAS_ELEM_NILLABLE"></a>Macro: XML_SCHEMAS_ELEM_NILLABLE</h3><pre>#define XML_SCHEMAS_ELEM_NILLABLE</pre><p>the element is nillable</p>
-<h3><a name="XML_SCHEMAS_ELEM_NSDEFAULT" id="XML_SCHEMAS_ELEM_NSDEFAULT"></a>Macro: XML_SCHEMAS_ELEM_NSDEFAULT</h3><pre>#define XML_SCHEMAS_ELEM_NSDEFAULT</pre><p>allow elements in no namespace</p>
+<h3><a name="XML_SCHEMAS_ELEM_NSDEFAULT" id="XML_SCHEMAS_ELEM_NSDEFAULT"></a>Macro: XML_SCHEMAS_ELEM_NSDEFAULT</h3><pre>#define XML_SCHEMAS_ELEM_NSDEFAULT</pre><p>allow elements in no namespace Obsolete, not used anymore.</p>
 <h3><a name="XML_SCHEMAS_ELEM_REF" id="XML_SCHEMAS_ELEM_REF"></a>Macro: XML_SCHEMAS_ELEM_REF</h3><pre>#define XML_SCHEMAS_ELEM_REF</pre><p>the element is a <a href="libxml-SAX.html#reference">reference</a> to a type</p>
 <h3><a name="XML_SCHEMAS_ELEM_TOPLEVEL" id="XML_SCHEMAS_ELEM_TOPLEVEL"></a>Macro: XML_SCHEMAS_ELEM_TOPLEVEL</h3><pre>#define XML_SCHEMAS_ELEM_TOPLEVEL</pre><p>the element is top level obsolete: use <a href="libxml-schemasInternals.html#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a> instead</p>
 <h3><a name="XML_SCHEMAS_FACET_COLLAPSE" id="XML_SCHEMAS_FACET_COLLAPSE"></a>Macro: XML_SCHEMAS_FACET_COLLAPSE</h3><pre>#define XML_SCHEMAS_FACET_COLLAPSE</pre><p>collapse the types of the facet</p>
 <h3><a name="XML_SCHEMAS_FACET_PRESERVE" id="XML_SCHEMAS_FACET_PRESERVE"></a>Macro: XML_SCHEMAS_FACET_PRESERVE</h3><pre>#define XML_SCHEMAS_FACET_PRESERVE</pre><p>preserve the type of the facet</p>
 <h3><a name="XML_SCHEMAS_FACET_REPLACE" id="XML_SCHEMAS_FACET_REPLACE"></a>Macro: XML_SCHEMAS_FACET_REPLACE</h3><pre>#define XML_SCHEMAS_FACET_REPLACE</pre><p>replace the type of the facet</p>
 <h3><a name="XML_SCHEMAS_FACET_UNKNOWN" id="XML_SCHEMAS_FACET_UNKNOWN"></a>Macro: XML_SCHEMAS_FACET_UNKNOWN</h3><pre>#define XML_SCHEMAS_FACET_UNKNOWN</pre><p>unknown facet handling</p>
+<h3><a name="XML_SCHEMAS_FINAL_DEFAULT_EXTENSION" id="XML_SCHEMAS_FINAL_DEFAULT_EXTENSION"></a>Macro: XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</h3><pre>#define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</pre><p>the shema has "extension" in the set of finalDefault.</p>
+<h3><a name="XML_SCHEMAS_FINAL_DEFAULT_LIST" id="XML_SCHEMAS_FINAL_DEFAULT_LIST"></a>Macro: XML_SCHEMAS_FINAL_DEFAULT_LIST</h3><pre>#define XML_SCHEMAS_FINAL_DEFAULT_LIST</pre><p>the shema has "list" in the set of finalDefault.</p>
+<h3><a name="XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION" id="XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION"></a>Macro: XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</h3><pre>#define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</pre><p>the shema has "restriction" in the set of finalDefault.</p>
+<h3><a name="XML_SCHEMAS_FINAL_DEFAULT_UNION" id="XML_SCHEMAS_FINAL_DEFAULT_UNION"></a>Macro: XML_SCHEMAS_FINAL_DEFAULT_UNION</h3><pre>#define XML_SCHEMAS_FINAL_DEFAULT_UNION</pre><p>the shema has "union" in the set of finalDefault.</p>
 <h3><a name="XML_SCHEMAS_QUALIF_ATTR" id="XML_SCHEMAS_QUALIF_ATTR"></a>Macro: XML_SCHEMAS_QUALIF_ATTR</h3><pre>#define XML_SCHEMAS_QUALIF_ATTR</pre><p>the shemas requires qualified attributes</p>
 <h3><a name="XML_SCHEMAS_QUALIF_ELEM" id="XML_SCHEMAS_QUALIF_ELEM"></a>Macro: XML_SCHEMAS_QUALIF_ELEM</h3><pre>#define XML_SCHEMAS_QUALIF_ELEM</pre><p>the shemas requires qualified elements</p>
+<h3><a name="XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE" id="XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE"></a>Macro: XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</h3><pre>#define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</pre><p></p>
 <h3><a name="XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION" id="XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION"></a>Macro: XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</h3><pre>#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</pre><p>the simple or complex type has a derivation method of "extension".</p>
 <h3><a name="XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION" id="XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION"></a>Macro: XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</h3><pre>#define XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</pre><p>the simple or complex type has a derivation method of "restriction".</p>
+<h3><a name="XML_SCHEMAS_TYPE_FINAL_DEFAULT" id="XML_SCHEMAS_TYPE_FINAL_DEFAULT"></a>Macro: XML_SCHEMAS_TYPE_FINAL_DEFAULT</h3><pre>#define XML_SCHEMAS_TYPE_FINAL_DEFAULT</pre><p></p>
+<h3><a name="XML_SCHEMAS_TYPE_FINAL_EXTENSION" id="XML_SCHEMAS_TYPE_FINAL_EXTENSION"></a>Macro: XML_SCHEMAS_TYPE_FINAL_EXTENSION</h3><pre>#define XML_SCHEMAS_TYPE_FINAL_EXTENSION</pre><p>the complexType has a final of "extension".</p>
+<h3><a name="XML_SCHEMAS_TYPE_FINAL_LIST" id="XML_SCHEMAS_TYPE_FINAL_LIST"></a>Macro: XML_SCHEMAS_TYPE_FINAL_LIST</h3><pre>#define XML_SCHEMAS_TYPE_FINAL_LIST</pre><p>the simpleType has a final of "list".</p>
+<h3><a name="XML_SCHEMAS_TYPE_FINAL_RESTRICTION" id="XML_SCHEMAS_TYPE_FINAL_RESTRICTION"></a>Macro: XML_SCHEMAS_TYPE_FINAL_RESTRICTION</h3><pre>#define XML_SCHEMAS_TYPE_FINAL_RESTRICTION</pre><p>the simpleType/complexType has a final of "restriction".</p>
+<h3><a name="XML_SCHEMAS_TYPE_FINAL_UNION" id="XML_SCHEMAS_TYPE_FINAL_UNION"></a>Macro: XML_SCHEMAS_TYPE_FINAL_UNION</h3><pre>#define XML_SCHEMAS_TYPE_FINAL_UNION</pre><p>the simpleType has a final of "union".</p>
 <h3><a name="XML_SCHEMAS_TYPE_GLOBAL" id="XML_SCHEMAS_TYPE_GLOBAL"></a>Macro: XML_SCHEMAS_TYPE_GLOBAL</h3><pre>#define XML_SCHEMAS_TYPE_GLOBAL</pre><p>the type is global</p>
 <h3><a name="XML_SCHEMAS_TYPE_MIXED" id="XML_SCHEMAS_TYPE_MIXED"></a>Macro: XML_SCHEMAS_TYPE_MIXED</h3><pre>#define XML_SCHEMAS_TYPE_MIXED</pre><p>the element content type is mixed</p>
 <h3><a name="XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD" id="XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD"></a>Macro: XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</h3><pre>#define XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</pre><p>the complexType owns an <a href="libxml-SAX.html#attribute">attribute</a> wildcard, i.e. it can be freed by the complexType</p>
+<h3><a name="XML_SCHEMAS_TYPE_VARIETY_ABSENT" id="XML_SCHEMAS_TYPE_VARIETY_ABSENT"></a>Macro: XML_SCHEMAS_TYPE_VARIETY_ABSENT</h3><pre>#define XML_SCHEMAS_TYPE_VARIETY_ABSENT</pre><p>the simpleType has a variety of "absent".</p>
+<h3><a name="XML_SCHEMAS_TYPE_VARIETY_ATOMIC" id="XML_SCHEMAS_TYPE_VARIETY_ATOMIC"></a>Macro: XML_SCHEMAS_TYPE_VARIETY_ATOMIC</h3><pre>#define XML_SCHEMAS_TYPE_VARIETY_ATOMIC</pre><p>the simpleType has a variety of "union".</p>
+<h3><a name="XML_SCHEMAS_TYPE_VARIETY_LIST" id="XML_SCHEMAS_TYPE_VARIETY_LIST"></a>Macro: XML_SCHEMAS_TYPE_VARIETY_LIST</h3><pre>#define XML_SCHEMAS_TYPE_VARIETY_LIST</pre><p>the simpleType has a variety of "list".</p>
+<h3><a name="XML_SCHEMAS_TYPE_VARIETY_UNION" id="XML_SCHEMAS_TYPE_VARIETY_UNION"></a>Macro: XML_SCHEMAS_TYPE_VARIETY_UNION</h3><pre>#define XML_SCHEMAS_TYPE_VARIETY_UNION</pre><p>the simpleType has a variety of "union".</p>
 <h3><a name="XML_SCHEMAS_WILDCARD_COMPLETE" id="XML_SCHEMAS_WILDCARD_COMPLETE"></a>Macro: XML_SCHEMAS_WILDCARD_COMPLETE</h3><pre>#define XML_SCHEMAS_WILDCARD_COMPLETE</pre><p>If the wildcard is complete.</p>
 <h3><a name="xmlSchemaAnnot" id="xmlSchemaAnnot">Structure xmlSchemaAnnot</a></h3><pre class="programlisting">Structure xmlSchemaAnnot<br />struct _xmlSchemaAnnot {
     struct _xmlSchemaAnnot *	next
@@ -111,7 +131,7 @@
     <a name="XML_SCHEMA_CONTENT_ELEMENTS" id="XML_SCHEMA_CONTENT_ELEMENTS">XML_SCHEMA_CONTENT_ELEMENTS</a> = 2
     <a name="XML_SCHEMA_CONTENT_MIXED" id="XML_SCHEMA_CONTENT_MIXED">XML_SCHEMA_CONTENT_MIXED</a> = 3
     <a name="XML_SCHEMA_CONTENT_SIMPLE" id="XML_SCHEMA_CONTENT_SIMPLE">XML_SCHEMA_CONTENT_SIMPLE</a> = 4
-    <a name="XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS" id="XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS">XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS</a> = 5
+    <a name="XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS" id="XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS">XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS</a> = 5 : obsolete, not used
     <a name="XML_SCHEMA_CONTENT_BASIC" id="XML_SCHEMA_CONTENT_BASIC">XML_SCHEMA_CONTENT_BASIC</a> = 6
     <a name="XML_SCHEMA_CONTENT_ANY" id="XML_SCHEMA_CONTENT_ANY">XML_SCHEMA_CONTENT_ANY</a> = 7
 }
@@ -150,6 +170,9 @@
     int	whitespace
     <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	val
     <a href="libxml-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	regexp
+}</pre><h3><a name="xmlSchemaFacetLink" id="xmlSchemaFacetLink">Structure xmlSchemaFacetLink</a></h3><pre class="programlisting">Structure xmlSchemaFacetLink<br />struct _xmlSchemaFacetLink {
+    struct _xmlSchemaFacetLink *	next	: the next facet link ...
+    <a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	facet	: the linked facet
 }</pre><h3><a name="xmlSchemaNotation" id="xmlSchemaNotation">Structure xmlSchemaNotation</a></h3><pre class="programlisting">Structure xmlSchemaNotation<br />struct _xmlSchemaNotation {
     <a href="libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	name
@@ -178,8 +201,14 @@
     int	recurse
     <a href="libxml-schemasInternals.html#xmlSchemaAttributeLinkPtr">xmlSchemaAttributeLinkPtr</a>	attributeUses
     <a href="libxml-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a>	attributeWildcard
+    int	builtInType
+    <a href="libxml-schemasInternals.html#xmlSchemaTypeLinkPtr">xmlSchemaTypeLinkPtr</a>	memberTypes
+    <a href="libxml-schemasInternals.html#xmlSchemaFacetLinkPtr">xmlSchemaFacetLinkPtr</a>	facetSet
+}</pre><h3><a name="xmlSchemaTypeLink" id="xmlSchemaTypeLink">Structure xmlSchemaTypeLink</a></h3><pre class="programlisting">Structure xmlSchemaTypeLink<br />struct _xmlSchemaTypeLink {
+    struct _xmlSchemaTypeLink *	next	: the next type link ...
+    <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	type	: the linked typ
 }</pre><h3>Enum <a name="xmlSchemaTypeType" id="xmlSchemaTypeType">xmlSchemaTypeType</a></h3><pre class="programlisting">Enum xmlSchemaTypeType {
-    <a name="XML_SCHEMA_TYPE_BASIC" id="XML_SCHEMA_TYPE_BASIC">XML_SCHEMA_TYPE_BASIC</a> = 1
+    <a name="XML_SCHEMA_TYPE_BASIC" id="XML_SCHEMA_TYPE_BASIC">XML_SCHEMA_TYPE_BASIC</a> = 1 : A built-in datatype
     <a name="XML_SCHEMA_TYPE_ANY" id="XML_SCHEMA_TYPE_ANY">XML_SCHEMA_TYPE_ANY</a> = 2
     <a name="XML_SCHEMA_TYPE_FACET" id="XML_SCHEMA_TYPE_FACET">XML_SCHEMA_TYPE_FACET</a> = 3
     <a name="XML_SCHEMA_TYPE_SIMPLE" id="XML_SCHEMA_TYPE_SIMPLE">XML_SCHEMA_TYPE_SIMPLE</a> = 4
@@ -215,7 +244,56 @@
 }
 </pre><h3><a name="xmlSchemaVal" id="xmlSchemaVal">Structure xmlSchemaVal</a></h3><pre class="programlisting">Structure xmlSchemaVal<br />struct _xmlSchemaVal {
 The content of this structure is not made public by the API.
-}</pre><h3><a name="xmlSchemaWildcard" id="xmlSchemaWildcard">Structure xmlSchemaWildcard</a></h3><pre class="programlisting">Structure xmlSchemaWildcard<br />struct _xmlSchemaWildcard {
+}</pre><h3>Enum <a name="xmlSchemaValType" id="xmlSchemaValType">xmlSchemaValType</a></h3><pre class="programlisting">Enum xmlSchemaValType {
+    <a name="XML_SCHEMAS_UNKNOWN" id="XML_SCHEMAS_UNKNOWN">XML_SCHEMAS_UNKNOWN</a> = 0
+    <a name="XML_SCHEMAS_STRING" id="XML_SCHEMAS_STRING">XML_SCHEMAS_STRING</a> = 1
+    <a name="XML_SCHEMAS_NORMSTRING" id="XML_SCHEMAS_NORMSTRING">XML_SCHEMAS_NORMSTRING</a> = 2
+    <a name="XML_SCHEMAS_DECIMAL" id="XML_SCHEMAS_DECIMAL">XML_SCHEMAS_DECIMAL</a> = 3
+    <a name="XML_SCHEMAS_TIME" id="XML_SCHEMAS_TIME">XML_SCHEMAS_TIME</a> = 4
+    <a name="XML_SCHEMAS_GDAY" id="XML_SCHEMAS_GDAY">XML_SCHEMAS_GDAY</a> = 5
+    <a name="XML_SCHEMAS_GMONTH" id="XML_SCHEMAS_GMONTH">XML_SCHEMAS_GMONTH</a> = 6
+    <a name="XML_SCHEMAS_GMONTHDAY" id="XML_SCHEMAS_GMONTHDAY">XML_SCHEMAS_GMONTHDAY</a> = 7
+    <a name="XML_SCHEMAS_GYEAR" id="XML_SCHEMAS_GYEAR">XML_SCHEMAS_GYEAR</a> = 8
+    <a name="XML_SCHEMAS_GYEARMONTH" id="XML_SCHEMAS_GYEARMONTH">XML_SCHEMAS_GYEARMONTH</a> = 9
+    <a name="XML_SCHEMAS_DATE" id="XML_SCHEMAS_DATE">XML_SCHEMAS_DATE</a> = 10
+    <a name="XML_SCHEMAS_DATETIME" id="XML_SCHEMAS_DATETIME">XML_SCHEMAS_DATETIME</a> = 11
+    <a name="XML_SCHEMAS_DURATION" id="XML_SCHEMAS_DURATION">XML_SCHEMAS_DURATION</a> = 12
+    <a name="XML_SCHEMAS_FLOAT" id="XML_SCHEMAS_FLOAT">XML_SCHEMAS_FLOAT</a> = 13
+    <a name="XML_SCHEMAS_DOUBLE" id="XML_SCHEMAS_DOUBLE">XML_SCHEMAS_DOUBLE</a> = 14
+    <a name="XML_SCHEMAS_BOOLEAN" id="XML_SCHEMAS_BOOLEAN">XML_SCHEMAS_BOOLEAN</a> = 15
+    <a name="XML_SCHEMAS_TOKEN" id="XML_SCHEMAS_TOKEN">XML_SCHEMAS_TOKEN</a> = 16
+    <a name="XML_SCHEMAS_LANGUAGE" id="XML_SCHEMAS_LANGUAGE">XML_SCHEMAS_LANGUAGE</a> = 17
+    <a name="XML_SCHEMAS_NMTOKEN" id="XML_SCHEMAS_NMTOKEN">XML_SCHEMAS_NMTOKEN</a> = 18
+    <a name="XML_SCHEMAS_NMTOKENS" id="XML_SCHEMAS_NMTOKENS">XML_SCHEMAS_NMTOKENS</a> = 19
+    <a name="XML_SCHEMAS_NAME" id="XML_SCHEMAS_NAME">XML_SCHEMAS_NAME</a> = 20
+    <a name="XML_SCHEMAS_QNAME" id="XML_SCHEMAS_QNAME">XML_SCHEMAS_QNAME</a> = 21
+    <a name="XML_SCHEMAS_NCNAME" id="XML_SCHEMAS_NCNAME">XML_SCHEMAS_NCNAME</a> = 22
+    <a name="XML_SCHEMAS_ID" id="XML_SCHEMAS_ID">XML_SCHEMAS_ID</a> = 23
+    <a name="XML_SCHEMAS_IDREF" id="XML_SCHEMAS_IDREF">XML_SCHEMAS_IDREF</a> = 24
+    <a name="XML_SCHEMAS_IDREFS" id="XML_SCHEMAS_IDREFS">XML_SCHEMAS_IDREFS</a> = 25
+    <a name="XML_SCHEMAS_ENTITY" id="XML_SCHEMAS_ENTITY">XML_SCHEMAS_ENTITY</a> = 26
+    <a name="XML_SCHEMAS_ENTITIES" id="XML_SCHEMAS_ENTITIES">XML_SCHEMAS_ENTITIES</a> = 27
+    <a name="XML_SCHEMAS_NOTATION" id="XML_SCHEMAS_NOTATION">XML_SCHEMAS_NOTATION</a> = 28
+    <a name="XML_SCHEMAS_ANYURI" id="XML_SCHEMAS_ANYURI">XML_SCHEMAS_ANYURI</a> = 29
+    <a name="XML_SCHEMAS_INTEGER" id="XML_SCHEMAS_INTEGER">XML_SCHEMAS_INTEGER</a> = 30
+    <a name="XML_SCHEMAS_NPINTEGER" id="XML_SCHEMAS_NPINTEGER">XML_SCHEMAS_NPINTEGER</a> = 31
+    <a name="XML_SCHEMAS_NINTEGER" id="XML_SCHEMAS_NINTEGER">XML_SCHEMAS_NINTEGER</a> = 32
+    <a name="XML_SCHEMAS_NNINTEGER" id="XML_SCHEMAS_NNINTEGER">XML_SCHEMAS_NNINTEGER</a> = 33
+    <a name="XML_SCHEMAS_PINTEGER" id="XML_SCHEMAS_PINTEGER">XML_SCHEMAS_PINTEGER</a> = 34
+    <a name="XML_SCHEMAS_INT" id="XML_SCHEMAS_INT">XML_SCHEMAS_INT</a> = 35
+    <a name="XML_SCHEMAS_UINT" id="XML_SCHEMAS_UINT">XML_SCHEMAS_UINT</a> = 36
+    <a name="XML_SCHEMAS_LONG" id="XML_SCHEMAS_LONG">XML_SCHEMAS_LONG</a> = 37
+    <a name="XML_SCHEMAS_ULONG" id="XML_SCHEMAS_ULONG">XML_SCHEMAS_ULONG</a> = 38
+    <a name="XML_SCHEMAS_SHORT" id="XML_SCHEMAS_SHORT">XML_SCHEMAS_SHORT</a> = 39
+    <a name="XML_SCHEMAS_USHORT" id="XML_SCHEMAS_USHORT">XML_SCHEMAS_USHORT</a> = 40
+    <a name="XML_SCHEMAS_BYTE" id="XML_SCHEMAS_BYTE">XML_SCHEMAS_BYTE</a> = 41
+    <a name="XML_SCHEMAS_UBYTE" id="XML_SCHEMAS_UBYTE">XML_SCHEMAS_UBYTE</a> = 42
+    <a name="XML_SCHEMAS_HEXBINARY" id="XML_SCHEMAS_HEXBINARY">XML_SCHEMAS_HEXBINARY</a> = 43
+    <a name="XML_SCHEMAS_BASE64BINARY" id="XML_SCHEMAS_BASE64BINARY">XML_SCHEMAS_BASE64BINARY</a> = 44
+    <a name="XML_SCHEMAS_ANYTYPE" id="XML_SCHEMAS_ANYTYPE">XML_SCHEMAS_ANYTYPE</a> = 45
+    <a name="XML_SCHEMAS_ANYSIMPLETYPE" id="XML_SCHEMAS_ANYSIMPLETYPE">XML_SCHEMAS_ANYSIMPLETYPE</a> = 46
+}
+</pre><h3><a name="xmlSchemaWildcard" id="xmlSchemaWildcard">Structure xmlSchemaWildcard</a></h3><pre class="programlisting">Structure xmlSchemaWildcard<br />struct _xmlSchemaWildcard {
     <a href="libxml-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	id
     <a href="libxml-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
@@ -232,4 +310,6 @@
     const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	value	: the value
 }</pre><h3><a name="xmlSchemaFreeType" id="xmlSchemaFreeType"></a>Function: xmlSchemaFreeType</h3><pre class="programlisting">void	xmlSchemaFreeType		(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type)<br />
 </pre><p>Deallocate a Schema Type structure.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>a schema type structure</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>type</tt></i>:</span></td><td>a schema type structure</td></tr></tbody></table></div><h3><a name="xmlSchemaFreeWildcard" id="xmlSchemaFreeWildcard"></a>Function: xmlSchemaFreeWildcard</h3><pre class="programlisting">void	xmlSchemaFreeWildcard		(<a href="libxml-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a> wildcard)<br />
+</pre><p>Deallocates a wildcard structure.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>wildcard</tt></i>:</span></td><td>a wildcard structure</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-xmlIO.html b/doc/html/libxml-xmlIO.html
index 9d69113..28192ab 100644
--- a/doc/html/libxml-xmlIO.html
+++ b/doc/html/libxml-xmlIO.html
@@ -48,10 +48,6 @@
 <pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateFd">xmlOutputBufferCreateFd</a>	(int fd, <br />						 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateFile">xmlOutputBufferCreateFile</a>	(FILE * file, <br />							 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a>	(const char * URI, <br />							 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br />							 int compression)</pre>
-<pre class="programlisting"><a href="libxml-xmlIO.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	<a href="#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a>	(<a href="libxml-xmlIO.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)</pre>
-<pre class="programlisting">Function type: <a href="#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>
-<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	(const char * URI, <br />							 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br />							 int compression)
-</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	<a href="#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a>	(<a href="libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br />						 <a href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br />						 void * ioctx, <br />						 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)</pre>
 <pre class="programlisting">int	<a href="#xmlOutputBufferFlush">xmlOutputBufferFlush</a>		(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)</pre>
 <pre class="programlisting">int	<a href="#xmlOutputBufferWrite">xmlOutputBufferWrite</a>		(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br />					 int len, <br />					 const char * buf)</pre>
@@ -73,10 +69,6 @@
 <pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateFd">xmlParserInputBufferCreateFd</a>	(int fd, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateFile">xmlParserInputBufferCreateFile</a>	(FILE * file, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a>	(const char * URI, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)</pre>
-<pre class="programlisting"><a href="libxml-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	<a href="#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a>	(<a href="libxml-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func)</pre>
-<pre class="programlisting">Function type: <a href="#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>
-<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	(const char * URI, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)
-</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateIO">xmlParserInputBufferCreateIO</a>	(<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br />							 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br />							 void * ioctx, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateMem">xmlParserInputBufferCreateMem</a>	(const char * mem, <br />							 int size, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)</pre>
 <pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	<a href="#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a>	(const char * mem, <br />							 int size, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)</pre>
@@ -154,12 +146,7 @@
 </pre><p>Create a buffered output for the progressive saving to a FILE * buffered C I/O</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>file</tt></i>:</span></td><td>a FILE*</td></tr><tr><td><span class="term"><i><tt>encoder</tt></i>:</span></td><td>the encoding converter or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser output or NULL</td></tr></tbody></table></div><h3><a name="xmlOutputBufferCreateFilename" id="xmlOutputBufferCreateFilename"></a>Function: xmlOutputBufferCreateFilename</h3><pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFilename	(const char * URI, <br />							 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br />							 int compression)<br />
 </pre><p>Create a buffered output for the progressive saving of a file If filename is "-' then we use stdout as the output. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. TODO: currently if compression is set, the library only support writing to a local file.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>a C string containing the URI or filename</td></tr><tr><td><span class="term"><i><tt>encoder</tt></i>:</span></td><td>the encoding converter or NULL</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>the compression ration (0 none, 9 max).</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new output or NULL</td></tr></tbody></table></div><h3><a name="xmlOutputBufferCreateFilenameDefault" id="xmlOutputBufferCreateFilenameDefault"></a>Function: xmlOutputBufferCreateFilenameDefault</h3><pre class="programlisting"><a href="libxml-xmlIO.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>	xmlOutputBufferCreateFilenameDefault	(<a href="libxml-xmlIO.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)<br />
-</pre><p>Registers a callback for URI output file handling</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>func</tt></i>:</span></td><td>function pointer to the new OutputBufferCreateFilenameFunc</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the old value of the registration function</td></tr></tbody></table></div><h3><a name="xmlOutputBufferCreateFilenameFunc" id="xmlOutputBufferCreateFilenameFunc"></a>Function type: xmlOutputBufferCreateFilenameFunc</h3><pre class="programlisting">Function type: xmlOutputBufferCreateFilenameFunc
-<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFilenameFunc	(const char * URI, <br />							 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br />							 int compression)
-</pre><p></p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>encoder</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><br />
-<h3><a name="xmlOutputBufferCreateIO" id="xmlOutputBufferCreateIO"></a>Function: xmlOutputBufferCreateIO</h3><pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateIO	(<a href="libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br />						 <a href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br />						 void * ioctx, <br />						 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>a C string containing the URI or filename</td></tr><tr><td><span class="term"><i><tt>encoder</tt></i>:</span></td><td>the encoding converter or NULL</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>the compression ration (0 none, 9 max).</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new output or NULL</td></tr></tbody></table></div><h3><a name="xmlOutputBufferCreateIO" id="xmlOutputBufferCreateIO"></a>Function: xmlOutputBufferCreateIO</h3><pre class="programlisting"><a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateIO	(<a href="libxml-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br />						 <a href="libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br />						 void * ioctx, <br />						 <a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br />
 </pre><p>Create a buffered output for the progressive saving to an I/O handler</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>encoder</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser output or NULL</td></tr></tbody></table></div><h3><a name="xmlOutputBufferFlush" id="xmlOutputBufferFlush"></a>Function: xmlOutputBufferFlush</h3><pre class="programlisting">int	xmlOutputBufferFlush		(<a href="libxml-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br />
 </pre><p>flushes the output I/O channel</p>
@@ -189,12 +176,7 @@
 </pre><p>Create a buffered parser input for the progressive parsing of a FILE * buffered C I/O</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>file</tt></i>:</span></td><td>a FILE*</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div><h3><a name="xmlParserInputBufferCreateFilename" id="xmlParserInputBufferCreateFilename"></a>Function: xmlParserInputBufferCreateFilename</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFilename	(const char * URI, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br />
 </pre><p>Create a buffered parser input for the progressive parsing of a file If filename is "-' then we use stdin as the input. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. Do an encoding check if enc == <a href="libxml-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a></p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>a C string containing the URI or filename</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div><h3><a name="xmlParserInputBufferCreateFilenameDefault" id="xmlParserInputBufferCreateFilenameDefault"></a>Function: xmlParserInputBufferCreateFilenameDefault</h3><pre class="programlisting"><a href="libxml-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	xmlParserInputBufferCreateFilenameDefault	(<a href="libxml-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func)<br />
-</pre><p>Registers a callback for URI input file handling</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>func</tt></i>:</span></td><td>function pointer to the new ParserInputBufferCreateFilenameFunc</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the old value of the registration function</td></tr></tbody></table></div><h3><a name="xmlParserInputBufferCreateFilenameFunc" id="xmlParserInputBufferCreateFilenameFunc"></a>Function type: xmlParserInputBufferCreateFilenameFunc</h3><pre class="programlisting">Function type: xmlParserInputBufferCreateFilenameFunc
-<a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFilenameFunc	(const char * URI, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)
-</pre><p></p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><br />
-<h3><a name="xmlParserInputBufferCreateIO" id="xmlParserInputBufferCreateIO"></a>Function: xmlParserInputBufferCreateIO</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateIO	(<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br />							 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br />							 void * ioctx, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>a C string containing the URI or filename</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div><h3><a name="xmlParserInputBufferCreateIO" id="xmlParserInputBufferCreateIO"></a>Function: xmlParserInputBufferCreateIO</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateIO	(<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br />							 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br />							 void * ioctx, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br />
 </pre><p>Create a buffered parser input for the progressive parsing for the input from an I/O handler</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read 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>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or NULL</td></tr></tbody></table></div><h3><a name="xmlParserInputBufferCreateMem" id="xmlParserInputBufferCreateMem"></a>Function: xmlParserInputBufferCreateMem</h3><pre class="programlisting"><a href="libxml-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateMem	(const char * mem, <br />							 int size, <br />							 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br />
 </pre><p>Create a buffered parser input for the progressive parsing for the input from a memory area.</p>
diff --git a/doc/html/libxml-xmlerror.html b/doc/html/libxml-xmlerror.html
index 4179703..ac0cff7 100644
--- a/doc/html/libxml-xmlerror.html
+++ b/doc/html/libxml-xmlerror.html
@@ -591,6 +591,27 @@
     <a name="XML_SCHEMAV_ATTRINVALID" id="XML_SCHEMAV_ATTRINVALID">XML_SCHEMAV_ATTRINVALID</a> = 1820 : 1820
     <a name="XML_SCHEMAV_VALUE" id="XML_SCHEMAV_VALUE">XML_SCHEMAV_VALUE</a> = 1821 : 1821
     <a name="XML_SCHEMAV_FACET" id="XML_SCHEMAV_FACET">XML_SCHEMAV_FACET</a> = 1822 : 1822
+    <a name="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1" id="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1</a> = 1823 : 1823
+    <a name="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2" id="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2</a> = 1824 : 1824
+    <a name="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3" id="XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3">XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3</a> = 1825 : 1825
+    <a name="XML_SCHEMAV_CVC_TYPE_3_1_1" id="XML_SCHEMAV_CVC_TYPE_3_1_1">XML_SCHEMAV_CVC_TYPE_3_1_1</a> = 1826 : 1826
+    <a name="XML_SCHEMAV_CVC_TYPE_3_1_2" id="XML_SCHEMAV_CVC_TYPE_3_1_2">XML_SCHEMAV_CVC_TYPE_3_1_2</a> = 1827 : 1827
+    <a name="XML_SCHEMAV_CVC_FACET_VALID" id="XML_SCHEMAV_CVC_FACET_VALID">XML_SCHEMAV_CVC_FACET_VALID</a> = 1828 : 1828
+    <a name="XML_SCHEMAV_CVC_LENGTH_VALID" id="XML_SCHEMAV_CVC_LENGTH_VALID">XML_SCHEMAV_CVC_LENGTH_VALID</a> = 1829 : 1829
+    <a name="XML_SCHEMAV_CVC_MINLENGTH_VALID" id="XML_SCHEMAV_CVC_MINLENGTH_VALID">XML_SCHEMAV_CVC_MINLENGTH_VALID</a> = 1830 : 1830
+    <a name="XML_SCHEMAV_CVC_MAXLENGTH_VALID" id="XML_SCHEMAV_CVC_MAXLENGTH_VALID">XML_SCHEMAV_CVC_MAXLENGTH_VALID</a> = 1831 : 1831
+    <a name="XML_SCHEMAV_CVC_MININCLUSIVE_VALID" id="XML_SCHEMAV_CVC_MININCLUSIVE_VALID">XML_SCHEMAV_CVC_MININCLUSIVE_VALID</a> = 1832 : 1832
+    <a name="XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID" id="XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID">XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID</a> = 1833 : 1833
+    <a name="XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID" id="XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID">XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID</a> = 1834 : 1834
+    <a name="XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID" id="XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID">XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID</a> = 1835 : 1835
+    <a name="XML_SCHEMAV_CVC_TOTALDIGITS_VALID" id="XML_SCHEMAV_CVC_TOTALDIGITS_VALID">XML_SCHEMAV_CVC_TOTALDIGITS_VALID</a> = 1836 : 1836
+    <a name="XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID" id="XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID">XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID</a> = 1837 : 1837
+    <a name="XML_SCHEMAV_CVC_PATTERN_VALID" id="XML_SCHEMAV_CVC_PATTERN_VALID">XML_SCHEMAV_CVC_PATTERN_VALID</a> = 1838 : 1838
+    <a name="XML_SCHEMAV_CVC_ENUMERATION_VALID" id="XML_SCHEMAV_CVC_ENUMERATION_VALID">XML_SCHEMAV_CVC_ENUMERATION_VALID</a> = 1839 : 1839
+    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1</a> = 1840 : 1840
+    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2</a> = 1841 : 1841
+    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3</a> = 1842 : 1842
+    <a name="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4" id="XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4">XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4</a> = 1843 : 1843
     <a name="XML_XPTR_UNKNOWN_SCHEME" id="XML_XPTR_UNKNOWN_SCHEME">XML_XPTR_UNKNOWN_SCHEME</a> = 1900
     <a name="XML_XPTR_CHILDSEQ_START" id="XML_XPTR_CHILDSEQ_START">XML_XPTR_CHILDSEQ_START</a> = 1901 : 1901
     <a name="XML_XPTR_EVAL_FAILED" id="XML_XPTR_EVAL_FAILED">XML_XPTR_EVAL_FAILED</a> = 1902 : 1902
@@ -605,6 +626,43 @@
     <a name="XML_HTTP_URL_SYNTAX" id="XML_HTTP_URL_SYNTAX">XML_HTTP_URL_SYNTAX</a> = 2020
     <a name="XML_HTTP_USE_IP" id="XML_HTTP_USE_IP">XML_HTTP_USE_IP</a> = 2021 : 2021
     <a name="XML_HTTP_UNKNOWN_HOST" id="XML_HTTP_UNKNOWN_HOST">XML_HTTP_UNKNOWN_HOST</a> = 2022 : 2022
+    <a name="XML_SCHEMAP_SRC_SIMPLE_TYPE_1" id="XML_SCHEMAP_SRC_SIMPLE_TYPE_1">XML_SCHEMAP_SRC_SIMPLE_TYPE_1</a> = 3000
+    <a name="XML_SCHEMAP_SRC_SIMPLE_TYPE_2" id="XML_SCHEMAP_SRC_SIMPLE_TYPE_2">XML_SCHEMAP_SRC_SIMPLE_TYPE_2</a> = 3001 : 3001
+    <a name="XML_SCHEMAP_SRC_SIMPLE_TYPE_3" id="XML_SCHEMAP_SRC_SIMPLE_TYPE_3">XML_SCHEMAP_SRC_SIMPLE_TYPE_3</a> = 3002 : 3002
+    <a name="XML_SCHEMAP_SRC_SIMPLE_TYPE_4" id="XML_SCHEMAP_SRC_SIMPLE_TYPE_4">XML_SCHEMAP_SRC_SIMPLE_TYPE_4</a> = 3003 : 3003
+    <a name="XML_SCHEMAP_SRC_RESOLVE" id="XML_SCHEMAP_SRC_RESOLVE">XML_SCHEMAP_SRC_RESOLVE</a> = 3004 : 3004
+    <a name="XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE" id="XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE">XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE</a> = 3005 : 3004
+    <a name="XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE" id="XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE">XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE</a> = 3006 : 3005
+    <a name="XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES" id="XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES">XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES</a> = 3007 : 3006
+    <a name="XML_SCHEMAP_ST_PROPS_CORRECT_1" id="XML_SCHEMAP_ST_PROPS_CORRECT_1">XML_SCHEMAP_ST_PROPS_CORRECT_1</a> = 3008 : 3007
+    <a name="XML_SCHEMAP_ST_PROPS_CORRECT_2" id="XML_SCHEMAP_ST_PROPS_CORRECT_2">XML_SCHEMAP_ST_PROPS_CORRECT_2</a> = 3009 : 3008
+    <a name="XML_SCHEMAP_ST_PROPS_CORRECT_3" id="XML_SCHEMAP_ST_PROPS_CORRECT_3">XML_SCHEMAP_ST_PROPS_CORRECT_3</a> = 3010 : 3009
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_1_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_1_1">XML_SCHEMAP_COS_ST_RESTRICTS_1_1</a> = 3011 : 3010
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_1_2" id="XML_SCHEMAP_COS_ST_RESTRICTS_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_1_2</a> = 3012 : 3011
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1</a> = 3013 : 3012
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2" id="XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2">XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2</a> = 3014 : 3013
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_1</a> = 3015 : 3014
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1</a> = 3016 : 3015
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2</a> = 3017 : 3016
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1</a> = 3018 : 3017
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2</a> = 3019 : 3018
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3</a> = 3020 : 3019
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4</a> = 3021 : 3021
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5" id="XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5">XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5</a> = 3022 : 3022
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_1</a> = 3023 : 3023
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1</a> = 3024 : 3024
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2" id="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2</a> = 3025 : 3025
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2" id="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2</a> = 3026 : 3026
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1" id="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1</a> = 3027 : 3027
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3" id="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3</a> = 3028 : 3028
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4" id="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4</a> = 3029 : 3029
+    <a name="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5" id="XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5">XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5</a> = 3030 : 3030
+    <a name="XML_SCHEMAP_COS_ST_DERIVED_OK_2_1" id="XML_SCHEMAP_COS_ST_DERIVED_OK_2_1">XML_SCHEMAP_COS_ST_DERIVED_OK_2_1</a> = 3031 : 3031
+    <a name="XML_SCHEMAP_COS_ST_DERIVED_OK_2_2" id="XML_SCHEMAP_COS_ST_DERIVED_OK_2_2">XML_SCHEMAP_COS_ST_DERIVED_OK_2_2</a> = 3032 : 3032
+    <a name="XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED" id="XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED">XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED</a> = 3033 : 3033
+    <a name="XML_SCHEMAP_S4S_ELEM_MISSING" id="XML_SCHEMAP_S4S_ELEM_MISSING">XML_SCHEMAP_S4S_ELEM_MISSING</a> = 3034 : 3034
+    <a name="XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED" id="XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED">XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED</a> = 3035 : 3035
+    <a name="XML_SCHEMAP_S4S_ATTR_MISSING" id="XML_SCHEMAP_S4S_ATTR_MISSING">XML_SCHEMAP_S4S_ATTR_MISSING</a> = 3036 : 3036
 }
 </pre><h3><a name="initGenericErrorDefaultFunc" id="initGenericErrorDefaultFunc"></a>Function: initGenericErrorDefaultFunc</h3><pre class="programlisting">void	initGenericErrorDefaultFunc	(<a href="libxml-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> * handler)<br />
 </pre><p>Set or reset (if NULL) the default handler for generic errors to the builtin error function.</p>
diff --git a/doc/html/libxml-xmlmemory.html b/doc/html/libxml-xmlmemory.html
index 6b5c840..87a0a56 100644
--- a/doc/html/libxml-xmlmemory.html
+++ b/doc/html/libxml-xmlmemory.html
@@ -71,14 +71,14 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>an int specifying the size in byte to allocate.</td></tr><tr><td><span class="term"><i><tt>file</tt></i>:</span></td><td>the file name or NULL</td></tr><tr><td><span class="term"><i><tt>line</tt></i>:</span></td><td>the line number</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the allocated area or NULL in case of lack of memory.</td></tr></tbody></table></div><h3><a name="xmlMemDisplay" id="xmlMemDisplay"></a>Function: xmlMemDisplay</h3><pre class="programlisting">void	xmlMemDisplay			(FILE * fp)<br />
 </pre><p>show in-extenso the memory blocks allocated</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>fp</tt></i>:</span></td><td>a FILE descriptor used as the output file, if NULL, the result is written to the file .memorylist</td></tr></tbody></table></div><h3><a name="xmlMemFree" id="xmlMemFree"></a>Function: xmlMemFree</h3><pre class="programlisting">void	xmlMemFree			(void * ptr)<br />
-</pre><p>a free() equivalent, with error checking.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ptr</tt></i>:</span></td><td>the memory block pointer</td></tr></tbody></table></div><h3><a name="xmlMemGet" id="xmlMemGet"></a>Function: xmlMemGet</h3><pre class="programlisting">int	xmlMemGet			(<a href="libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> * freeFunc, <br />					 <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocFunc, <br />					 <a href="libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br />					 <a href="libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> * strdupFunc)<br />
+</pre><p></p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ptr</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="xmlMemGet" id="xmlMemGet"></a>Function: xmlMemGet</h3><pre class="programlisting">int	xmlMemGet			(<a href="libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> * freeFunc, <br />					 <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocFunc, <br />					 <a href="libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br />					 <a href="libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> * strdupFunc)<br />
 </pre><p>Provides the memory access functions set currently in use</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>freeFunc</tt></i>:</span></td><td>place to save the free() function in use</td></tr><tr><td><span class="term"><i><tt>mallocFunc</tt></i>:</span></td><td>place to save the malloc() function in use</td></tr><tr><td><span class="term"><i><tt>reallocFunc</tt></i>:</span></td><td>place to save the realloc() function in use</td></tr><tr><td><span class="term"><i><tt>strdupFunc</tt></i>:</span></td><td>place to save the strdup() function in use</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 on success</td></tr></tbody></table></div><h3><a name="xmlMemMalloc" id="xmlMemMalloc"></a>Function: xmlMemMalloc</h3><pre class="programlisting">void *	xmlMemMalloc			(size_t size)<br />
-</pre><p>a malloc() equivalent, with logging of the allocation info.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>an int specifying the size in byte to allocate.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the allocated area or NULL in case of lack of memory.</td></tr></tbody></table></div><h3><a name="xmlMemRealloc" id="xmlMemRealloc"></a>Function: xmlMemRealloc</h3><pre class="programlisting">void *	xmlMemRealloc			(void * ptr, <br />					 size_t size)<br />
-</pre><p>a realloc() equivalent, with logging of the allocation info.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ptr</tt></i>:</span></td><td>the initial memory block pointer</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>an int specifying the size in byte to allocate.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the allocated area or NULL in case of lack of memory.</td></tr></tbody></table></div><h3><a name="xmlMemSetup" id="xmlMemSetup"></a>Function: xmlMemSetup</h3><pre class="programlisting">int	xmlMemSetup			(<a href="libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc, <br />					 <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc, <br />					 <a href="libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc, <br />					 <a href="libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> strdupFunc)<br />
+</pre><p></p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="xmlMemRealloc" id="xmlMemRealloc"></a>Function: xmlMemRealloc</h3><pre class="programlisting">void *	xmlMemRealloc			(void * ptr, <br />					 size_t size)<br />
+</pre><p></p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ptr</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="xmlMemSetup" id="xmlMemSetup"></a>Function: xmlMemSetup</h3><pre class="programlisting">int	xmlMemSetup			(<a href="libxml-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc, <br />					 <a href="libxml-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc, <br />					 <a href="libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc, <br />					 <a href="libxml-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> strdupFunc)<br />
 </pre><p>Override the default memory access functions with a new set This has to be called before any other libxml routines ! Should this be blocked if there was already some allocations done ?</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>freeFunc</tt></i>:</span></td><td>the free() function to use</td></tr><tr><td><span class="term"><i><tt>mallocFunc</tt></i>:</span></td><td>the malloc() function to use</td></tr><tr><td><span class="term"><i><tt>reallocFunc</tt></i>:</span></td><td>the realloc() function to use</td></tr><tr><td><span class="term"><i><tt>strdupFunc</tt></i>:</span></td><td>the strdup() function to use</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 on success</td></tr></tbody></table></div><h3><a name="xmlMemShow" id="xmlMemShow"></a>Function: xmlMemShow</h3><pre class="programlisting">void	xmlMemShow			(FILE * fp, <br />					 int nr)<br />
 </pre><p>show a show display of the memory allocated, and dump the @nr last allocated areas which were not freed</p>
@@ -89,8 +89,8 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an int representing the amount of memory allocated.</td></tr></tbody></table></div><h3><a name="xmlMemoryDump" id="xmlMemoryDump"></a>Function: xmlMemoryDump</h3><pre class="programlisting">void	xmlMemoryDump			(void)<br />
 </pre><p>Dump in-extenso the memory blocks allocated to the file .memorylist</p>
 <h3><a name="xmlMemoryStrdup" id="xmlMemoryStrdup"></a>Function: xmlMemoryStrdup</h3><pre class="programlisting">char *	xmlMemoryStrdup			(const char * str)<br />
-</pre><p>a strdup() equivalent, with logging of the allocation info.</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 initial string pointer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new string or NULL if allocation error occurred.</td></tr></tbody></table></div><h3><a name="xmlReallocFunc" id="xmlReallocFunc"></a>Function type: xmlReallocFunc</h3><pre class="programlisting">Function type: xmlReallocFunc
+</pre><p></p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="xmlReallocFunc" id="xmlReallocFunc"></a>Function type: xmlReallocFunc</h3><pre class="programlisting">Function type: xmlReallocFunc
 void *	xmlReallocFunc			(void * mem, <br />					 size_t size)
 </pre><p>Signature for a realloc() implementation.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>mem</tt></i>:</span></td><td>an already allocated block of memory</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the new size requested in bytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the newly reallocated block or NULL in case of error.</td></tr></tbody></table></div><br />
 <h3><a name="xmlReallocLoc" id="xmlReallocLoc"></a>Function: xmlReallocLoc</h3><pre class="programlisting">void *	xmlReallocLoc			(void * ptr, <br />					 size_t size, <br />					 const char * file, <br />					 int line)<br />
diff --git a/doc/html/libxml-xmlschemastypes.html b/doc/html/libxml-xmlschemastypes.html
index c80729a..ae2de6d 100644
--- a/doc/html/libxml-xmlschemastypes.html
+++ b/doc/html/libxml-xmlschemastypes.html
@@ -12,36 +12,51 @@
       pre.programlisting {border-style: double;background: #EECFA1}
     </style><title>Module xmlschemastypes 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 xmlschemastypes 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><li><a href="../ChangeLog.html">ChangeLog</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-xmlschemas.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-xmlschemas.html">xmlschemas</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-xmlstring.html">xmlstring</a></th><td><a accesskey="n" href="libxml-xmlstring.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>module providing the XML Schema Datatypes implementation both definition and validity checking </p><h2>Table of Contents</h2><pre class="programlisting">int	<a href="#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a>		(<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> typeDecl, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
 <pre class="programlisting">void	<a href="#xmlSchemaCleanupTypes">xmlSchemaCleanupTypes</a>		(void)</pre>
+<pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSchemaCollapseString">xmlSchemaCollapseString</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)</pre>
 <pre class="programlisting">int	<a href="#xmlSchemaCompareValues">xmlSchemaCompareValues</a>		(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y)</pre>
 <pre class="programlisting">void	<a href="#xmlSchemaFreeFacet">xmlSchemaFreeFacet</a>		(<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet)</pre>
 <pre class="programlisting">void	<a href="#xmlSchemaFreeValue">xmlSchemaFreeValue</a>		(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> value)</pre>
+<pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	<a href="#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a>	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type)</pre>
+<pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	<a href="#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a>	(<a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type)</pre>
 <pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	<a href="#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns)</pre>
 <pre class="programlisting">void	<a href="#xmlSchemaInitTypes">xmlSchemaInitTypes</a>		(void)</pre>
+<pre class="programlisting">int	<a href="#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a>	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />					 int facetType)</pre>
 <pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	<a href="#xmlSchemaNewFacet">xmlSchemaNewFacet</a>	(void)</pre>
 <pre class="programlisting">int	<a href="#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a>	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)</pre>
 <pre class="programlisting">int	<a href="#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a>		(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> base, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)</pre>
+<pre class="programlisting">int	<a href="#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a>	(<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />						 unsigned long actualLen, <br />						 unsigned long * expectedLen)</pre>
 <pre class="programlisting">int	<a href="#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a>	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val)</pre>
 <h2>Description</h2>
 <h3><a name="xmlSchemaCheckFacet" id="xmlSchemaCheckFacet"></a>Function: xmlSchemaCheckFacet</h3><pre class="programlisting">int	xmlSchemaCheckFacet		(<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> typeDecl, <br />					 <a href="libxml-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
 </pre><p>Checks the default values types, especially for facets</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>the facet</td></tr><tr><td><span class="term"><i><tt>typeDecl</tt></i>:</span></td><td>the schema type definition</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the schema parser context or NULL</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>name of the type</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if okay or -1 in cae of error</td></tr></tbody></table></div><h3><a name="xmlSchemaCleanupTypes" id="xmlSchemaCleanupTypes"></a>Function: xmlSchemaCleanupTypes</h3><pre class="programlisting">void	xmlSchemaCleanupTypes		(void)<br />
 </pre><p>Cleanup the default XML Schemas type library</p>
-<h3><a name="xmlSchemaCompareValues" id="xmlSchemaCompareValues"></a>Function: xmlSchemaCompareValues</h3><pre class="programlisting">int	xmlSchemaCompareValues		(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y)<br />
+<h3><a name="xmlSchemaCollapseString" id="xmlSchemaCollapseString"></a>Function: xmlSchemaCollapseString</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlSchemaCollapseString	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
+</pre><p>Removes and normalize white spaces in the string</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>a value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new string or NULL if no change was required.</td></tr></tbody></table></div><h3><a name="xmlSchemaCompareValues" id="xmlSchemaCompareValues"></a>Function: xmlSchemaCompareValues</h3><pre class="programlisting">int	xmlSchemaCompareValues		(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y)<br />
 </pre><p>Compare 2 values</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>x</tt></i>:</span></td><td>a first value</td></tr><tr><td><span class="term"><i><tt>y</tt></i>:</span></td><td>a second value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 if x &lt; y, 0 if x == y, 1 if x &gt; y, 2 if x &lt;&gt; y, and -2 in case of error</td></tr></tbody></table></div><h3><a name="xmlSchemaFreeFacet" id="xmlSchemaFreeFacet"></a>Function: xmlSchemaFreeFacet</h3><pre class="programlisting">void	xmlSchemaFreeFacet		(<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet)<br />
 </pre><p>Deallocate a Schema Facet structure.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>a schema facet structure</td></tr></tbody></table></div><h3><a name="xmlSchemaFreeValue" id="xmlSchemaFreeValue"></a>Function: xmlSchemaFreeValue</h3><pre class="programlisting">void	xmlSchemaFreeValue		(<a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> value)<br />
 </pre><p>Cleanup the default XML Schemas type library</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value to free</td></tr></tbody></table></div><h3><a name="xmlSchemaGetPredefinedType" id="xmlSchemaGetPredefinedType"></a>Function: xmlSchemaGetPredefinedType</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	xmlSchemaGetPredefinedType	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value to free</td></tr></tbody></table></div><h3><a name="xmlSchemaGetBuiltInListSimpleTypeItemType" id="xmlSchemaGetBuiltInListSimpleTypeItemType"></a>Function: xmlSchemaGetBuiltInListSimpleTypeItemType</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	xmlSchemaGetBuiltInListSimpleTypeItemType	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type)<br />
+</pre><p></p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the built-in simple type.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the item type of @type as defined by the built-in datatype hierarchy of XML Schema Part 2: Datatypes, or NULL in case of an error.</td></tr></tbody></table></div><h3><a name="xmlSchemaGetBuiltInType" id="xmlSchemaGetBuiltInType"></a>Function: xmlSchemaGetBuiltInType</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	xmlSchemaGetBuiltInType	(<a href="libxml-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type)<br />
+</pre><p>Gives you the type struct for a built-in type by its type id.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the type of the built in type</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the type if found, NULL otherwise.</td></tr></tbody></table></div><h3><a name="xmlSchemaGetPredefinedType" id="xmlSchemaGetPredefinedType"></a>Function: xmlSchemaGetPredefinedType</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	xmlSchemaGetPredefinedType	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />							 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * ns)<br />
 </pre><p>Lookup a type in the default XML Schemas type library</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the type name</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>the URI of the namespace usually "http://www.w3.org/2001/XMLSchema"</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the type if found, NULL otherwise</td></tr></tbody></table></div><h3><a name="xmlSchemaInitTypes" id="xmlSchemaInitTypes"></a>Function: xmlSchemaInitTypes</h3><pre class="programlisting">void	xmlSchemaInitTypes		(void)<br />
 </pre><p>Initialize the default XML Schemas type library</p>
-<h3><a name="xmlSchemaNewFacet" id="xmlSchemaNewFacet"></a>Function: xmlSchemaNewFacet</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	xmlSchemaNewFacet	(void)<br />
+<h3><a name="xmlSchemaIsBuiltInTypeFacet" id="xmlSchemaIsBuiltInTypeFacet"></a>Function: xmlSchemaIsBuiltInTypeFacet</h3><pre class="programlisting">int	xmlSchemaIsBuiltInTypeFacet	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />					 int facetType)<br />
+</pre><p></p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>facetType</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="xmlSchemaNewFacet" id="xmlSchemaNewFacet"></a>Function: xmlSchemaNewFacet</h3><pre class="programlisting"><a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	xmlSchemaNewFacet	(void)<br />
 </pre><p>Allocate a new Facet structure.</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 newly allocated structure or NULL in case or error</td></tr></tbody></table></div><h3><a name="xmlSchemaValPredefTypeNode" id="xmlSchemaValPredefTypeNode"></a>Function: xmlSchemaValPredefTypeNode</h3><pre class="programlisting">int	xmlSchemaValPredefTypeNode	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br />					 <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br />
 </pre><p>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the predefined type</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value to check</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the return computed value</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node containing the value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateFacet" id="xmlSchemaValidateFacet"></a>Function: xmlSchemaValidateFacet</h3><pre class="programlisting">int	xmlSchemaValidateFacet		(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> base, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br />
 </pre><p>Check a value against a facet condition</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>base</tt></i>:</span></td><td>the base type</td></tr><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>the facet to check</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the lexical repr of the value to validate</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the element is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidatePredefinedType" id="xmlSchemaValidatePredefinedType"></a>Function: xmlSchemaValidatePredefinedType</h3><pre class="programlisting">int	xmlSchemaValidatePredefinedType	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>base</tt></i>:</span></td><td>the base type</td></tr><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>the facet to check</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the lexical repr of the value to validate</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the element is schemas valid, a positive error code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidateListSimpleTypeFacet" id="xmlSchemaValidateListSimpleTypeFacet"></a>Function: xmlSchemaValidateListSimpleTypeFacet</h3><pre class="programlisting">int	xmlSchemaValidateListSimpleTypeFacet	(<a href="libxml-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />						 unsigned long actualLen, <br />						 unsigned long * expectedLen)<br />
+</pre><p>Checks the value of a list simple type against a facet.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>facet</tt></i>:</span></td><td>the facet to check</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the lexical repr of the value to validate</td></tr><tr><td><span class="term"><i><tt>actualLen</tt></i>:</span></td><td>the number of list items</td></tr><tr><td><span class="term"><i><tt>expectedLen</tt></i>:</span></td><td>the resulting expected number of list items</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the value is valid, a positive error code number otherwise and -1 in case of an internal error.</td></tr></tbody></table></div><h3><a name="xmlSchemaValidatePredefinedType" id="xmlSchemaValidatePredefinedType"></a>Function: xmlSchemaValidatePredefinedType</h3><pre class="programlisting">int	xmlSchemaValidatePredefinedType	(<a href="libxml-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value, <br />					 <a href="libxml-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val)<br />
 </pre><p>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the predefined type</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the value to check</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the return computed value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API 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 3455a6e..98dbd41 100644
--- a/doc/libxml2-api.xml
+++ b/doc/libxml2-api.xml
@@ -1030,93 +1030,158 @@
      <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_FINAL_DEFAULT_EXTENSION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_VARIETY_UNION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_QUALIF_ATTR' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_FINAL_LIST' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTR_USE_REQUIRED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_FACET_COLLAPSE' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ANY_STRICT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_FINAL_DEFAULT_UNION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_VARIETY_LIST' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD' 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_WILDCARD_COMPLETE' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_FINAL_EXTENSION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_FIXED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_VARIETY_ATOMIC' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTR_USE_OPTIONAL' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTR_NSDEFAULT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ANYATTR_STRICT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_VARIETY_ABSENT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_FINAL_DEFAULT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTR_GLOBAL' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ANYATTR_SKIP' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION' type='macro'/>
      <exports symbol='XML_SCHEMAS_ANYATTR_LAX' type='macro'/>
      <exports symbol='XML_SCHEMAS_TYPE_GLOBAL' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ANYATTR_STRICT' type='macro'/>
-     <exports symbol='XML_SCHEMAS_QUALIF_ATTR' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ELEM_NILLABLE' type='macro'/>
      <exports symbol='XML_SCHEMAS_ANY_SKIP' type='macro'/>
-     <exports symbol='XML_SCHEMAS_FACET_COLLAPSE' type='macro'/>
+     <exports symbol='XML_SCHEMAS_FINAL_DEFAULT_LIST' type='macro'/>
      <exports symbol='XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_NSDEFAULT' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_GLOBAL' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_MIXED' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ANY_LAX' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ATTR_USE_PROHIBITED' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_NILLABLE' type='macro'/>
-     <exports symbol='XML_SCHEMAS_FACET_UNKNOWN' type='macro'/>
-     <exports symbol='XML_SCHEMAS_WILDCARD_COMPLETE' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_TOPLEVEL' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ANY_LAX' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_FINAL_RESTRICTION' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_MIXED' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_ABSTRACT' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ANY_STRICT' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ELEM_FIXED' type='macro'/>
+     <exports symbol='XML_SCHEMAS_TYPE_FINAL_UNION' type='macro'/>
      <exports symbol='XML_SCHEMAS_QUALIF_ELEM' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ATTRGROUP_GLOBAL' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ATTR_USE_OPTIONAL' 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_ATTR_USE_REQUIRED' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION' type='macro'/>
-     <exports symbol='XML_SCHEMAS_FACET_REPLACE' type='macro'/>
-     <exports symbol='XML_SCHEMAS_FACET_PRESERVE' type='macro'/>
-     <exports symbol='XML_SCHEMAS_ATTR_GLOBAL' type='macro'/>
      <exports symbol='XML_SCHEMAS_ELEM_REF' type='macro'/>
-     <exports symbol='XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION' 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'/>
-     <exports symbol='XML_SCHEMA_TYPE_SIMPLE_CONTENT' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ELEM_DEFAULT' type='macro'/>
+     <exports symbol='XML_SCHEMAS_ATTRGROUP_GLOBAL' type='macro'/>
+     <exports symbol='XML_SCHEMAS_FACET_REPLACE' type='macro'/>
+     <exports symbol='XML_SCHEMAS_GMONTH' type='enum'/>
      <exports symbol='XML_SCHEMA_CONTENT_ELEMENTS' type='enum'/>
-     <exports symbol='XML_SCHEMA_FACET_MININCLUSIVE' type='enum'/>
-     <exports symbol='XML_SCHEMA_FACET_WHITESPACE' type='enum'/>
-     <exports symbol='XML_SCHEMA_FACET_MINEXCLUSIVE' type='enum'/>
-     <exports symbol='XML_SCHEMA_CONTENT_MIXED' type='enum'/>
-     <exports symbol='XML_SCHEMA_FACET_MAXEXCLUSIVE' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_FACET' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_COMPLEX' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_LIST' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_ATTRIBUTEGROUP' type='enum'/>
-     <exports symbol='XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS' type='enum'/>
+     <exports symbol='XML_SCHEMAS_GYEAR' type='enum'/>
+     <exports symbol='XML_SCHEMAS_BYTE' type='enum'/>
      <exports symbol='XML_SCHEMA_TYPE_ALL' type='enum'/>
-     <exports symbol='XML_SCHEMA_CONTENT_EMPTY' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_BASIC' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NOTATION' type='enum'/>
      <exports symbol='XML_SCHEMA_TYPE_EXTENSION' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_CHOICE' type='enum'/>
      <exports symbol='XML_SCHEMA_FACET_MAXINCLUSIVE' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_ATTRIBUTE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NAME' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ANYSIMPLETYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NMTOKEN' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ID' type='enum'/>
+     <exports symbol='XML_SCHEMAS_TIME' type='enum'/>
+     <exports symbol='XML_SCHEMAS_UBYTE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_DATETIME' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NNINTEGER' type='enum'/>
+     <exports symbol='XML_SCHEMAS_IDREFS' type='enum'/>
+     <exports symbol='XML_SCHEMAS_INT' type='enum'/>
+     <exports symbol='XML_SCHEMAS_UNKNOWN' type='enum'/>
+     <exports symbol='XML_SCHEMAS_IDREF' type='enum'/>
+     <exports symbol='XML_SCHEMAS_UINT' type='enum'/>
+     <exports symbol='XML_SCHEMAS_GDAY' type='enum'/>
+     <exports symbol='XML_SCHEMAS_GMONTHDAY' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_ANY' type='enum'/>
+     <exports symbol='XML_SCHEMA_FACET_MINEXCLUSIVE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ANYURI' type='enum'/>
+     <exports symbol='XML_SCHEMA_FACET_MAXEXCLUSIVE' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_COMPLEX' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_ATTRIBUTEGROUP' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ULONG' type='enum'/>
+     <exports symbol='XML_SCHEMAS_PINTEGER' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_BASIC' type='enum'/>
+     <exports symbol='XML_SCHEMAS_HEXBINARY' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_CHOICE' type='enum'/>
      <exports symbol='XML_SCHEMA_TYPE_UNION' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_ELEMENT' type='enum'/>
-     <exports symbol='XML_SCHEMA_FACET_TOTALDIGITS' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_ANY_ATTRIBUTE' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_NOTATION' type='enum'/>
+     <exports symbol='XML_SCHEMAS_DECIMAL' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_UR' type='enum'/>
      <exports symbol='XML_SCHEMA_FACET_LENGTH' type='enum'/>
      <exports symbol='XML_SCHEMA_CONTENT_SIMPLE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_DOUBLE' type='enum'/>
+     <exports symbol='XML_SCHEMA_FACET_PATTERN' type='enum'/>
+     <exports symbol='XML_SCHEMAS_SHORT' type='enum'/>
+     <exports symbol='XML_SCHEMAS_LANGUAGE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NINTEGER' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NORMSTRING' type='enum'/>
+     <exports symbol='XML_SCHEMA_CONTENT_MIXED' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ANYTYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_DURATION' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_FACET' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NMTOKENS' type='enum'/>
+     <exports symbol='XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS' type='enum'/>
+     <exports symbol='XML_SCHEMAS_USHORT' type='enum'/>
+     <exports symbol='XML_SCHEMAS_GYEARMONTH' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NCNAME' type='enum'/>
+     <exports symbol='XML_SCHEMAS_NPINTEGER' type='enum'/>
+     <exports symbol='XML_SCHEMAS_INTEGER' type='enum'/>
+     <exports symbol='XML_SCHEMAS_BASE64BINARY' type='enum'/>
+     <exports symbol='XML_SCHEMAS_LONG' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_COMPLEX_CONTENT' type='enum'/>
+     <exports symbol='XML_SCHEMA_FACET_FRACTIONDIGITS' type='enum'/>
+     <exports symbol='XML_SCHEMAS_BOOLEAN' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ENTITY' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_GROUP' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_SIMPLE' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_SIMPLE_CONTENT' type='enum'/>
+     <exports symbol='XML_SCHEMAS_FLOAT' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_ANY_ATTRIBUTE' type='enum'/>
+     <exports symbol='XML_SCHEMA_FACET_WHITESPACE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_ENTITIES' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_ELEMENT' type='enum'/>
+     <exports symbol='XML_SCHEMAS_DATE' type='enum'/>
+     <exports symbol='XML_SCHEMAS_STRING' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_LIST' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_ATTRIBUTE' type='enum'/>
+     <exports symbol='XML_SCHEMA_FACET_TOTALDIGITS' type='enum'/>
+     <exports symbol='XML_SCHEMAS_QNAME' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_NOTATION' type='enum'/>
+     <exports symbol='XML_SCHEMAS_TOKEN' type='enum'/>
      <exports symbol='XML_SCHEMA_CONTENT_ANY' type='enum'/>
      <exports symbol='XML_SCHEMA_CONTENT_BASIC' type='enum'/>
      <exports symbol='XML_SCHEMA_FACET_MINLENGTH' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_UR' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_COMPLEX_CONTENT' type='enum'/>
-     <exports symbol='XML_SCHEMA_FACET_FRACTIONDIGITS' type='enum'/>
-     <exports symbol='XML_SCHEMA_FACET_PATTERN' type='enum'/>
+     <exports symbol='XML_SCHEMA_TYPE_SEQUENCE' type='enum'/>
+     <exports symbol='XML_SCHEMA_CONTENT_EMPTY' type='enum'/>
+     <exports symbol='XML_SCHEMA_FACET_MININCLUSIVE' type='enum'/>
      <exports symbol='XML_SCHEMA_FACET_MAXLENGTH' type='enum'/>
      <exports symbol='XML_SCHEMA_FACET_ENUMERATION' type='enum'/>
      <exports symbol='XML_SCHEMA_CONTENT_UNKNOWN' type='enum'/>
-     <exports symbol='XML_SCHEMA_TYPE_ANY' type='enum'/>
      <exports symbol='XML_SCHEMA_TYPE_RESTRICTION' type='enum'/>
      <exports symbol='xmlSchemaValPtr' type='typedef'/>
+     <exports symbol='xmlSchemaFacetLink' type='typedef'/>
      <exports symbol='xmlSchemaWildcardNsPtr' type='typedef'/>
      <exports symbol='xmlSchemaAttributeGroup' type='typedef'/>
      <exports symbol='xmlSchemaAttributeGroupPtr' type='typedef'/>
      <exports symbol='xmlSchemaElementPtr' type='typedef'/>
+     <exports symbol='xmlSchemaFacetLinkPtr' type='typedef'/>
      <exports symbol='xmlSchemaWildcardPtr' type='typedef'/>
      <exports symbol='xmlSchemaVal' type='typedef'/>
+     <exports symbol='xmlSchemaTypeLinkPtr' type='typedef'/>
      <exports symbol='xmlSchemaAttributeLinkPtr' type='typedef'/>
      <exports symbol='xmlSchemaWildcardNs' type='typedef'/>
      <exports symbol='xmlSchemaType' type='typedef'/>
      <exports symbol='xmlSchemaAttributePtr' type='typedef'/>
      <exports symbol='xmlSchemaNotationPtr' type='typedef'/>
      <exports symbol='xmlSchemaAnnot' type='typedef'/>
+     <exports symbol='xmlSchemaValType' type='typedef'/>
      <exports symbol='xmlSchemaTypePtr' type='typedef'/>
      <exports symbol='xmlSchemaNotation' type='typedef'/>
      <exports symbol='xmlSchemaAnnotPtr' type='typedef'/>
@@ -1127,19 +1192,23 @@
      <exports symbol='xmlSchemaAttribute' type='typedef'/>
      <exports symbol='xmlSchemaFacetPtr' type='typedef'/>
      <exports symbol='xmlSchemaWildcard' type='typedef'/>
+     <exports symbol='xmlSchemaTypeLink' type='typedef'/>
      <exports symbol='xmlSchemaAttributeLink' type='typedef'/>
      <exports symbol='_xmlSchemaWildcardNs' type='struct'/>
      <exports symbol='_xmlSchemaAttribute' type='struct'/>
+     <exports symbol='_xmlSchemaFacet' type='struct'/>
      <exports symbol='_xmlSchemaType' type='struct'/>
      <exports symbol='_xmlSchemaAttributeGroup' type='struct'/>
      <exports symbol='_xmlSchemaNotation' type='struct'/>
      <exports symbol='_xmlSchemaElement' type='struct'/>
      <exports symbol='_xmlSchema' type='struct'/>
      <exports symbol='_xmlSchemaAttributeLink' type='struct'/>
-     <exports symbol='_xmlSchemaFacet' type='struct'/>
+     <exports symbol='_xmlSchemaFacetLink' type='struct'/>
      <exports symbol='_xmlSchemaWildcard' type='struct'/>
+     <exports symbol='_xmlSchemaTypeLink' type='struct'/>
      <exports symbol='_xmlSchemaAnnot' type='struct'/>
      <exports symbol='xmlSchemaFreeType' type='function'/>
+     <exports symbol='xmlSchemaFreeWildcard' type='function'/>
     </file>
     <file name='threads'>
      <summary>interfaces for thread handling</summary>
@@ -1694,21 +1763,26 @@
      <summary>error handling</summary>
      <description>the API used to report errors </description>
      <author>Daniel Veillard </author>
+     <exports symbol='XML_SCHEMAP_SRC_SIMPLE_TYPE_1' type='enum'/>
      <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_SCHEMAV_CVC_COMPLEX_TYPE_2_4' type='enum'/>
      <exports symbol='XML_DTD_ATTRIBUTE_VALUE' type='enum'/>
      <exports symbol='XML_ERR_INVALID_DEC_CHARREF' type='enum'/>
      <exports symbol='XML_RNGP_PARENTREF_NO_PARENT' type='enum'/>
      <exports symbol='XML_ERR_CDATA_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_TYPE_3_1_2' type='enum'/>
      <exports symbol='XML_XINCLUDE_INCLUDE_IN_INCLUDE' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_TYPE_3_1_1' type='enum'/>
      <exports symbol='XML_XPATH_EXPRESSION_OK' type='enum'/>
      <exports symbol='XML_ERR_DOCUMENT_END' type='enum'/>
      <exports symbol='XML_ERR_ENTITY_NOT_STARTED' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_ENUMERATION_VALID' type='enum'/>
      <exports symbol='XML_ERR_CHARREF_IN_PROLOG' type='enum'/>
      <exports symbol='XML_RNGP_INVALID_DEFINE_NAME' type='enum'/>
      <exports symbol='XML_SAVE_UNKNOWN_ENCODING' type='enum'/>
      <exports symbol='XML_ERR_CONDSEC_INVALID_KEYWORD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_S4S_ATTR_MISSING' type='enum'/>
      <exports symbol='XML_CATALOG_MISSING_ATTR' type='enum'/>
      <exports symbol='XML_ERR_NO_MEMORY' type='enum'/>
      <exports symbol='XML_ERR_PEREF_SEMICOL_MISSING' type='enum'/>
@@ -1718,6 +1792,8 @@
      <exports symbol='XML_HTML_UNKNOWN_TAG' type='enum'/>
      <exports symbol='XML_DTD_NOT_STANDALONE' type='enum'/>
      <exports symbol='XML_RNGP_PAT_START_ATTR' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID' type='enum'/>
+     <exports symbol='XML_SCHEMAV_NOROOT' type='enum'/>
      <exports symbol='XML_SCHEMAV_NOTEMPTY' type='enum'/>
      <exports symbol='XML_RNGP_NEED_COMBINE' type='enum'/>
      <exports symbol='XML_IO_EROFS' type='enum'/>
@@ -1727,6 +1803,8 @@
      <exports symbol='XML_XINCLUDE_NO_FALLBACK' type='enum'/>
      <exports symbol='XML_RNGP_URI_FRAGMENT' type='enum'/>
      <exports symbol='XML_FROM_MEMORY' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2' type='enum'/>
+     <exports symbol='XML_XPATH_INVALID_CHAR_ERROR' type='enum'/>
      <exports symbol='XML_SCHEMAP_INVALID_MAXOCCURS' type='enum'/>
      <exports symbol='XML_ERR_MISSING_ENCODING' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNKNOWN_ATTR_CHILD' type='enum'/>
@@ -1738,7 +1816,7 @@
      <exports symbol='XML_ERR_GT_REQUIRED' type='enum'/>
      <exports symbol='XML_SCHEMAP_FACET_NO_VALUE' type='enum'/>
      <exports symbol='XML_HTTP_UNKNOWN_HOST' type='enum'/>
-     <exports symbol='XML_XPTR_EXTRA_OBJECTS' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID' type='enum'/>
      <exports symbol='XML_ERR_ENTITY_NOT_FINISHED' type='enum'/>
      <exports symbol='XML_SCHEMAP_INVALID_ATTR_USE' type='enum'/>
      <exports symbol='XML_IO_UNKNOWN' type='enum'/>
@@ -1767,7 +1845,8 @@
      <exports symbol='XML_SCHEMAP_REGEXP_INVALID' type='enum'/>
      <exports symbol='XML_XPTR_CHILDSEQ_START' type='enum'/>
      <exports symbol='XML_C14N_CREATE_STACK' type='enum'/>
-     <exports symbol='XML_XINCLUDE_TEXT_FRAGMENT' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER' type='enum'/>
      <exports symbol='XML_XPATH_INVALID_PREDICATE_ERROR' type='enum'/>
      <exports symbol='XML_ERR_EXT_SUBSET_NOT_FINISHED' type='enum'/>
      <exports symbol='XML_RNGP_PARENTREF_NAME_INVALID' type='enum'/>
@@ -1776,10 +1855,14 @@
      <exports symbol='XML_RNGP_EXTERNALREF_RECURSE' type='enum'/>
      <exports symbol='XML_DTD_ATTRIBUTE_DEFAULT' type='enum'/>
      <exports symbol='XML_RNGP_UNKNOWN_COMBINE' type='enum'/>
+     <exports symbol='XML_SCHEMAV_EXTRACONTENT' type='enum'/>
      <exports symbol='XML_RNGP_START_EMPTY' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_SIMPLE_TYPE_4' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2' type='enum'/>
      <exports symbol='XML_RNGP_ELEM_CONTENT_EMPTY' type='enum'/>
      <exports symbol='XML_WAR_NS_URI' type='enum'/>
      <exports symbol='XML_IO_EMLINK' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2' type='enum'/>
      <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'/>
@@ -1792,8 +1875,11 @@
      <exports symbol='XML_IO_ENODEV' type='enum'/>
      <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_REF' type='enum'/>
      <exports symbol='XML_FROM_PARSER' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_REF' type='enum'/>
      <exports symbol='XML_XINCLUDE_RECURSION' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_RESOLVE' type='enum'/>
      <exports symbol='XML_C14N_CREATE_CTXT' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_FACET_VALID' type='enum'/>
      <exports symbol='XML_SCHEMAP_ATTRGRP_NONAME_NOREF' type='enum'/>
      <exports symbol='XML_SCHEMAP_RESTRICTION_NONAME_NOREF' type='enum'/>
      <exports symbol='XML_XINCLUDE_TEXT_DOCUMENT' type='enum'/>
@@ -1811,15 +1897,18 @@
      <exports symbol='XML_IO_EFAULT' type='enum'/>
      <exports symbol='XML_XPATH_INVALID_CTXT_POSITION' type='enum'/>
      <exports symbol='XML_ERR_NOTATION_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_LENGTH_VALID' type='enum'/>
      <exports symbol='XML_DTD_STANDALONE_DEFAULTED' type='enum'/>
      <exports symbol='XML_DTD_INVALID_DEFAULT' type='enum'/>
      <exports symbol='XML_DTD_UNKNOWN_ELEM' type='enum'/>
      <exports symbol='XML_SCHEMAP_REDEFINED_TYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID' type='enum'/>
      <exports symbol='XML_SCHEMAV_NOTYPE' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNKNOWN_FACET_CHILD' type='enum'/>
      <exports symbol='XML_SCHEMAP_NOTATION_NO_NAME' type='enum'/>
      <exports symbol='XML_DTD_EMPTY_NOTATION' type='enum'/>
      <exports symbol='XML_RNGP_ELEMENT_EMPTY' type='enum'/>
+     <exports symbol='XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED' type='enum'/>
      <exports symbol='XML_RNGP_PAT_LIST_TEXT' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNKNOWN_ALL_CHILD' type='enum'/>
      <exports symbol='XML_SCHEMAP_INCLUDE_SCHEMA_NOT_URI' type='enum'/>
@@ -1827,7 +1916,9 @@
      <exports symbol='XML_RNGP_INCLUDE_FAILURE' type='enum'/>
      <exports symbol='XML_RNGP_INVALID_VALUE' type='enum'/>
      <exports symbol='XML_ERR_COMMENT_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_REDEFINED_ATTRGROUP' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_1_1' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD' type='enum'/>
      <exports symbol='XML_IO_EMSGSIZE' type='enum'/>
      <exports symbol='XML_FROM_CATALOG' type='enum'/>
@@ -1853,7 +1944,9 @@
      <exports symbol='XML_SCHEMAP_IMPORT_REDEFINE_NSNAME' type='enum'/>
      <exports symbol='XML_RNGP_PAT_NSNAME_EXCEPT_NSNAME' type='enum'/>
      <exports symbol='XML_IO_ECANCELED' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2' type='enum'/>
      <exports symbol='XML_SCHEMAP_INVALID_ATTR_NAME' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1' type='enum'/>
      <exports symbol='XML_ERR_UNKNOWN_ENCODING' type='enum'/>
      <exports symbol='XML_SCHEMAV_NOTSIMPLE' type='enum'/>
      <exports symbol='XML_HTTP_URL_SYNTAX' type='enum'/>
@@ -1883,7 +1976,7 @@
      <exports symbol='XML_XPATH_UNFINISHED_LITERAL_ERROR' type='enum'/>
      <exports symbol='XML_RNGP_EXTERNALREF_EMTPY' type='enum'/>
      <exports symbol='XML_ERR_SPACE_REQUIRED' type='enum'/>
-     <exports symbol='XML_SCHEMAV_EXTRACONTENT' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_MAXLENGTH_VALID' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNKNOWN_SCHEMAS_CHILD' type='enum'/>
      <exports symbol='XML_DTD_DIFFERENT_PREFIX' type='enum'/>
      <exports symbol='XML_RNGP_INTERLEAVE_NO_CONTENT' type='enum'/>
@@ -1923,12 +2016,14 @@
      <exports symbol='XML_C14N_REQUIRES_UTF8' type='enum'/>
      <exports symbol='XML_FROM_XINCLUDE' type='enum'/>
      <exports symbol='XML_SCHEMAP_TYPE_AND_SUBTYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3' type='enum'/>
      <exports symbol='XML_RNGP_GRAMMAR_EMPTY' type='enum'/>
      <exports symbol='XML_IO_ENOTDIR' type='enum'/>
      <exports symbol='XML_SAVE_CHAR_INVALID' type='enum'/>
      <exports symbol='XML_RNGP_ELEMENT_NO_CONTENT' type='enum'/>
      <exports symbol='XML_ERR_ENTITYREF_NO_NAME' type='enum'/>
      <exports symbol='XML_DTD_ID_FIXED' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2' type='enum'/>
      <exports symbol='XML_XINCLUDE_NO_HREF' type='enum'/>
      <exports symbol='XML_XPATH_INVALID_OPERAND' type='enum'/>
      <exports symbol='XML_IO_ENOEXEC' type='enum'/>
@@ -1949,15 +2044,17 @@
      <exports symbol='XML_SCHEMAP_ELEM_NONAME_NOREF' type='enum'/>
      <exports symbol='XML_DTD_ID_SUBSET' type='enum'/>
      <exports symbol='XML_ERR_ENTITY_CHAR_ERROR' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_ANYATTRIBUTE_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3' type='enum'/>
      <exports symbol='XML_RNGP_PAT_START_EMPTY' type='enum'/>
      <exports symbol='XML_DTD_UNKNOWN_ENTITY' type='enum'/>
      <exports symbol='XML_RNGP_PARSE_ERROR' type='enum'/>
+     <exports symbol='XML_XINCLUDE_PARSE_VALUE' type='enum'/>
      <exports symbol='XML_RNGP_XML_NS' type='enum'/>
      <exports symbol='XML_ERR_MISPLACED_CDATA_END' type='enum'/>
      <exports symbol='XML_FROM_HTTP' type='enum'/>
      <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_ONEMORE' type='enum'/>
-     <exports symbol='XML_WAR_LANG_VALUE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5' type='enum'/>
      <exports symbol='XML_RNGP_REF_CREATE_FAILED' type='enum'/>
      <exports symbol='XML_ERR_SEPARATOR_REQUIRED' type='enum'/>
      <exports symbol='XML_DTD_ROOT_NAME' type='enum'/>
@@ -1966,6 +2063,7 @@
      <exports symbol='XML_RNGP_ATTRIBUTE_CONTENT' type='enum'/>
      <exports symbol='XML_RNGP_REF_NOT_EMPTY' type='enum'/>
      <exports symbol='XML_DTD_XMLID_TYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_1_2' type='enum'/>
      <exports symbol='XML_XPATH_VARIABLE_REF_ERROR' type='enum'/>
      <exports symbol='XML_RNGP_INTERLEAVE_ADD' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNKNOWN_CHOICE_CHILD' type='enum'/>
@@ -1997,6 +2095,7 @@
      <exports symbol='XML_DTD_NOT_PCDATA' type='enum'/>
      <exports symbol='XML_SCHEMAP_INVALID_ATTR_COMBINATION' type='enum'/>
      <exports symbol='XML_WAR_UNKNOWN_VERSION' type='enum'/>
+     <exports symbol='XML_XPTR_EXTRA_OBJECTS' type='enum'/>
      <exports symbol='XML_RNGP_PARAM_FORBIDDEN' type='enum'/>
      <exports symbol='XML_ERR_OK' type='enum'/>
      <exports symbol='XML_SCHEMAP_NOTHING_TO_PARSE' type='enum'/>
@@ -2005,10 +2104,11 @@
      <exports symbol='XML_SCHEMAP_GROUP_NONAME_NOREF' type='enum'/>
      <exports symbol='XML_RNGP_PAT_NSNAME_EXCEPT_ANYNAME' type='enum'/>
      <exports symbol='XML_ERR_ENTITYREF_IN_PROLOG' type='enum'/>
+     <exports symbol='XML_SCHEMAP_S4S_ELEM_MISSING' type='enum'/>
      <exports symbol='XML_ERR_CHARREF_IN_DTD' type='enum'/>
      <exports symbol='XML_DTD_LOAD_ERROR' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNKNOWN_NOTATION_CHILD' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_TYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES' type='enum'/>
      <exports symbol='XML_IO_ENOTTY' type='enum'/>
      <exports symbol='XML_RNGP_EMPTY_CONTENT' type='enum'/>
      <exports symbol='XML_IO_EALREADY' type='enum'/>
@@ -2037,6 +2137,7 @@
      <exports symbol='XML_SCHEMAP_INVALID_MINOCCURS' type='enum'/>
      <exports symbol='XML_SCHEMAP_COS_CT_EXTENDS_1_3' type='enum'/>
      <exports symbol='XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_TOTALDIGITS_VALID' type='enum'/>
      <exports symbol='XML_IO_ENOLCK' type='enum'/>
      <exports symbol='XML_XINCLUDE_DEPRECATED_NS' type='enum'/>
      <exports symbol='XML_RNGP_CHOICE_EMPTY' type='enum'/>
@@ -2047,13 +2148,16 @@
      <exports symbol='XML_IO_EPIPE' type='enum'/>
      <exports symbol='XML_TREE_INVALID_DEC' type='enum'/>
      <exports symbol='XML_SCHEMAP_EXTENSION_NO_BASE' type='enum'/>
+     <exports symbol='XML_XPTR_SYNTAX_ERROR' type='enum'/>
      <exports symbol='XML_SCHEMAP_NOTYPE_NOREF' type='enum'/>
      <exports symbol='XML_RNGP_ATTRIBUTE_EMPTY' type='enum'/>
      <exports symbol='XML_SCHEMAV_ISABSTRACT' type='enum'/>
      <exports symbol='XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD' type='enum'/>
      <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_SIMPLE_TYPE_2' type='enum'/>
      <exports symbol='XML_SCHEMAP_DERIVATION_OK_RESTRICTION_3' type='enum'/>
      <exports symbol='XML_IO_LOAD_ERROR' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_SIMPLE_TYPE_3' type='enum'/>
      <exports symbol='XML_RNGP_PAT_LIST_ELEM' type='enum'/>
      <exports symbol='XML_SCHEMAV_UNDECLAREDELEM' type='enum'/>
      <exports symbol='XML_RNGP_CREATE_FAILURE' type='enum'/>
@@ -2064,6 +2168,7 @@
      <exports symbol='XML_ERR_EQUAL_REQUIRED' type='enum'/>
      <exports symbol='XML_XPATH_UNKNOWN_FUNC_ERROR' type='enum'/>
      <exports symbol='XML_SCHEMAP_INVALID_WHITE_SPACE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE' type='enum'/>
      <exports symbol='XML_RNGP_INCLUDE_EMPTY' type='enum'/>
      <exports symbol='XML_IO_ENOTSUP' type='enum'/>
      <exports symbol='XML_DTD_UNKNOWN_ATTRIBUTE' type='enum'/>
@@ -2078,11 +2183,13 @@
      <exports symbol='XML_FTP_EPSV_ANSWER' type='enum'/>
      <exports symbol='XML_DTD_ENTITY_TYPE' type='enum'/>
      <exports symbol='XML_ERR_FATAL' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_1' type='enum'/>
      <exports symbol='XML_DTD_ID_REDEFINED' type='enum'/>
      <exports symbol='XML_XPATH_ENCODING_ERROR' type='enum'/>
      <exports symbol='XML_RNGP_REF_NO_NAME' type='enum'/>
      <exports symbol='XML_ERR_NONE' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNKNOWN_COMPLEXTYPE_CHILD' type='enum'/>
+     <exports symbol='XML_XPATH_NUMBER_ERROR' type='enum'/>
      <exports symbol='XML_RNGP_NSNAME_ATTR_ANCESTOR' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNKNOWN_FACET_TYPE' type='enum'/>
      <exports symbol='XML_RNGP_PAT_START_ONEMORE' type='enum'/>
@@ -2102,10 +2209,11 @@
      <exports symbol='XML_RNGP_VALUE_NO_CONTENT' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD' type='enum'/>
      <exports symbol='XML_IO_EAFNOSUPPORT' type='enum'/>
-     <exports symbol='XML_XPTR_SYNTAX_ERROR' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1' type='enum'/>
      <exports symbol='XML_CATALOG_NOT_CATALOG' type='enum'/>
-     <exports symbol='XML_SCHEMAP_UNKNOWN_REF' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4' type='enum'/>
      <exports symbol='XML_RNGP_PAT_DATA_EXCEPT_EMPTY' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4' 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'/>
@@ -2119,15 +2227,18 @@
      <exports symbol='XML_XINCLUDE_FRAGMENT_ID' type='enum'/>
      <exports symbol='XML_IO_NO_INPUT' type='enum'/>
      <exports symbol='XML_NS_ERR_UNDEFINED_NAMESPACE' type='enum'/>
-     <exports symbol='XML_XPATH_INVALID_ARITY' type='enum'/>
-     <exports symbol='XML_XPATH_INVALID_CHAR_ERROR' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_MINLENGTH_VALID' type='enum'/>
+     <exports symbol='XML_SCHEMAP_ST_PROPS_CORRECT_3' type='enum'/>
      <exports symbol='XML_REGEXP_COMPILE_ERROR' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_MININCLUSIVE_VALID' type='enum'/>
      <exports symbol='XML_IO_WRITE' type='enum'/>
      <exports symbol='XML_ERR_ENTITY_PE_INTERNAL' type='enum'/>
      <exports symbol='XML_RNGP_DEFINE_MISSING' type='enum'/>
      <exports symbol='XML_ERR_NOTATION_NOT_STARTED' type='enum'/>
      <exports symbol='XML_ERR_INTERNAL_ERROR' type='enum'/>
-     <exports symbol='XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_DERIVED_OK_2_2' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_DERIVED_OK_2_1' type='enum'/>
      <exports symbol='XML_IO_EBADMSG' type='enum'/>
      <exports symbol='XML_RNGP_PAT_LIST_INTERLEAVE' type='enum'/>
      <exports symbol='XML_ERR_DOCUMENT_EMPTY' type='enum'/>
@@ -2137,6 +2248,7 @@
      <exports symbol='XML_FROM_NAMESPACE' type='enum'/>
      <exports symbol='XML_IO_EBUSY' type='enum'/>
      <exports symbol='XML_ERR_ATTLIST_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_XINCLUDE_TEXT_FRAGMENT' type='enum'/>
      <exports symbol='XML_RNGP_INCLUDE_RECURSE' type='enum'/>
      <exports symbol='XML_ERR_INVALID_URI' type='enum'/>
      <exports symbol='XML_SCHEMAP_INVALID_ENUM' type='enum'/>
@@ -2152,22 +2264,28 @@
      <exports symbol='XML_SCHEMAP_ELEM_DEFAULT_FIXED' type='enum'/>
      <exports symbol='XML_SCHEMAP_REDEFINED_ELEMENT' type='enum'/>
      <exports symbol='XML_RNGP_REF_NO_DEF' type='enum'/>
+     <exports symbol='XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED' type='enum'/>
      <exports symbol='XML_ERR_NOT_WELL_BALANCED' type='enum'/>
      <exports symbol='XML_SCHEMAP_CT_PROPS_CORRECT_5' type='enum'/>
      <exports symbol='XML_NS_ERR_XML_NAMESPACE' type='enum'/>
      <exports symbol='XML_ERR_INVALID_CHARREF' type='enum'/>
+     <exports symbol='XML_SCHEMAP_UNKNOWN_TYPE' type='enum'/>
      <exports symbol='XML_SCHEMAP_CT_PROPS_CORRECT_2' type='enum'/>
      <exports symbol='XML_ERR_INVALID_CHAR' type='enum'/>
      <exports symbol='XML_RNGP_FOREIGN_ELEMENT' type='enum'/>
-     <exports symbol='XML_XINCLUDE_PARSE_VALUE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_DEF_AND_PREFIX' type='enum'/>
      <exports symbol='XML_RNGP_PAT_ANYNAME_EXCEPT_ANYNAME' type='enum'/>
      <exports symbol='XML_RNGP_NSNAME_NO_NS' type='enum'/>
      <exports symbol='XML_ERR_MIXED_NOT_STARTED' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNION_NOT_EXPRESSIBLE' type='enum'/>
+     <exports symbol='XML_WAR_LANG_VALUE' type='enum'/>
      <exports symbol='XML_SCHEMAV_INVALIDELEM' type='enum'/>
      <exports symbol='XML_NS_ERR_QNAME' type='enum'/>
      <exports symbol='XML_DTD_NOTATION_VALUE' type='enum'/>
+     <exports symbol='XML_SCHEMAP_ST_PROPS_CORRECT_2' type='enum'/>
      <exports symbol='XML_ERR_INVALID_ENCODING' type='enum'/>
+     <exports symbol='XML_SCHEMAP_ST_PROPS_CORRECT_1' type='enum'/>
+     <exports symbol='XML_XPATH_INVALID_ARITY' type='enum'/>
      <exports symbol='XML_RNGP_EXCEPT_MISSING' type='enum'/>
      <exports symbol='XML_ERR_TAG_NOT_FINISHED' type='enum'/>
      <exports symbol='XML_RNGP_XMLNS_NAME' type='enum'/>
@@ -2185,6 +2303,8 @@
      <exports symbol='XML_RNGP_EXCEPT_MULTIPLE' type='enum'/>
      <exports symbol='XML_IO_EDEADLK' type='enum'/>
      <exports symbol='XML_ERR_ATTRIBUTE_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID' type='enum'/>
+     <exports symbol='XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE' type='enum'/>
      <exports symbol='XML_IO_EINVAL' type='enum'/>
      <exports symbol='XML_IO_ENAMETOOLONG' type='enum'/>
      <exports symbol='XML_ERR_PEREF_IN_PROLOG' type='enum'/>
@@ -2194,12 +2314,18 @@
      <exports symbol='XML_RNGP_PAT_START_TEXT' type='enum'/>
      <exports symbol='XML_SAVE_NOT_UTF8' type='enum'/>
      <exports symbol='XML_DTD_INVALID_CHILD' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_PATTERN_VALID' type='enum'/>
      <exports symbol='XML_RNGP_TYPE_MISSING' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1' type='enum'/>
      <exports symbol='XML_ERR_TAG_NAME_MISMATCH' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3' type='enum'/>
      <exports symbol='XML_ERR_ENCODING_NAME' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5' type='enum'/>
      <exports symbol='XML_ERR_ATTRIBUTE_REDEFINED' type='enum'/>
      <exports symbol='XML_IO_ECONNREFUSED' type='enum'/>
      <exports symbol='XML_ERR_XMLDECL_NOT_FINISHED' type='enum'/>
+     <exports symbol='XML_SCHEMAP_REDEFINED_ATTRGROUP' type='enum'/>
      <exports symbol='XML_XINCLUDE_XPTR_RESULT' type='enum'/>
      <exports symbol='XML_SCHEMAP_SIMPLETYPE_NONAME' type='enum'/>
      <exports symbol='XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP' type='enum'/>
@@ -2214,7 +2340,8 @@
      <exports symbol='XML_IO_ETIMEDOUT' type='enum'/>
      <exports symbol='XML_RNGP_ATTRIBUTE_CHILDREN' type='enum'/>
      <exports symbol='XML_RNGP_DEFINE_NAME_MISSING' type='enum'/>
-     <exports symbol='XML_XPATH_NUMBER_ERROR' type='enum'/>
+     <exports symbol='XML_SCHEMAV_WRONGELEM' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2' type='enum'/>
      <exports symbol='XML_SAVE_NO_DOCTYPE' type='enum'/>
      <exports symbol='XML_RNGP_CHOICE_CONTENT' type='enum'/>
      <exports symbol='XML_RNGP_EMPTY_CONSTRUCT' type='enum'/>
@@ -2231,13 +2358,13 @@
      <exports symbol='XML_FROM_SCHEMASV' type='enum'/>
      <exports symbol='XML_FROM_SCHEMASP' type='enum'/>
      <exports symbol='XML_ERR_MIXED_NOT_FINISHED' type='enum'/>
-     <exports symbol='XML_SCHEMAP_DEF_AND_PREFIX' type='enum'/>
+     <exports symbol='XML_SCHEMAP_COS_ST_RESTRICTS_2_1' type='enum'/>
      <exports symbol='XML_SCHEMAP_PREFIX_UNDEFINED' type='enum'/>
      <exports symbol='XML_DTD_STANDALONE_WHITE_SPACE' type='enum'/>
      <exports symbol='XML_HTTP_USE_IP' type='enum'/>
      <exports symbol='XML_IO_ENCODER' type='enum'/>
      <exports symbol='XML_IO_ENOTEMPTY' type='enum'/>
-     <exports symbol='XML_SCHEMAV_WRONGELEM' type='enum'/>
+     <exports symbol='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3' type='enum'/>
      <exports symbol='XML_RNGP_START_CHOICE_AND_INTERLEAVE' type='enum'/>
      <exports symbol='XML_SCHEMAP_CT_PROPS_CORRECT_3' type='enum'/>
      <exports symbol='XML_XINCLUDE_INVALID_CHAR' type='enum'/>
@@ -2522,12 +2649,17 @@
      <author>Daniel Veillard </author>
      <exports symbol='xmlSchemaNewFacet' type='function'/>
      <exports symbol='xmlSchemaValPredefTypeNode' type='function'/>
+     <exports symbol='xmlSchemaIsBuiltInTypeFacet' type='function'/>
      <exports symbol='xmlSchemaFreeFacet' type='function'/>
+     <exports symbol='xmlSchemaGetBuiltInListSimpleTypeItemType' type='function'/>
      <exports symbol='xmlSchemaValidatePredefinedType' type='function'/>
      <exports symbol='xmlSchemaCompareValues' type='function'/>
-     <exports symbol='xmlSchemaValidateFacet' type='function'/>
-     <exports symbol='xmlSchemaCleanupTypes' type='function'/>
      <exports symbol='xmlSchemaInitTypes' type='function'/>
+     <exports symbol='xmlSchemaValidateFacet' type='function'/>
+     <exports symbol='xmlSchemaValidateListSimpleTypeFacet' type='function'/>
+     <exports symbol='xmlSchemaCleanupTypes' type='function'/>
+     <exports symbol='xmlSchemaCollapseString' type='function'/>
+     <exports symbol='xmlSchemaGetBuiltInType' type='function'/>
      <exports symbol='xmlSchemaFreeValue' type='function'/>
      <exports symbol='xmlSchemaGetPredefinedType' type='function'/>
      <exports symbol='xmlSchemaCheckFacet' type='function'/>
@@ -3468,22 +3600,22 @@
       <info>Special constant found in SAX2 blocks initialized fields</info>
     </macro>
     <macro name='XML_SCHEMAS_ANYATTR_LAX' file='schemasInternals'>
-      <info>Ignore validation non definition on attributes</info>
+      <info>Ignore validation non definition on attributes Obsolete, not used anymore.</info>
     </macro>
     <macro name='XML_SCHEMAS_ANYATTR_SKIP' file='schemasInternals'>
-      <info>Skip unknown attribute from validation</info>
+      <info>Skip unknown attribute from validation Obsolete, not used anymore.</info>
     </macro>
     <macro name='XML_SCHEMAS_ANYATTR_STRICT' file='schemasInternals'>
-      <info>Apply strict validation rules on attributes</info>
+      <info>Apply strict validation rules on attributes Obsolete, not used anymore.</info>
     </macro>
     <macro name='XML_SCHEMAS_ANY_LAX' file='schemasInternals'>
-      <info>Ignore validation non definition on attributes</info>
+      <info>Used by wildcards. Validate if type found, don&apos;t worry if not found</info>
     </macro>
     <macro name='XML_SCHEMAS_ANY_SKIP' file='schemasInternals'>
       <info>Skip unknown attribute from validation</info>
     </macro>
     <macro name='XML_SCHEMAS_ANY_STRICT' file='schemasInternals'>
-      <info>Apply strict validation rules on attributes</info>
+      <info>Used by wildcards. Apply strict validation rules</info>
     </macro>
     <macro name='XML_SCHEMAS_ATTRGROUP_GLOBAL' file='schemasInternals'>
       <info>The attribute wildcard has been already builded.</info>
@@ -3500,7 +3632,7 @@
       <info>The attribute is optional.</info>
     </macro>
     <macro name='XML_SCHEMAS_ATTR_USE_PROHIBITED' file='schemasInternals'>
-      <info>The attribute is prohibited.</info>
+      <info>Used by wildcards. The attribute is prohibited.</info>
     </macro>
     <macro name='XML_SCHEMAS_ATTR_USE_REQUIRED' file='schemasInternals'>
       <info>The attribute is required.</info>
@@ -3521,7 +3653,7 @@
       <info>the element is nillable</info>
     </macro>
     <macro name='XML_SCHEMAS_ELEM_NSDEFAULT' file='schemasInternals'>
-      <info>allow elements in no namespace</info>
+      <info>allow elements in no namespace Obsolete, not used anymore.</info>
     </macro>
     <macro name='XML_SCHEMAS_ELEM_REF' file='schemasInternals'>
       <info>the element is a reference to a type</info>
@@ -3541,18 +3673,46 @@
     <macro name='XML_SCHEMAS_FACET_UNKNOWN' file='schemasInternals'>
       <info>unknown facet handling</info>
     </macro>
+    <macro name='XML_SCHEMAS_FINAL_DEFAULT_EXTENSION' file='schemasInternals'>
+      <info>the shema has &quot;extension&quot; in the set of finalDefault.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_FINAL_DEFAULT_LIST' file='schemasInternals'>
+      <info>the shema has &quot;list&quot; in the set of finalDefault.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION' file='schemasInternals'>
+      <info>the shema has &quot;restriction&quot; in the set of finalDefault.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_FINAL_DEFAULT_UNION' file='schemasInternals'>
+      <info>the shema has &quot;union&quot; in the set of finalDefault.</info>
+    </macro>
     <macro name='XML_SCHEMAS_QUALIF_ATTR' file='schemasInternals'>
       <info>the shemas requires qualified attributes</info>
     </macro>
     <macro name='XML_SCHEMAS_QUALIF_ELEM' file='schemasInternals'>
       <info>the shemas requires qualified elements</info>
     </macro>
+    <macro name='XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE' file='schemasInternals'>
+    </macro>
     <macro name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION' file='schemasInternals'>
       <info>the simple or complex type has a derivation method of &quot;extension&quot;.</info>
     </macro>
     <macro name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION' file='schemasInternals'>
       <info>the simple or complex type has a derivation method of &quot;restriction&quot;.</info>
     </macro>
+    <macro name='XML_SCHEMAS_TYPE_FINAL_DEFAULT' file='schemasInternals'>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_FINAL_EXTENSION' file='schemasInternals'>
+      <info>the complexType has a final of &quot;extension&quot;.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_FINAL_LIST' file='schemasInternals'>
+      <info>the simpleType has a final of &quot;list&quot;.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_FINAL_RESTRICTION' file='schemasInternals'>
+      <info>the simpleType/complexType has a final of &quot;restriction&quot;.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_FINAL_UNION' file='schemasInternals'>
+      <info>the simpleType has a final of &quot;union&quot;.</info>
+    </macro>
     <macro name='XML_SCHEMAS_TYPE_GLOBAL' file='schemasInternals'>
       <info>the type is global</info>
     </macro>
@@ -3562,6 +3722,18 @@
     <macro name='XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD' file='schemasInternals'>
       <info>the complexType owns an attribute wildcard, i.e. it can be freed by the complexType</info>
     </macro>
+    <macro name='XML_SCHEMAS_TYPE_VARIETY_ABSENT' file='schemasInternals'>
+      <info>the simpleType has a variety of &quot;absent&quot;.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_VARIETY_ATOMIC' file='schemasInternals'>
+      <info>the simpleType has a variety of &quot;union&quot;.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_VARIETY_LIST' file='schemasInternals'>
+      <info>the simpleType has a variety of &quot;list&quot;.</info>
+    </macro>
+    <macro name='XML_SCHEMAS_TYPE_VARIETY_UNION' file='schemasInternals'>
+      <info>the simpleType has a variety of &quot;union&quot;.</info>
+    </macro>
     <macro name='XML_SCHEMAS_WILDCARD_COMPLETE' file='schemasInternals'>
       <info>If the wildcard is complete.</info>
     </macro>
@@ -4051,7 +4223,7 @@
     <enum name='XML_HTML_DOCUMENT_NODE' file='tree' value='13' type='xmlElementType'/>
     <enum name='XML_HTML_STRUCURE_ERROR' file='xmlerror' value='800' type='xmlParserErrors'/>
     <enum name='XML_HTML_UNKNOWN_TAG' file='xmlerror' value='801' type='xmlParserErrors' info='801'/>
-    <enum name='XML_HTTP_UNKNOWN_HOST' file='xmlerror' value='2022' type='xmlParserErrors' info=' 2022'/>
+    <enum name='XML_HTTP_UNKNOWN_HOST' file='xmlerror' value='2022' type='xmlParserErrors' info='2022'/>
     <enum name='XML_HTTP_URL_SYNTAX' file='xmlerror' value='2020' type='xmlParserErrors'/>
     <enum name='XML_HTTP_USE_IP' file='xmlerror' value='2021' type='xmlParserErrors' info='2021'/>
     <enum name='XML_INTERNAL_GENERAL_ENTITY' file='entities' value='1' type='xmlEntityType'/>
@@ -4362,6 +4534,28 @@
     <enum name='XML_SCHEMAP_ATTR_NONAME_NOREF' file='xmlerror' value='1703' type='xmlParserErrors' info='1703'/>
     <enum name='XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF' file='xmlerror' value='1704' type='xmlParserErrors' info='1704'/>
     <enum name='XML_SCHEMAP_COS_CT_EXTENDS_1_3' file='xmlerror' value='1800' type='xmlParserErrors' info='1799'/>
+    <enum name='XML_SCHEMAP_COS_ST_DERIVED_OK_2_1' file='xmlerror' value='3031' type='xmlParserErrors' info='3031'/>
+    <enum name='XML_SCHEMAP_COS_ST_DERIVED_OK_2_2' file='xmlerror' value='3032' type='xmlParserErrors' info='3032'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_1_1' file='xmlerror' value='3011' type='xmlParserErrors' info='3010'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_1_2' file='xmlerror' value='3012' type='xmlParserErrors' info='3011'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1' file='xmlerror' value='3013' type='xmlParserErrors' info='3012'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2' file='xmlerror' value='3014' type='xmlParserErrors' info='3013'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_2_1' file='xmlerror' value='3015' type='xmlParserErrors' info='3014'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1' file='xmlerror' value='3016' type='xmlParserErrors' info='3015'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2' file='xmlerror' value='3017' type='xmlParserErrors' info='3016'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1' file='xmlerror' value='3018' type='xmlParserErrors' info='3017'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2' file='xmlerror' value='3019' type='xmlParserErrors' info='3018'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3' file='xmlerror' value='3020' type='xmlParserErrors' info='3019'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4' file='xmlerror' value='3021' type='xmlParserErrors' info='3021'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5' file='xmlerror' value='3022' type='xmlParserErrors' info='3022'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_3_1' file='xmlerror' value='3023' type='xmlParserErrors' info='3023'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1' file='xmlerror' value='3024' type='xmlParserErrors' info='3024'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2' file='xmlerror' value='3025' type='xmlParserErrors' info='3025'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1' file='xmlerror' value='3027' type='xmlParserErrors' info='3027'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2' file='xmlerror' value='3026' type='xmlParserErrors' info='3026'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3' file='xmlerror' value='3028' type='xmlParserErrors' info='3028'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4' file='xmlerror' value='3029' type='xmlParserErrors' info='3029'/>
+    <enum name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5' file='xmlerror' value='3030' type='xmlParserErrors' info='3030'/>
     <enum name='XML_SCHEMAP_CT_PROPS_CORRECT_1' file='xmlerror' value='1782' type='xmlParserErrors' info='1781'/>
     <enum name='XML_SCHEMAP_CT_PROPS_CORRECT_2' file='xmlerror' value='1783' type='xmlParserErrors' info='1782'/>
     <enum name='XML_SCHEMAP_CT_PROPS_CORRECT_3' file='xmlerror' value='1784' type='xmlParserErrors' info='1783'/>
@@ -4422,9 +4616,24 @@
     <enum name='XML_SCHEMAP_REF_AND_SUBTYPE' file='xmlerror' value='1725' type='xmlParserErrors' info='1725'/>
     <enum name='XML_SCHEMAP_REGEXP_INVALID' file='xmlerror' value='1756' type='xmlParserErrors' info='1756'/>
     <enum name='XML_SCHEMAP_RESTRICTION_NONAME_NOREF' file='xmlerror' value='1726' type='xmlParserErrors' info='1726'/>
+    <enum name='XML_SCHEMAP_S4S_ATTR_MISSING' file='xmlerror' value='3036' type='xmlParserErrors' info=' 3036'/>
+    <enum name='XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED' file='xmlerror' value='3035' type='xmlParserErrors' info='3035'/>
+    <enum name='XML_SCHEMAP_S4S_ELEM_MISSING' file='xmlerror' value='3034' type='xmlParserErrors' info='3034'/>
+    <enum name='XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED' file='xmlerror' value='3033' type='xmlParserErrors' info='3033'/>
     <enum name='XML_SCHEMAP_SIMPLETYPE_NONAME' file='xmlerror' value='1727' type='xmlParserErrors' info='1727'/>
     <enum name='XML_SCHEMAP_SRC_IMPORT_3_1' file='xmlerror' value='1795' type='xmlParserErrors' info='1794'/>
     <enum name='XML_SCHEMAP_SRC_IMPORT_3_2' file='xmlerror' value='1796' type='xmlParserErrors' info='1795'/>
+    <enum name='XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE' file='xmlerror' value='3006' type='xmlParserErrors' info='3005'/>
+    <enum name='XML_SCHEMAP_SRC_RESOLVE' file='xmlerror' value='3004' type='xmlParserErrors' info='3004'/>
+    <enum name='XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE' file='xmlerror' value='3005' type='xmlParserErrors' info='3004'/>
+    <enum name='XML_SCHEMAP_SRC_SIMPLE_TYPE_1' file='xmlerror' value='3000' type='xmlParserErrors'/>
+    <enum name='XML_SCHEMAP_SRC_SIMPLE_TYPE_2' file='xmlerror' value='3001' type='xmlParserErrors' info='3001'/>
+    <enum name='XML_SCHEMAP_SRC_SIMPLE_TYPE_3' file='xmlerror' value='3002' type='xmlParserErrors' info='3002'/>
+    <enum name='XML_SCHEMAP_SRC_SIMPLE_TYPE_4' file='xmlerror' value='3003' type='xmlParserErrors' info='3003'/>
+    <enum name='XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES' file='xmlerror' value='3007' type='xmlParserErrors' info='3006'/>
+    <enum name='XML_SCHEMAP_ST_PROPS_CORRECT_1' file='xmlerror' value='3008' type='xmlParserErrors' info='3007'/>
+    <enum name='XML_SCHEMAP_ST_PROPS_CORRECT_2' file='xmlerror' value='3009' type='xmlParserErrors' info='3008'/>
+    <enum name='XML_SCHEMAP_ST_PROPS_CORRECT_3' file='xmlerror' value='3010' type='xmlParserErrors' info='3009'/>
     <enum name='XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE' file='xmlerror' value='1776' type='xmlParserErrors' info='1775'/>
     <enum name='XML_SCHEMAP_TYPE_AND_SUBTYPE' file='xmlerror' value='1728' type='xmlParserErrors' info='1728'/>
     <enum name='XML_SCHEMAP_UNION_NOT_EXPRESSIBLE' file='xmlerror' value='1794' type='xmlParserErrors' info='1793'/>
@@ -4458,6 +4667,19 @@
     <enum name='XML_SCHEMAP_UNKNOWN_TYPE' file='xmlerror' value='1753' type='xmlParserErrors' info='1753'/>
     <enum name='XML_SCHEMAP_UNKNOWN_UNION_CHILD' file='xmlerror' value='1754' type='xmlParserErrors' info='1754'/>
     <enum name='XML_SCHEMAP_WILDCARD_INVALID_NS_MEMBER' file='xmlerror' value='1792' type='xmlParserErrors' info='1791'/>
+    <enum name='XML_SCHEMAS_ANYSIMPLETYPE' file='schemasInternals' value='46' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_ANYTYPE' file='schemasInternals' value='45' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_ANYURI' file='schemasInternals' value='29' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_BASE64BINARY' file='schemasInternals' value='44' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_BOOLEAN' file='schemasInternals' value='15' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_BYTE' file='schemasInternals' value='41' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_DATE' file='schemasInternals' value='10' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_DATETIME' file='schemasInternals' value='11' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_DECIMAL' file='schemasInternals' value='3' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_DOUBLE' file='schemasInternals' value='14' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_DURATION' file='schemasInternals' value='12' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_ENTITIES' file='schemasInternals' value='27' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_ENTITY' file='schemasInternals' value='26' type='xmlSchemaValType'/>
     <enum name='XML_SCHEMAS_ERR_' file='xmlschemas' value='24' type='xmlSchemaValidError'/>
     <enum name='XML_SCHEMAS_ERR_ATTRINVALID' file='xmlschemas' value='21' type='xmlSchemaValidError'/>
     <enum name='XML_SCHEMAS_ERR_ATTRUNKNOWN' file='xmlschemas' value='20' type='xmlSchemaValidError'/>
@@ -4484,9 +4706,64 @@
     <enum name='XML_SCHEMAS_ERR_VALUE' file='xmlschemas' value='22' type='xmlSchemaValidError'/>
     <enum name='XML_SCHEMAS_ERR_WRONGELEM' file='xmlschemas' value='5' type='xmlSchemaValidError'/>
     <enum name='XML_SCHEMAS_ERR_XXX' file='xmlschemas' value='25' type='xmlSchemaValidError'/>
+    <enum name='XML_SCHEMAS_FLOAT' file='schemasInternals' value='13' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_GDAY' file='schemasInternals' value='5' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_GMONTH' file='schemasInternals' value='6' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_GMONTHDAY' file='schemasInternals' value='7' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_GYEAR' file='schemasInternals' value='8' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_GYEARMONTH' file='schemasInternals' value='9' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_HEXBINARY' file='schemasInternals' value='43' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_ID' file='schemasInternals' value='23' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_IDREF' file='schemasInternals' value='24' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_IDREFS' file='schemasInternals' value='25' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_INT' file='schemasInternals' value='35' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_INTEGER' file='schemasInternals' value='30' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_LANGUAGE' file='schemasInternals' value='17' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_LONG' file='schemasInternals' value='37' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_NAME' file='schemasInternals' value='20' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_NCNAME' file='schemasInternals' value='22' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_NINTEGER' file='schemasInternals' value='32' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_NMTOKEN' file='schemasInternals' value='18' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_NMTOKENS' file='schemasInternals' value='19' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_NNINTEGER' file='schemasInternals' value='33' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_NORMSTRING' file='schemasInternals' value='2' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_NOTATION' file='schemasInternals' value='28' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_NPINTEGER' file='schemasInternals' value='31' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_PINTEGER' file='schemasInternals' value='34' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_QNAME' file='schemasInternals' value='21' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_SHORT' file='schemasInternals' value='39' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_STRING' file='schemasInternals' value='1' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_TIME' file='schemasInternals' value='4' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_TOKEN' file='schemasInternals' value='16' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_UBYTE' file='schemasInternals' value='42' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_UINT' file='schemasInternals' value='36' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_ULONG' file='schemasInternals' value='38' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_UNKNOWN' file='schemasInternals' value='0' type='xmlSchemaValType'/>
+    <enum name='XML_SCHEMAS_USHORT' file='schemasInternals' value='40' type='xmlSchemaValType'/>
     <enum name='XML_SCHEMAV_ATTRINVALID' file='xmlerror' value='1820' type='xmlParserErrors' info='1820'/>
     <enum name='XML_SCHEMAV_ATTRUNKNOWN' file='xmlerror' value='1819' type='xmlParserErrors' info='1819'/>
     <enum name='XML_SCHEMAV_CONSTRUCT' file='xmlerror' value='1816' type='xmlParserErrors' info='1816'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1' file='xmlerror' value='1840' type='xmlParserErrors' info='1840'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2' file='xmlerror' value='1841' type='xmlParserErrors' info='1841'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3' file='xmlerror' value='1842' type='xmlParserErrors' info='1842'/>
+    <enum name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4' file='xmlerror' value='1843' type='xmlParserErrors' info='1843'/>
+    <enum name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1' file='xmlerror' value='1823' type='xmlParserErrors' info='1823'/>
+    <enum name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2' file='xmlerror' value='1824' type='xmlParserErrors' info='1824'/>
+    <enum name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3' file='xmlerror' value='1825' type='xmlParserErrors' info='1825'/>
+    <enum name='XML_SCHEMAV_CVC_ENUMERATION_VALID' file='xmlerror' value='1839' type='xmlParserErrors' info='1839'/>
+    <enum name='XML_SCHEMAV_CVC_FACET_VALID' file='xmlerror' value='1828' type='xmlParserErrors' info='1828'/>
+    <enum name='XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID' file='xmlerror' value='1837' type='xmlParserErrors' info='1837'/>
+    <enum name='XML_SCHEMAV_CVC_LENGTH_VALID' file='xmlerror' value='1829' type='xmlParserErrors' info='1829'/>
+    <enum name='XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID' file='xmlerror' value='1835' type='xmlParserErrors' info='1835'/>
+    <enum name='XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID' file='xmlerror' value='1833' type='xmlParserErrors' info='1833'/>
+    <enum name='XML_SCHEMAV_CVC_MAXLENGTH_VALID' file='xmlerror' value='1831' type='xmlParserErrors' info='1831'/>
+    <enum name='XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID' file='xmlerror' value='1834' type='xmlParserErrors' info='1834'/>
+    <enum name='XML_SCHEMAV_CVC_MININCLUSIVE_VALID' file='xmlerror' value='1832' type='xmlParserErrors' info='1832'/>
+    <enum name='XML_SCHEMAV_CVC_MINLENGTH_VALID' file='xmlerror' value='1830' type='xmlParserErrors' info='1830'/>
+    <enum name='XML_SCHEMAV_CVC_PATTERN_VALID' file='xmlerror' value='1838' type='xmlParserErrors' info='1838'/>
+    <enum name='XML_SCHEMAV_CVC_TOTALDIGITS_VALID' file='xmlerror' value='1836' type='xmlParserErrors' info='1836'/>
+    <enum name='XML_SCHEMAV_CVC_TYPE_3_1_1' file='xmlerror' value='1826' type='xmlParserErrors' info='1826'/>
+    <enum name='XML_SCHEMAV_CVC_TYPE_3_1_2' file='xmlerror' value='1827' type='xmlParserErrors' info='1827'/>
     <enum name='XML_SCHEMAV_ELEMCONT' file='xmlerror' value='1809' type='xmlParserErrors' info='1809'/>
     <enum name='XML_SCHEMAV_EXTRACONTENT' file='xmlerror' value='1812' type='xmlParserErrors' info='1812'/>
     <enum name='XML_SCHEMAV_FACET' file='xmlerror' value='1822' type='xmlParserErrors' info='1822'/>
@@ -4512,7 +4789,7 @@
     <enum name='XML_SCHEMA_CONTENT_ELEMENTS' file='schemasInternals' value='2' type='xmlSchemaContentType'/>
     <enum name='XML_SCHEMA_CONTENT_EMPTY' file='schemasInternals' value='1' type='xmlSchemaContentType'/>
     <enum name='XML_SCHEMA_CONTENT_MIXED' file='schemasInternals' value='3' type='xmlSchemaContentType'/>
-    <enum name='XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS' file='schemasInternals' value='5' type='xmlSchemaContentType'/>
+    <enum name='XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS' file='schemasInternals' value='5' type='xmlSchemaContentType' info='obsolete, not used'/>
     <enum name='XML_SCHEMA_CONTENT_SIMPLE' file='schemasInternals' value='4' type='xmlSchemaContentType'/>
     <enum name='XML_SCHEMA_CONTENT_UNKNOWN' file='schemasInternals' value='0' type='xmlSchemaContentType'/>
     <enum name='XML_SCHEMA_FACET_ENUMERATION' file='schemasInternals' value='1007' type='xmlSchemaTypeType'/>
@@ -4532,7 +4809,7 @@
     <enum name='XML_SCHEMA_TYPE_ANY_ATTRIBUTE' file='schemasInternals' value='21' type='xmlSchemaTypeType'/>
     <enum name='XML_SCHEMA_TYPE_ATTRIBUTE' file='schemasInternals' value='15' type='xmlSchemaTypeType'/>
     <enum name='XML_SCHEMA_TYPE_ATTRIBUTEGROUP' file='schemasInternals' value='16' type='xmlSchemaTypeType'/>
-    <enum name='XML_SCHEMA_TYPE_BASIC' file='schemasInternals' value='1' type='xmlSchemaTypeType'/>
+    <enum name='XML_SCHEMA_TYPE_BASIC' file='schemasInternals' value='1' type='xmlSchemaTypeType' info='A built-in datatype'/>
     <enum name='XML_SCHEMA_TYPE_CHOICE' file='schemasInternals' value='7' type='xmlSchemaTypeType'/>
     <enum name='XML_SCHEMA_TYPE_COMPLEX' file='schemasInternals' value='5' type='xmlSchemaTypeType'/>
     <enum name='XML_SCHEMA_TYPE_COMPLEX_CONTENT' file='schemasInternals' value='10' type='xmlSchemaTypeType'/>
@@ -5374,6 +5651,11 @@
       <field name='val' type='xmlSchemaValPtr' info=''/>
       <field name='regexp' type='xmlRegexpPtr' info=''/>
     </struct>
+    <struct name='xmlSchemaFacetLink' file='schemasInternals' type='struct _xmlSchemaFacetLink'>
+      <field name='next' type='struct _xmlSchemaFacetLink *' info=' the next facet link ...'/>
+      <field name='facet' type='xmlSchemaFacetPtr' info=' the linked facet'/>
+    </struct>
+    <typedef name='xmlSchemaFacetLinkPtr' file='schemasInternals' type='xmlSchemaFacetLink *'/>
     <typedef name='xmlSchemaFacetPtr' file='schemasInternals' type='xmlSchemaFacet *'/>
     <struct name='xmlSchemaNotation' file='schemasInternals' type='struct _xmlSchemaNotation'>
       <field name='type' type='xmlSchemaTypeType' info=' The kind of type'/>
@@ -5408,11 +5690,20 @@
       <field name='recurse' type='int' info=''/>
       <field name='attributeUses' type='xmlSchemaAttributeLinkPtr' info=''/>
       <field name='attributeWildcard' type='xmlSchemaWildcardPtr' info=''/>
+      <field name='builtInType' type='int' info=''/>
+      <field name='memberTypes' type='xmlSchemaTypeLinkPtr' info=''/>
+      <field name='facetSet' type='xmlSchemaFacetLinkPtr' info=''/>
     </struct>
+    <struct name='xmlSchemaTypeLink' file='schemasInternals' type='struct _xmlSchemaTypeLink'>
+      <field name='next' type='struct _xmlSchemaTypeLink *' info=' the next type link ...'/>
+      <field name='type' type='xmlSchemaTypePtr' info=' the linked typ'/>
+    </struct>
+    <typedef name='xmlSchemaTypeLinkPtr' file='schemasInternals' type='xmlSchemaTypeLink *'/>
     <typedef name='xmlSchemaTypePtr' file='schemasInternals' type='xmlSchemaType *'/>
     <typedef name='xmlSchemaTypeType' file='schemasInternals' type='enum'/>
     <struct name='xmlSchemaVal' file='schemasInternals' type='struct _xmlSchemaVal'/>
     <typedef name='xmlSchemaValPtr' file='schemasInternals' type='xmlSchemaVal *'/>
+    <typedef name='xmlSchemaValType' file='schemasInternals' type='enum'/>
     <struct name='xmlSchemaValidCtxt' file='xmlschemas' type='struct _xmlSchemaValidCtxt'/>
     <typedef name='xmlSchemaValidCtxtPtr' file='xmlschemas' type='xmlSchemaValidCtxt *'/>
     <typedef name='xmlSchemaValidError' file='xmlschemas' type='enum'/>
@@ -11629,6 +11920,12 @@
       <info>Cleanup the default XML Schemas type library</info>
       <return type='void'/>
     </function>
+    <function name='xmlSchemaCollapseString' file='xmlschemastypes'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <info>Removes and normalize white spaces in the string</info>
+      <return type='xmlChar *' info='the new string or NULL if no change was required.'/>
+      <arg name='value' type='const xmlChar *' info='a value'/>
+    </function>
     <function name='xmlSchemaCompareValues' file='xmlschemastypes'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Compare 2 values</info>
@@ -11680,6 +11977,24 @@
       <return type='void'/>
       <arg name='value' type='xmlSchemaValPtr' info='the value to free'/>
     </function>
+    <function name='xmlSchemaFreeWildcard' file='schemasInternals'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <info>Deallocates a wildcard structure.</info>
+      <return type='void'/>
+      <arg name='wildcard' type='xmlSchemaWildcardPtr' info='a wildcard structure'/>
+    </function>
+    <function name='xmlSchemaGetBuiltInListSimpleTypeItemType' file='xmlschemastypes'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <info></info>
+      <return type='xmlSchemaTypePtr' info='the item type of @type as defined by the built-in datatype hierarchy of XML Schema Part 2: Datatypes, or NULL in case of an error.'/>
+      <arg name='type' type='xmlSchemaTypePtr' info='the built-in simple type.'/>
+    </function>
+    <function name='xmlSchemaGetBuiltInType' file='xmlschemastypes'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <info>Gives you the type struct for a built-in type by its type id.</info>
+      <return type='xmlSchemaTypePtr' info='the type if found, NULL otherwise.'/>
+      <arg name='type' type='xmlSchemaValType' info='the type of the built in type'/>
+    </function>
     <function name='xmlSchemaGetPredefinedType' file='xmlschemastypes'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Lookup a type in the default XML Schemas type library</info>
@@ -11692,6 +12007,13 @@
       <info>Initialize the default XML Schemas type library</info>
       <return type='void'/>
     </function>
+    <function name='xmlSchemaIsBuiltInTypeFacet' file='xmlschemastypes'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <info></info>
+      <return type='int' info=''/>
+      <arg name='type' type='xmlSchemaTypePtr' info=''/>
+      <arg name='facetType' type='int' info=''/>
+    </function>
     <function name='xmlSchemaNewDocParserCtxt' file='xmlschemas'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Create an XML Schemas parse context for that document. NB. The document may be modified during the parsing process.</info>
@@ -11771,6 +12093,15 @@
       <arg name='value' type='const xmlChar *' info='the lexical repr of the value to validate'/>
       <arg name='val' type='xmlSchemaValPtr' info='the precomputed value'/>
     </function>
+    <function name='xmlSchemaValidateListSimpleTypeFacet' file='xmlschemastypes'>
+      <cond>LIBXML_SCHEMAS_ENABLED</cond>
+      <info>Checks the value of a list simple type against a facet.</info>
+      <return type='int' info='0 if the value is valid, a positive error code number otherwise and -1 in case of an internal error.'/>
+      <arg name='facet' type='xmlSchemaFacetPtr' info='the facet to check'/>
+      <arg name='value' type='const xmlChar *' info='the lexical repr of the value to validate'/>
+      <arg name='actualLen' type='unsigned long' info='the number of list items'/>
+      <arg name='expectedLen' type='unsigned long *' info='the resulting expected number of list items'/>
+    </function>
     <function name='xmlSchemaValidatePredefinedType' file='xmlschemastypes'>
       <cond>LIBXML_SCHEMAS_ENABLED</cond>
       <info>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and returned in @val.</info>
diff --git a/doc/libxml2-refs.xml b/doc/libxml2-refs.xml
index 907e151..ec8c513 100644
--- a/doc/libxml2-refs.xml
+++ b/doc/libxml2-refs.xml
@@ -688,6 +688,28 @@
     <reference name='XML_SCHEMAP_ATTR_NONAME_NOREF' href='html/libxml-xmlerror.html#XML_SCHEMAP_ATTR_NONAME_NOREF'/>
     <reference name='XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF' href='html/libxml-xmlerror.html#XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF'/>
     <reference name='XML_SCHEMAP_COS_CT_EXTENDS_1_3' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_CT_EXTENDS_1_3'/>
+    <reference name='XML_SCHEMAP_COS_ST_DERIVED_OK_2_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_DERIVED_OK_2_1'/>
+    <reference name='XML_SCHEMAP_COS_ST_DERIVED_OK_2_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_DERIVED_OK_2_2'/>
+    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_1_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_1'/>
+    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_1_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_2'/>
+    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1'/>
+    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2'/>
+    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_2_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_1'/>
+    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1'/>
+    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2'/>
+    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1'/>
+    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2'/>
+    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3'/>
+    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4'/>
+    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5'/>
+    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_3_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_1'/>
+    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1'/>
+    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2'/>
+    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1'/>
+    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2'/>
+    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3'/>
+    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4'/>
+    <reference name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5' href='html/libxml-xmlerror.html#XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5'/>
     <reference name='XML_SCHEMAP_CT_PROPS_CORRECT_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_1'/>
     <reference name='XML_SCHEMAP_CT_PROPS_CORRECT_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_2'/>
     <reference name='XML_SCHEMAP_CT_PROPS_CORRECT_3' href='html/libxml-xmlerror.html#XML_SCHEMAP_CT_PROPS_CORRECT_3'/>
@@ -748,9 +770,24 @@
     <reference name='XML_SCHEMAP_REF_AND_SUBTYPE' href='html/libxml-xmlerror.html#XML_SCHEMAP_REF_AND_SUBTYPE'/>
     <reference name='XML_SCHEMAP_REGEXP_INVALID' href='html/libxml-xmlerror.html#XML_SCHEMAP_REGEXP_INVALID'/>
     <reference name='XML_SCHEMAP_RESTRICTION_NONAME_NOREF' href='html/libxml-xmlerror.html#XML_SCHEMAP_RESTRICTION_NONAME_NOREF'/>
+    <reference name='XML_SCHEMAP_S4S_ATTR_MISSING' href='html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ATTR_MISSING'/>
+    <reference name='XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED' href='html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED'/>
+    <reference name='XML_SCHEMAP_S4S_ELEM_MISSING' href='html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ELEM_MISSING'/>
+    <reference name='XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED' href='html/libxml-xmlerror.html#XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED'/>
     <reference name='XML_SCHEMAP_SIMPLETYPE_NONAME' href='html/libxml-xmlerror.html#XML_SCHEMAP_SIMPLETYPE_NONAME'/>
     <reference name='XML_SCHEMAP_SRC_IMPORT_3_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_3_1'/>
     <reference name='XML_SCHEMAP_SRC_IMPORT_3_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_IMPORT_3_2'/>
+    <reference name='XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE'/>
+    <reference name='XML_SCHEMAP_SRC_RESOLVE' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_RESOLVE'/>
+    <reference name='XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE'/>
+    <reference name='XML_SCHEMAP_SRC_SIMPLE_TYPE_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_1'/>
+    <reference name='XML_SCHEMAP_SRC_SIMPLE_TYPE_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_2'/>
+    <reference name='XML_SCHEMAP_SRC_SIMPLE_TYPE_3' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_3'/>
+    <reference name='XML_SCHEMAP_SRC_SIMPLE_TYPE_4' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_SIMPLE_TYPE_4'/>
+    <reference name='XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES' href='html/libxml-xmlerror.html#XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES'/>
+    <reference name='XML_SCHEMAP_ST_PROPS_CORRECT_1' href='html/libxml-xmlerror.html#XML_SCHEMAP_ST_PROPS_CORRECT_1'/>
+    <reference name='XML_SCHEMAP_ST_PROPS_CORRECT_2' href='html/libxml-xmlerror.html#XML_SCHEMAP_ST_PROPS_CORRECT_2'/>
+    <reference name='XML_SCHEMAP_ST_PROPS_CORRECT_3' href='html/libxml-xmlerror.html#XML_SCHEMAP_ST_PROPS_CORRECT_3'/>
     <reference name='XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE' href='html/libxml-xmlerror.html#XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE'/>
     <reference name='XML_SCHEMAP_TYPE_AND_SUBTYPE' href='html/libxml-xmlerror.html#XML_SCHEMAP_TYPE_AND_SUBTYPE'/>
     <reference name='XML_SCHEMAP_UNION_NOT_EXPRESSIBLE' href='html/libxml-xmlerror.html#XML_SCHEMAP_UNION_NOT_EXPRESSIBLE'/>
@@ -787,6 +824,9 @@
     <reference name='XML_SCHEMAS_ANYATTR_LAX' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ANYATTR_LAX'/>
     <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_ANYSIMPLETYPE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ANYSIMPLETYPE'/>
+    <reference name='XML_SCHEMAS_ANYTYPE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ANYTYPE'/>
+    <reference name='XML_SCHEMAS_ANYURI' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ANYURI'/>
     <reference name='XML_SCHEMAS_ANY_LAX' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_LAX'/>
     <reference name='XML_SCHEMAS_ANY_SKIP' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_SKIP'/>
     <reference name='XML_SCHEMAS_ANY_STRICT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ANY_STRICT'/>
@@ -797,6 +837,14 @@
     <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_BASE64BINARY' href='html/libxml-schemasInternals.html#XML_SCHEMAS_BASE64BINARY'/>
+    <reference name='XML_SCHEMAS_BOOLEAN' href='html/libxml-schemasInternals.html#XML_SCHEMAS_BOOLEAN'/>
+    <reference name='XML_SCHEMAS_BYTE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_BYTE'/>
+    <reference name='XML_SCHEMAS_DATE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_DATE'/>
+    <reference name='XML_SCHEMAS_DATETIME' href='html/libxml-schemasInternals.html#XML_SCHEMAS_DATETIME'/>
+    <reference name='XML_SCHEMAS_DECIMAL' href='html/libxml-schemasInternals.html#XML_SCHEMAS_DECIMAL'/>
+    <reference name='XML_SCHEMAS_DOUBLE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_DOUBLE'/>
+    <reference name='XML_SCHEMAS_DURATION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_DURATION'/>
     <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'/>
@@ -805,6 +853,8 @@
     <reference name='XML_SCHEMAS_ELEM_NSDEFAULT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_NSDEFAULT'/>
     <reference name='XML_SCHEMAS_ELEM_REF' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_REF'/>
     <reference name='XML_SCHEMAS_ELEM_TOPLEVEL' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ELEM_TOPLEVEL'/>
+    <reference name='XML_SCHEMAS_ENTITIES' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ENTITIES'/>
+    <reference name='XML_SCHEMAS_ENTITY' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ENTITY'/>
     <reference name='XML_SCHEMAS_ERR_' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_'/>
     <reference name='XML_SCHEMAS_ERR_ATTRINVALID' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_ATTRINVALID'/>
     <reference name='XML_SCHEMAS_ERR_ATTRUNKNOWN' href='html/libxml-xmlschemas.html#XML_SCHEMAS_ERR_ATTRUNKNOWN'/>
@@ -835,17 +885,86 @@
     <reference name='XML_SCHEMAS_FACET_PRESERVE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_PRESERVE'/>
     <reference name='XML_SCHEMAS_FACET_REPLACE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_REPLACE'/>
     <reference name='XML_SCHEMAS_FACET_UNKNOWN' href='html/libxml-schemasInternals.html#XML_SCHEMAS_FACET_UNKNOWN'/>
+    <reference name='XML_SCHEMAS_FINAL_DEFAULT_EXTENSION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION'/>
+    <reference name='XML_SCHEMAS_FINAL_DEFAULT_LIST' href='html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_LIST'/>
+    <reference name='XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION'/>
+    <reference name='XML_SCHEMAS_FINAL_DEFAULT_UNION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_UNION'/>
+    <reference name='XML_SCHEMAS_FLOAT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_FLOAT'/>
+    <reference name='XML_SCHEMAS_GDAY' href='html/libxml-schemasInternals.html#XML_SCHEMAS_GDAY'/>
+    <reference name='XML_SCHEMAS_GMONTH' href='html/libxml-schemasInternals.html#XML_SCHEMAS_GMONTH'/>
+    <reference name='XML_SCHEMAS_GMONTHDAY' href='html/libxml-schemasInternals.html#XML_SCHEMAS_GMONTHDAY'/>
+    <reference name='XML_SCHEMAS_GYEAR' href='html/libxml-schemasInternals.html#XML_SCHEMAS_GYEAR'/>
+    <reference name='XML_SCHEMAS_GYEARMONTH' href='html/libxml-schemasInternals.html#XML_SCHEMAS_GYEARMONTH'/>
+    <reference name='XML_SCHEMAS_HEXBINARY' href='html/libxml-schemasInternals.html#XML_SCHEMAS_HEXBINARY'/>
+    <reference name='XML_SCHEMAS_ID' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ID'/>
+    <reference name='XML_SCHEMAS_IDREF' href='html/libxml-schemasInternals.html#XML_SCHEMAS_IDREF'/>
+    <reference name='XML_SCHEMAS_IDREFS' href='html/libxml-schemasInternals.html#XML_SCHEMAS_IDREFS'/>
+    <reference name='XML_SCHEMAS_INT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_INT'/>
+    <reference name='XML_SCHEMAS_INTEGER' href='html/libxml-schemasInternals.html#XML_SCHEMAS_INTEGER'/>
+    <reference name='XML_SCHEMAS_LANGUAGE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_LANGUAGE'/>
+    <reference name='XML_SCHEMAS_LONG' href='html/libxml-schemasInternals.html#XML_SCHEMAS_LONG'/>
+    <reference name='XML_SCHEMAS_NAME' href='html/libxml-schemasInternals.html#XML_SCHEMAS_NAME'/>
+    <reference name='XML_SCHEMAS_NCNAME' href='html/libxml-schemasInternals.html#XML_SCHEMAS_NCNAME'/>
+    <reference name='XML_SCHEMAS_NINTEGER' href='html/libxml-schemasInternals.html#XML_SCHEMAS_NINTEGER'/>
+    <reference name='XML_SCHEMAS_NMTOKEN' href='html/libxml-schemasInternals.html#XML_SCHEMAS_NMTOKEN'/>
+    <reference name='XML_SCHEMAS_NMTOKENS' href='html/libxml-schemasInternals.html#XML_SCHEMAS_NMTOKENS'/>
+    <reference name='XML_SCHEMAS_NNINTEGER' href='html/libxml-schemasInternals.html#XML_SCHEMAS_NNINTEGER'/>
+    <reference name='XML_SCHEMAS_NORMSTRING' href='html/libxml-schemasInternals.html#XML_SCHEMAS_NORMSTRING'/>
+    <reference name='XML_SCHEMAS_NOTATION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_NOTATION'/>
+    <reference name='XML_SCHEMAS_NPINTEGER' href='html/libxml-schemasInternals.html#XML_SCHEMAS_NPINTEGER'/>
+    <reference name='XML_SCHEMAS_PINTEGER' href='html/libxml-schemasInternals.html#XML_SCHEMAS_PINTEGER'/>
+    <reference name='XML_SCHEMAS_QNAME' href='html/libxml-schemasInternals.html#XML_SCHEMAS_QNAME'/>
     <reference name='XML_SCHEMAS_QUALIF_ATTR' href='html/libxml-schemasInternals.html#XML_SCHEMAS_QUALIF_ATTR'/>
     <reference name='XML_SCHEMAS_QUALIF_ELEM' href='html/libxml-schemasInternals.html#XML_SCHEMAS_QUALIF_ELEM'/>
+    <reference name='XML_SCHEMAS_SHORT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_SHORT'/>
+    <reference name='XML_SCHEMAS_STRING' href='html/libxml-schemasInternals.html#XML_SCHEMAS_STRING'/>
+    <reference name='XML_SCHEMAS_TIME' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TIME'/>
+    <reference name='XML_SCHEMAS_TOKEN' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TOKEN'/>
+    <reference name='XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE'/>
     <reference name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION'/>
     <reference name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION'/>
+    <reference name='XML_SCHEMAS_TYPE_FINAL_DEFAULT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_DEFAULT'/>
+    <reference name='XML_SCHEMAS_TYPE_FINAL_EXTENSION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_EXTENSION'/>
+    <reference name='XML_SCHEMAS_TYPE_FINAL_LIST' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_LIST'/>
+    <reference name='XML_SCHEMAS_TYPE_FINAL_RESTRICTION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_RESTRICTION'/>
+    <reference name='XML_SCHEMAS_TYPE_FINAL_UNION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_FINAL_UNION'/>
     <reference name='XML_SCHEMAS_TYPE_GLOBAL' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_GLOBAL'/>
     <reference name='XML_SCHEMAS_TYPE_MIXED' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_MIXED'/>
     <reference name='XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD'/>
+    <reference name='XML_SCHEMAS_TYPE_VARIETY_ABSENT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT'/>
+    <reference name='XML_SCHEMAS_TYPE_VARIETY_ATOMIC' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ATOMIC'/>
+    <reference name='XML_SCHEMAS_TYPE_VARIETY_LIST' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_LIST'/>
+    <reference name='XML_SCHEMAS_TYPE_VARIETY_UNION' href='html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_UNION'/>
+    <reference name='XML_SCHEMAS_UBYTE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_UBYTE'/>
+    <reference name='XML_SCHEMAS_UINT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_UINT'/>
+    <reference name='XML_SCHEMAS_ULONG' href='html/libxml-schemasInternals.html#XML_SCHEMAS_ULONG'/>
+    <reference name='XML_SCHEMAS_UNKNOWN' href='html/libxml-schemasInternals.html#XML_SCHEMAS_UNKNOWN'/>
+    <reference name='XML_SCHEMAS_USHORT' href='html/libxml-schemasInternals.html#XML_SCHEMAS_USHORT'/>
     <reference name='XML_SCHEMAS_WILDCARD_COMPLETE' href='html/libxml-schemasInternals.html#XML_SCHEMAS_WILDCARD_COMPLETE'/>
     <reference name='XML_SCHEMAV_ATTRINVALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_ATTRINVALID'/>
     <reference name='XML_SCHEMAV_ATTRUNKNOWN' href='html/libxml-xmlerror.html#XML_SCHEMAV_ATTRUNKNOWN'/>
     <reference name='XML_SCHEMAV_CONSTRUCT' href='html/libxml-xmlerror.html#XML_SCHEMAV_CONSTRUCT'/>
+    <reference name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1'/>
+    <reference name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2'/>
+    <reference name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3'/>
+    <reference name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4'/>
+    <reference name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1'/>
+    <reference name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2'/>
+    <reference name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3'/>
+    <reference name='XML_SCHEMAV_CVC_ENUMERATION_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_ENUMERATION_VALID'/>
+    <reference name='XML_SCHEMAV_CVC_FACET_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_FACET_VALID'/>
+    <reference name='XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID'/>
+    <reference name='XML_SCHEMAV_CVC_LENGTH_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_LENGTH_VALID'/>
+    <reference name='XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID'/>
+    <reference name='XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID'/>
+    <reference name='XML_SCHEMAV_CVC_MAXLENGTH_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MAXLENGTH_VALID'/>
+    <reference name='XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID'/>
+    <reference name='XML_SCHEMAV_CVC_MININCLUSIVE_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MININCLUSIVE_VALID'/>
+    <reference name='XML_SCHEMAV_CVC_MINLENGTH_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_MINLENGTH_VALID'/>
+    <reference name='XML_SCHEMAV_CVC_PATTERN_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_PATTERN_VALID'/>
+    <reference name='XML_SCHEMAV_CVC_TOTALDIGITS_VALID' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TOTALDIGITS_VALID'/>
+    <reference name='XML_SCHEMAV_CVC_TYPE_3_1_1' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_3_1_1'/>
+    <reference name='XML_SCHEMAV_CVC_TYPE_3_1_2' href='html/libxml-xmlerror.html#XML_SCHEMAV_CVC_TYPE_3_1_2'/>
     <reference name='XML_SCHEMAV_ELEMCONT' href='html/libxml-xmlerror.html#XML_SCHEMAV_ELEMCONT'/>
     <reference name='XML_SCHEMAV_EXTRACONTENT' href='html/libxml-xmlerror.html#XML_SCHEMAV_EXTRACONTENT'/>
     <reference name='XML_SCHEMAV_FACET' href='html/libxml-xmlerror.html#XML_SCHEMAV_FACET'/>
@@ -1053,8 +1172,10 @@
     <reference name='_xmlSchemaAttributeLink' href='html/libxml-schemasInternals.html#_xmlSchemaAttributeLink'/>
     <reference name='_xmlSchemaElement' href='html/libxml-schemasInternals.html#_xmlSchemaElement'/>
     <reference name='_xmlSchemaFacet' href='html/libxml-schemasInternals.html#_xmlSchemaFacet'/>
+    <reference name='_xmlSchemaFacetLink' href='html/libxml-schemasInternals.html#_xmlSchemaFacetLink'/>
     <reference name='_xmlSchemaNotation' href='html/libxml-schemasInternals.html#_xmlSchemaNotation'/>
     <reference name='_xmlSchemaType' href='html/libxml-schemasInternals.html#_xmlSchemaType'/>
+    <reference name='_xmlSchemaTypeLink' href='html/libxml-schemasInternals.html#_xmlSchemaTypeLink'/>
     <reference name='_xmlSchemaWildcard' href='html/libxml-schemasInternals.html#_xmlSchemaWildcard'/>
     <reference name='_xmlSchemaWildcardNs' href='html/libxml-schemasInternals.html#_xmlSchemaWildcardNs'/>
     <reference name='_xmlShellCtxt' href='html/libxml-debugXML.html#_xmlShellCtxt'/>
@@ -2197,12 +2318,15 @@
     <reference name='xmlSchemaAttributePtr' href='html/libxml-schemasInternals.html#xmlSchemaAttributePtr'/>
     <reference name='xmlSchemaCheckFacet' href='html/libxml-xmlschemastypes.html#xmlSchemaCheckFacet'/>
     <reference name='xmlSchemaCleanupTypes' href='html/libxml-xmlschemastypes.html#xmlSchemaCleanupTypes'/>
+    <reference name='xmlSchemaCollapseString' href='html/libxml-xmlschemastypes.html#xmlSchemaCollapseString'/>
     <reference name='xmlSchemaCompareValues' href='html/libxml-xmlschemastypes.html#xmlSchemaCompareValues'/>
     <reference name='xmlSchemaContentType' href='html/libxml-schemasInternals.html#xmlSchemaContentType'/>
     <reference name='xmlSchemaDump' href='html/libxml-xmlschemas.html#xmlSchemaDump'/>
     <reference name='xmlSchemaElement' href='html/libxml-schemasInternals.html#xmlSchemaElement'/>
     <reference name='xmlSchemaElementPtr' href='html/libxml-schemasInternals.html#xmlSchemaElementPtr'/>
     <reference name='xmlSchemaFacet' href='html/libxml-schemasInternals.html#xmlSchemaFacet'/>
+    <reference name='xmlSchemaFacetLink' href='html/libxml-schemasInternals.html#xmlSchemaFacetLink'/>
+    <reference name='xmlSchemaFacetLinkPtr' href='html/libxml-schemasInternals.html#xmlSchemaFacetLinkPtr'/>
     <reference name='xmlSchemaFacetPtr' href='html/libxml-schemasInternals.html#xmlSchemaFacetPtr'/>
     <reference name='xmlSchemaFree' href='html/libxml-xmlschemas.html#xmlSchemaFree'/>
     <reference name='xmlSchemaFreeFacet' href='html/libxml-xmlschemastypes.html#xmlSchemaFreeFacet'/>
@@ -2210,8 +2334,12 @@
     <reference name='xmlSchemaFreeType' href='html/libxml-schemasInternals.html#xmlSchemaFreeType'/>
     <reference name='xmlSchemaFreeValidCtxt' href='html/libxml-xmlschemas.html#xmlSchemaFreeValidCtxt'/>
     <reference name='xmlSchemaFreeValue' href='html/libxml-xmlschemastypes.html#xmlSchemaFreeValue'/>
+    <reference name='xmlSchemaFreeWildcard' href='html/libxml-schemasInternals.html#xmlSchemaFreeWildcard'/>
+    <reference name='xmlSchemaGetBuiltInListSimpleTypeItemType' href='html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInListSimpleTypeItemType'/>
+    <reference name='xmlSchemaGetBuiltInType' href='html/libxml-xmlschemastypes.html#xmlSchemaGetBuiltInType'/>
     <reference name='xmlSchemaGetPredefinedType' href='html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType'/>
     <reference name='xmlSchemaInitTypes' href='html/libxml-xmlschemastypes.html#xmlSchemaInitTypes'/>
+    <reference name='xmlSchemaIsBuiltInTypeFacet' href='html/libxml-xmlschemastypes.html#xmlSchemaIsBuiltInTypeFacet'/>
     <reference name='xmlSchemaNewDocParserCtxt' href='html/libxml-xmlschemas.html#xmlSchemaNewDocParserCtxt'/>
     <reference name='xmlSchemaNewFacet' href='html/libxml-xmlschemastypes.html#xmlSchemaNewFacet'/>
     <reference name='xmlSchemaNewMemParserCtxt' href='html/libxml-xmlschemas.html#xmlSchemaNewMemParserCtxt'/>
@@ -2226,16 +2354,20 @@
     <reference name='xmlSchemaSetParserErrors' href='html/libxml-xmlschemas.html#xmlSchemaSetParserErrors'/>
     <reference name='xmlSchemaSetValidErrors' href='html/libxml-xmlschemas.html#xmlSchemaSetValidErrors'/>
     <reference name='xmlSchemaType' href='html/libxml-schemasInternals.html#xmlSchemaType'/>
+    <reference name='xmlSchemaTypeLink' href='html/libxml-schemasInternals.html#xmlSchemaTypeLink'/>
+    <reference name='xmlSchemaTypeLinkPtr' href='html/libxml-schemasInternals.html#xmlSchemaTypeLinkPtr'/>
     <reference name='xmlSchemaTypePtr' href='html/libxml-schemasInternals.html#xmlSchemaTypePtr'/>
     <reference name='xmlSchemaTypeType' href='html/libxml-schemasInternals.html#xmlSchemaTypeType'/>
     <reference name='xmlSchemaVal' href='html/libxml-schemasInternals.html#xmlSchemaVal'/>
     <reference name='xmlSchemaValPredefTypeNode' href='html/libxml-xmlschemastypes.html#xmlSchemaValPredefTypeNode'/>
     <reference name='xmlSchemaValPtr' href='html/libxml-schemasInternals.html#xmlSchemaValPtr'/>
+    <reference name='xmlSchemaValType' href='html/libxml-schemasInternals.html#xmlSchemaValType'/>
     <reference name='xmlSchemaValidCtxt' href='html/libxml-xmlschemas.html#xmlSchemaValidCtxt'/>
     <reference name='xmlSchemaValidCtxtPtr' href='html/libxml-xmlschemas.html#xmlSchemaValidCtxtPtr'/>
     <reference name='xmlSchemaValidError' href='html/libxml-xmlschemas.html#xmlSchemaValidError'/>
     <reference name='xmlSchemaValidateDoc' href='html/libxml-xmlschemas.html#xmlSchemaValidateDoc'/>
     <reference name='xmlSchemaValidateFacet' href='html/libxml-xmlschemastypes.html#xmlSchemaValidateFacet'/>
+    <reference name='xmlSchemaValidateListSimpleTypeFacet' href='html/libxml-xmlschemastypes.html#xmlSchemaValidateListSimpleTypeFacet'/>
     <reference name='xmlSchemaValidatePredefinedType' href='html/libxml-xmlschemastypes.html#xmlSchemaValidatePredefinedType'/>
     <reference name='xmlSchemaValidateStream' href='html/libxml-xmlschemas.html#xmlSchemaValidateStream'/>
     <reference name='xmlSchemaValidityErrorFunc' href='html/libxml-xmlschemas.html#xmlSchemaValidityErrorFunc'/>
@@ -3643,6 +3775,28 @@
       <ref name='XML_SCHEMAP_ATTR_NONAME_NOREF'/>
       <ref name='XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF'/>
       <ref name='XML_SCHEMAP_COS_CT_EXTENDS_1_3'/>
+      <ref name='XML_SCHEMAP_COS_ST_DERIVED_OK_2_1'/>
+      <ref name='XML_SCHEMAP_COS_ST_DERIVED_OK_2_2'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_1_1'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_1_2'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_1'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_1'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5'/>
       <ref name='XML_SCHEMAP_CT_PROPS_CORRECT_1'/>
       <ref name='XML_SCHEMAP_CT_PROPS_CORRECT_2'/>
       <ref name='XML_SCHEMAP_CT_PROPS_CORRECT_3'/>
@@ -3703,9 +3857,24 @@
       <ref name='XML_SCHEMAP_REF_AND_SUBTYPE'/>
       <ref name='XML_SCHEMAP_REGEXP_INVALID'/>
       <ref name='XML_SCHEMAP_RESTRICTION_NONAME_NOREF'/>
+      <ref name='XML_SCHEMAP_S4S_ATTR_MISSING'/>
+      <ref name='XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED'/>
+      <ref name='XML_SCHEMAP_S4S_ELEM_MISSING'/>
+      <ref name='XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED'/>
       <ref name='XML_SCHEMAP_SIMPLETYPE_NONAME'/>
       <ref name='XML_SCHEMAP_SRC_IMPORT_3_1'/>
       <ref name='XML_SCHEMAP_SRC_IMPORT_3_2'/>
+      <ref name='XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE'/>
+      <ref name='XML_SCHEMAP_SRC_RESOLVE'/>
+      <ref name='XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE'/>
+      <ref name='XML_SCHEMAP_SRC_SIMPLE_TYPE_1'/>
+      <ref name='XML_SCHEMAP_SRC_SIMPLE_TYPE_2'/>
+      <ref name='XML_SCHEMAP_SRC_SIMPLE_TYPE_3'/>
+      <ref name='XML_SCHEMAP_SRC_SIMPLE_TYPE_4'/>
+      <ref name='XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES'/>
+      <ref name='XML_SCHEMAP_ST_PROPS_CORRECT_1'/>
+      <ref name='XML_SCHEMAP_ST_PROPS_CORRECT_2'/>
+      <ref name='XML_SCHEMAP_ST_PROPS_CORRECT_3'/>
       <ref name='XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE'/>
       <ref name='XML_SCHEMAP_TYPE_AND_SUBTYPE'/>
       <ref name='XML_SCHEMAP_UNION_NOT_EXPRESSIBLE'/>
@@ -3742,6 +3911,9 @@
       <ref name='XML_SCHEMAS_ANYATTR_LAX'/>
       <ref name='XML_SCHEMAS_ANYATTR_SKIP'/>
       <ref name='XML_SCHEMAS_ANYATTR_STRICT'/>
+      <ref name='XML_SCHEMAS_ANYSIMPLETYPE'/>
+      <ref name='XML_SCHEMAS_ANYTYPE'/>
+      <ref name='XML_SCHEMAS_ANYURI'/>
       <ref name='XML_SCHEMAS_ANY_LAX'/>
       <ref name='XML_SCHEMAS_ANY_SKIP'/>
       <ref name='XML_SCHEMAS_ANY_STRICT'/>
@@ -3752,6 +3924,14 @@
       <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_BASE64BINARY'/>
+      <ref name='XML_SCHEMAS_BOOLEAN'/>
+      <ref name='XML_SCHEMAS_BYTE'/>
+      <ref name='XML_SCHEMAS_DATE'/>
+      <ref name='XML_SCHEMAS_DATETIME'/>
+      <ref name='XML_SCHEMAS_DECIMAL'/>
+      <ref name='XML_SCHEMAS_DOUBLE'/>
+      <ref name='XML_SCHEMAS_DURATION'/>
       <ref name='XML_SCHEMAS_ELEM_ABSTRACT'/>
       <ref name='XML_SCHEMAS_ELEM_DEFAULT'/>
       <ref name='XML_SCHEMAS_ELEM_FIXED'/>
@@ -3760,6 +3940,8 @@
       <ref name='XML_SCHEMAS_ELEM_NSDEFAULT'/>
       <ref name='XML_SCHEMAS_ELEM_REF'/>
       <ref name='XML_SCHEMAS_ELEM_TOPLEVEL'/>
+      <ref name='XML_SCHEMAS_ENTITIES'/>
+      <ref name='XML_SCHEMAS_ENTITY'/>
       <ref name='XML_SCHEMAS_ERR_'/>
       <ref name='XML_SCHEMAS_ERR_ATTRINVALID'/>
       <ref name='XML_SCHEMAS_ERR_ATTRUNKNOWN'/>
@@ -3790,17 +3972,86 @@
       <ref name='XML_SCHEMAS_FACET_PRESERVE'/>
       <ref name='XML_SCHEMAS_FACET_REPLACE'/>
       <ref name='XML_SCHEMAS_FACET_UNKNOWN'/>
+      <ref name='XML_SCHEMAS_FINAL_DEFAULT_EXTENSION'/>
+      <ref name='XML_SCHEMAS_FINAL_DEFAULT_LIST'/>
+      <ref name='XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION'/>
+      <ref name='XML_SCHEMAS_FINAL_DEFAULT_UNION'/>
+      <ref name='XML_SCHEMAS_FLOAT'/>
+      <ref name='XML_SCHEMAS_GDAY'/>
+      <ref name='XML_SCHEMAS_GMONTH'/>
+      <ref name='XML_SCHEMAS_GMONTHDAY'/>
+      <ref name='XML_SCHEMAS_GYEAR'/>
+      <ref name='XML_SCHEMAS_GYEARMONTH'/>
+      <ref name='XML_SCHEMAS_HEXBINARY'/>
+      <ref name='XML_SCHEMAS_ID'/>
+      <ref name='XML_SCHEMAS_IDREF'/>
+      <ref name='XML_SCHEMAS_IDREFS'/>
+      <ref name='XML_SCHEMAS_INT'/>
+      <ref name='XML_SCHEMAS_INTEGER'/>
+      <ref name='XML_SCHEMAS_LANGUAGE'/>
+      <ref name='XML_SCHEMAS_LONG'/>
+      <ref name='XML_SCHEMAS_NAME'/>
+      <ref name='XML_SCHEMAS_NCNAME'/>
+      <ref name='XML_SCHEMAS_NINTEGER'/>
+      <ref name='XML_SCHEMAS_NMTOKEN'/>
+      <ref name='XML_SCHEMAS_NMTOKENS'/>
+      <ref name='XML_SCHEMAS_NNINTEGER'/>
+      <ref name='XML_SCHEMAS_NORMSTRING'/>
+      <ref name='XML_SCHEMAS_NOTATION'/>
+      <ref name='XML_SCHEMAS_NPINTEGER'/>
+      <ref name='XML_SCHEMAS_PINTEGER'/>
+      <ref name='XML_SCHEMAS_QNAME'/>
       <ref name='XML_SCHEMAS_QUALIF_ATTR'/>
       <ref name='XML_SCHEMAS_QUALIF_ELEM'/>
+      <ref name='XML_SCHEMAS_SHORT'/>
+      <ref name='XML_SCHEMAS_STRING'/>
+      <ref name='XML_SCHEMAS_TIME'/>
+      <ref name='XML_SCHEMAS_TOKEN'/>
+      <ref name='XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE'/>
       <ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION'/>
       <ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION'/>
+      <ref name='XML_SCHEMAS_TYPE_FINAL_DEFAULT'/>
+      <ref name='XML_SCHEMAS_TYPE_FINAL_EXTENSION'/>
+      <ref name='XML_SCHEMAS_TYPE_FINAL_LIST'/>
+      <ref name='XML_SCHEMAS_TYPE_FINAL_RESTRICTION'/>
+      <ref name='XML_SCHEMAS_TYPE_FINAL_UNION'/>
       <ref name='XML_SCHEMAS_TYPE_GLOBAL'/>
       <ref name='XML_SCHEMAS_TYPE_MIXED'/>
       <ref name='XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD'/>
+      <ref name='XML_SCHEMAS_TYPE_VARIETY_ABSENT'/>
+      <ref name='XML_SCHEMAS_TYPE_VARIETY_ATOMIC'/>
+      <ref name='XML_SCHEMAS_TYPE_VARIETY_LIST'/>
+      <ref name='XML_SCHEMAS_TYPE_VARIETY_UNION'/>
+      <ref name='XML_SCHEMAS_UBYTE'/>
+      <ref name='XML_SCHEMAS_UINT'/>
+      <ref name='XML_SCHEMAS_ULONG'/>
+      <ref name='XML_SCHEMAS_UNKNOWN'/>
+      <ref name='XML_SCHEMAS_USHORT'/>
       <ref name='XML_SCHEMAS_WILDCARD_COMPLETE'/>
       <ref name='XML_SCHEMAV_ATTRINVALID'/>
       <ref name='XML_SCHEMAV_ATTRUNKNOWN'/>
       <ref name='XML_SCHEMAV_CONSTRUCT'/>
+      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1'/>
+      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2'/>
+      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3'/>
+      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4'/>
+      <ref name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1'/>
+      <ref name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2'/>
+      <ref name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3'/>
+      <ref name='XML_SCHEMAV_CVC_ENUMERATION_VALID'/>
+      <ref name='XML_SCHEMAV_CVC_FACET_VALID'/>
+      <ref name='XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID'/>
+      <ref name='XML_SCHEMAV_CVC_LENGTH_VALID'/>
+      <ref name='XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID'/>
+      <ref name='XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID'/>
+      <ref name='XML_SCHEMAV_CVC_MAXLENGTH_VALID'/>
+      <ref name='XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID'/>
+      <ref name='XML_SCHEMAV_CVC_MININCLUSIVE_VALID'/>
+      <ref name='XML_SCHEMAV_CVC_MINLENGTH_VALID'/>
+      <ref name='XML_SCHEMAV_CVC_PATTERN_VALID'/>
+      <ref name='XML_SCHEMAV_CVC_TOTALDIGITS_VALID'/>
+      <ref name='XML_SCHEMAV_CVC_TYPE_3_1_1'/>
+      <ref name='XML_SCHEMAV_CVC_TYPE_3_1_2'/>
       <ref name='XML_SCHEMAV_ELEMCONT'/>
       <ref name='XML_SCHEMAV_EXTRACONTENT'/>
       <ref name='XML_SCHEMAV_FACET'/>
@@ -4010,8 +4261,10 @@
       <ref name='_xmlSchemaAttributeLink'/>
       <ref name='_xmlSchemaElement'/>
       <ref name='_xmlSchemaFacet'/>
+      <ref name='_xmlSchemaFacetLink'/>
       <ref name='_xmlSchemaNotation'/>
       <ref name='_xmlSchemaType'/>
+      <ref name='_xmlSchemaTypeLink'/>
       <ref name='_xmlSchemaWildcard'/>
       <ref name='_xmlSchemaWildcardNs'/>
       <ref name='_xmlShellCtxt'/>
@@ -5188,12 +5441,15 @@
       <ref name='xmlSchemaAttributePtr'/>
       <ref name='xmlSchemaCheckFacet'/>
       <ref name='xmlSchemaCleanupTypes'/>
+      <ref name='xmlSchemaCollapseString'/>
       <ref name='xmlSchemaCompareValues'/>
       <ref name='xmlSchemaContentType'/>
       <ref name='xmlSchemaDump'/>
       <ref name='xmlSchemaElement'/>
       <ref name='xmlSchemaElementPtr'/>
       <ref name='xmlSchemaFacet'/>
+      <ref name='xmlSchemaFacetLink'/>
+      <ref name='xmlSchemaFacetLinkPtr'/>
       <ref name='xmlSchemaFacetPtr'/>
       <ref name='xmlSchemaFree'/>
       <ref name='xmlSchemaFreeFacet'/>
@@ -5201,8 +5457,12 @@
       <ref name='xmlSchemaFreeType'/>
       <ref name='xmlSchemaFreeValidCtxt'/>
       <ref name='xmlSchemaFreeValue'/>
+      <ref name='xmlSchemaFreeWildcard'/>
+      <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
+      <ref name='xmlSchemaGetBuiltInType'/>
       <ref name='xmlSchemaGetPredefinedType'/>
       <ref name='xmlSchemaInitTypes'/>
+      <ref name='xmlSchemaIsBuiltInTypeFacet'/>
       <ref name='xmlSchemaNewDocParserCtxt'/>
       <ref name='xmlSchemaNewFacet'/>
       <ref name='xmlSchemaNewMemParserCtxt'/>
@@ -5217,16 +5477,20 @@
       <ref name='xmlSchemaSetParserErrors'/>
       <ref name='xmlSchemaSetValidErrors'/>
       <ref name='xmlSchemaType'/>
+      <ref name='xmlSchemaTypeLink'/>
+      <ref name='xmlSchemaTypeLinkPtr'/>
       <ref name='xmlSchemaTypePtr'/>
       <ref name='xmlSchemaTypeType'/>
       <ref name='xmlSchemaVal'/>
       <ref name='xmlSchemaValPredefTypeNode'/>
       <ref name='xmlSchemaValPtr'/>
+      <ref name='xmlSchemaValType'/>
       <ref name='xmlSchemaValidCtxt'/>
       <ref name='xmlSchemaValidCtxtPtr'/>
       <ref name='xmlSchemaValidError'/>
       <ref name='xmlSchemaValidateDoc'/>
       <ref name='xmlSchemaValidateFacet'/>
+      <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
       <ref name='xmlSchemaValidatePredefinedType'/>
       <ref name='xmlSchemaValidateStream'/>
       <ref name='xmlSchemaValidityErrorFunc'/>
@@ -6172,6 +6436,7 @@
       <ref name='xmlParseVersionNum'/>
       <ref name='xmlSaveUri'/>
       <ref name='xmlScanName'/>
+      <ref name='xmlSchemaCollapseString'/>
       <ref name='xmlSplitQName'/>
       <ref name='xmlSplitQName2'/>
       <ref name='xmlStrcat'/>
@@ -6529,6 +6794,8 @@
       <ref name='xmlSchemaParse'/>
     </type>
     <type name='xmlSchemaTypePtr'>
+      <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
+      <ref name='xmlSchemaGetBuiltInType'/>
       <ref name='xmlSchemaGetPredefinedType'/>
     </type>
     <type name='xmlSchemaValidCtxtPtr'>
@@ -6968,9 +7235,11 @@
       <ref name='xmlSAX2UnparsedEntityDecl'/>
       <ref name='xmlSAXParseDTD'/>
       <ref name='xmlSchemaCheckFacet'/>
+      <ref name='xmlSchemaCollapseString'/>
       <ref name='xmlSchemaGetPredefinedType'/>
       <ref name='xmlSchemaValPredefTypeNode'/>
       <ref name='xmlSchemaValidateFacet'/>
+      <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
       <ref name='xmlSchemaValidatePredefinedType'/>
       <ref name='xmlSearchNs'/>
       <ref name='xmlSearchNsByHref'/>
@@ -7254,6 +7523,10 @@
     </type>
     <type name='unsigned long'>
       <ref name='ftpListCallback'/>
+      <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
+    </type>
+    <type name='unsigned long *'>
+      <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
     </type>
     <type name='va_list'>
       <ref name='xmlStrVPrintf'/>
@@ -8642,6 +8915,7 @@
       <ref name='xmlSchemaCheckFacet'/>
       <ref name='xmlSchemaFreeFacet'/>
       <ref name='xmlSchemaValidateFacet'/>
+      <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
     </type>
     <type name='xmlSchemaParserCtxtPtr'>
       <ref name='xmlSchemaCheckFacet'/>
@@ -8657,6 +8931,8 @@
     <type name='xmlSchemaTypePtr'>
       <ref name='xmlSchemaCheckFacet'/>
       <ref name='xmlSchemaFreeType'/>
+      <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
+      <ref name='xmlSchemaIsBuiltInTypeFacet'/>
       <ref name='xmlSchemaValPredefTypeNode'/>
       <ref name='xmlSchemaValidateFacet'/>
       <ref name='xmlSchemaValidatePredefinedType'/>
@@ -8670,6 +8946,9 @@
       <ref name='xmlSchemaValPredefTypeNode'/>
       <ref name='xmlSchemaValidatePredefinedType'/>
     </type>
+    <type name='xmlSchemaValType'>
+      <ref name='xmlSchemaGetBuiltInType'/>
+    </type>
     <type name='xmlSchemaValidCtxtPtr'>
       <ref name='xmlSchemaFreeValidCtxt'/>
       <ref name='xmlSchemaSetValidErrors'/>
@@ -8684,6 +8963,9 @@
       <ref name='xmlSchemaSetParserErrors'/>
       <ref name='xmlSchemaSetValidErrors'/>
     </type>
+    <type name='xmlSchemaWildcardPtr'>
+      <ref name='xmlSchemaFreeWildcard'/>
+    </type>
     <type name='xmlShellCtxtPtr'>
       <ref name='xmlShellBase'/>
       <ref name='xmlShellCat'/>
@@ -10008,6 +10290,9 @@
       <ref name='XML_SCHEMAS_ANYATTR_LAX'/>
       <ref name='XML_SCHEMAS_ANYATTR_SKIP'/>
       <ref name='XML_SCHEMAS_ANYATTR_STRICT'/>
+      <ref name='XML_SCHEMAS_ANYSIMPLETYPE'/>
+      <ref name='XML_SCHEMAS_ANYTYPE'/>
+      <ref name='XML_SCHEMAS_ANYURI'/>
       <ref name='XML_SCHEMAS_ANY_LAX'/>
       <ref name='XML_SCHEMAS_ANY_SKIP'/>
       <ref name='XML_SCHEMAS_ANY_STRICT'/>
@@ -10018,6 +10303,14 @@
       <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_BASE64BINARY'/>
+      <ref name='XML_SCHEMAS_BOOLEAN'/>
+      <ref name='XML_SCHEMAS_BYTE'/>
+      <ref name='XML_SCHEMAS_DATE'/>
+      <ref name='XML_SCHEMAS_DATETIME'/>
+      <ref name='XML_SCHEMAS_DECIMAL'/>
+      <ref name='XML_SCHEMAS_DOUBLE'/>
+      <ref name='XML_SCHEMAS_DURATION'/>
       <ref name='XML_SCHEMAS_ELEM_ABSTRACT'/>
       <ref name='XML_SCHEMAS_ELEM_DEFAULT'/>
       <ref name='XML_SCHEMAS_ELEM_FIXED'/>
@@ -10026,17 +10319,67 @@
       <ref name='XML_SCHEMAS_ELEM_NSDEFAULT'/>
       <ref name='XML_SCHEMAS_ELEM_REF'/>
       <ref name='XML_SCHEMAS_ELEM_TOPLEVEL'/>
+      <ref name='XML_SCHEMAS_ENTITIES'/>
+      <ref name='XML_SCHEMAS_ENTITY'/>
       <ref name='XML_SCHEMAS_FACET_COLLAPSE'/>
       <ref name='XML_SCHEMAS_FACET_PRESERVE'/>
       <ref name='XML_SCHEMAS_FACET_REPLACE'/>
       <ref name='XML_SCHEMAS_FACET_UNKNOWN'/>
+      <ref name='XML_SCHEMAS_FINAL_DEFAULT_EXTENSION'/>
+      <ref name='XML_SCHEMAS_FINAL_DEFAULT_LIST'/>
+      <ref name='XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION'/>
+      <ref name='XML_SCHEMAS_FINAL_DEFAULT_UNION'/>
+      <ref name='XML_SCHEMAS_FLOAT'/>
+      <ref name='XML_SCHEMAS_GDAY'/>
+      <ref name='XML_SCHEMAS_GMONTH'/>
+      <ref name='XML_SCHEMAS_GMONTHDAY'/>
+      <ref name='XML_SCHEMAS_GYEAR'/>
+      <ref name='XML_SCHEMAS_GYEARMONTH'/>
+      <ref name='XML_SCHEMAS_HEXBINARY'/>
+      <ref name='XML_SCHEMAS_ID'/>
+      <ref name='XML_SCHEMAS_IDREF'/>
+      <ref name='XML_SCHEMAS_IDREFS'/>
+      <ref name='XML_SCHEMAS_INT'/>
+      <ref name='XML_SCHEMAS_INTEGER'/>
+      <ref name='XML_SCHEMAS_LANGUAGE'/>
+      <ref name='XML_SCHEMAS_LONG'/>
+      <ref name='XML_SCHEMAS_NAME'/>
+      <ref name='XML_SCHEMAS_NCNAME'/>
+      <ref name='XML_SCHEMAS_NINTEGER'/>
+      <ref name='XML_SCHEMAS_NMTOKEN'/>
+      <ref name='XML_SCHEMAS_NMTOKENS'/>
+      <ref name='XML_SCHEMAS_NNINTEGER'/>
+      <ref name='XML_SCHEMAS_NORMSTRING'/>
+      <ref name='XML_SCHEMAS_NOTATION'/>
+      <ref name='XML_SCHEMAS_NPINTEGER'/>
+      <ref name='XML_SCHEMAS_PINTEGER'/>
+      <ref name='XML_SCHEMAS_QNAME'/>
       <ref name='XML_SCHEMAS_QUALIF_ATTR'/>
       <ref name='XML_SCHEMAS_QUALIF_ELEM'/>
+      <ref name='XML_SCHEMAS_SHORT'/>
+      <ref name='XML_SCHEMAS_STRING'/>
+      <ref name='XML_SCHEMAS_TIME'/>
+      <ref name='XML_SCHEMAS_TOKEN'/>
+      <ref name='XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE'/>
       <ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION'/>
       <ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION'/>
+      <ref name='XML_SCHEMAS_TYPE_FINAL_DEFAULT'/>
+      <ref name='XML_SCHEMAS_TYPE_FINAL_EXTENSION'/>
+      <ref name='XML_SCHEMAS_TYPE_FINAL_LIST'/>
+      <ref name='XML_SCHEMAS_TYPE_FINAL_RESTRICTION'/>
+      <ref name='XML_SCHEMAS_TYPE_FINAL_UNION'/>
       <ref name='XML_SCHEMAS_TYPE_GLOBAL'/>
       <ref name='XML_SCHEMAS_TYPE_MIXED'/>
       <ref name='XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD'/>
+      <ref name='XML_SCHEMAS_TYPE_VARIETY_ABSENT'/>
+      <ref name='XML_SCHEMAS_TYPE_VARIETY_ATOMIC'/>
+      <ref name='XML_SCHEMAS_TYPE_VARIETY_LIST'/>
+      <ref name='XML_SCHEMAS_TYPE_VARIETY_UNION'/>
+      <ref name='XML_SCHEMAS_UBYTE'/>
+      <ref name='XML_SCHEMAS_UINT'/>
+      <ref name='XML_SCHEMAS_ULONG'/>
+      <ref name='XML_SCHEMAS_UNKNOWN'/>
+      <ref name='XML_SCHEMAS_USHORT'/>
       <ref name='XML_SCHEMAS_WILDCARD_COMPLETE'/>
       <ref name='XML_SCHEMA_CONTENT_ANY'/>
       <ref name='XML_SCHEMA_CONTENT_BASIC'/>
@@ -10086,8 +10429,10 @@
       <ref name='_xmlSchemaAttributeLink'/>
       <ref name='_xmlSchemaElement'/>
       <ref name='_xmlSchemaFacet'/>
+      <ref name='_xmlSchemaFacetLink'/>
       <ref name='_xmlSchemaNotation'/>
       <ref name='_xmlSchemaType'/>
+      <ref name='_xmlSchemaTypeLink'/>
       <ref name='_xmlSchemaWildcard'/>
       <ref name='_xmlSchemaWildcardNs'/>
       <ref name='xmlSchemaAnnot'/>
@@ -10102,15 +10447,21 @@
       <ref name='xmlSchemaElement'/>
       <ref name='xmlSchemaElementPtr'/>
       <ref name='xmlSchemaFacet'/>
+      <ref name='xmlSchemaFacetLink'/>
+      <ref name='xmlSchemaFacetLinkPtr'/>
       <ref name='xmlSchemaFacetPtr'/>
       <ref name='xmlSchemaFreeType'/>
+      <ref name='xmlSchemaFreeWildcard'/>
       <ref name='xmlSchemaNotation'/>
       <ref name='xmlSchemaNotationPtr'/>
       <ref name='xmlSchemaType'/>
+      <ref name='xmlSchemaTypeLink'/>
+      <ref name='xmlSchemaTypeLinkPtr'/>
       <ref name='xmlSchemaTypePtr'/>
       <ref name='xmlSchemaTypeType'/>
       <ref name='xmlSchemaVal'/>
       <ref name='xmlSchemaValPtr'/>
+      <ref name='xmlSchemaValType'/>
       <ref name='xmlSchemaWildcard'/>
       <ref name='xmlSchemaWildcardNs'/>
       <ref name='xmlSchemaWildcardNsPtr'/>
@@ -11018,6 +11369,28 @@
       <ref name='XML_SCHEMAP_ATTR_NONAME_NOREF'/>
       <ref name='XML_SCHEMAP_COMPLEXTYPE_NONAME_NOREF'/>
       <ref name='XML_SCHEMAP_COS_CT_EXTENDS_1_3'/>
+      <ref name='XML_SCHEMAP_COS_ST_DERIVED_OK_2_1'/>
+      <ref name='XML_SCHEMAP_COS_ST_DERIVED_OK_2_2'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_1_1'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_1_2'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_1'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_1'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4'/>
+      <ref name='XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5'/>
       <ref name='XML_SCHEMAP_CT_PROPS_CORRECT_1'/>
       <ref name='XML_SCHEMAP_CT_PROPS_CORRECT_2'/>
       <ref name='XML_SCHEMAP_CT_PROPS_CORRECT_3'/>
@@ -11078,9 +11451,24 @@
       <ref name='XML_SCHEMAP_REF_AND_SUBTYPE'/>
       <ref name='XML_SCHEMAP_REGEXP_INVALID'/>
       <ref name='XML_SCHEMAP_RESTRICTION_NONAME_NOREF'/>
+      <ref name='XML_SCHEMAP_S4S_ATTR_MISSING'/>
+      <ref name='XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED'/>
+      <ref name='XML_SCHEMAP_S4S_ELEM_MISSING'/>
+      <ref name='XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED'/>
       <ref name='XML_SCHEMAP_SIMPLETYPE_NONAME'/>
       <ref name='XML_SCHEMAP_SRC_IMPORT_3_1'/>
       <ref name='XML_SCHEMAP_SRC_IMPORT_3_2'/>
+      <ref name='XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE'/>
+      <ref name='XML_SCHEMAP_SRC_RESOLVE'/>
+      <ref name='XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE'/>
+      <ref name='XML_SCHEMAP_SRC_SIMPLE_TYPE_1'/>
+      <ref name='XML_SCHEMAP_SRC_SIMPLE_TYPE_2'/>
+      <ref name='XML_SCHEMAP_SRC_SIMPLE_TYPE_3'/>
+      <ref name='XML_SCHEMAP_SRC_SIMPLE_TYPE_4'/>
+      <ref name='XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES'/>
+      <ref name='XML_SCHEMAP_ST_PROPS_CORRECT_1'/>
+      <ref name='XML_SCHEMAP_ST_PROPS_CORRECT_2'/>
+      <ref name='XML_SCHEMAP_ST_PROPS_CORRECT_3'/>
       <ref name='XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE'/>
       <ref name='XML_SCHEMAP_TYPE_AND_SUBTYPE'/>
       <ref name='XML_SCHEMAP_UNION_NOT_EXPRESSIBLE'/>
@@ -11117,6 +11505,27 @@
       <ref name='XML_SCHEMAV_ATTRINVALID'/>
       <ref name='XML_SCHEMAV_ATTRUNKNOWN'/>
       <ref name='XML_SCHEMAV_CONSTRUCT'/>
+      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1'/>
+      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2'/>
+      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3'/>
+      <ref name='XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4'/>
+      <ref name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1'/>
+      <ref name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2'/>
+      <ref name='XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3'/>
+      <ref name='XML_SCHEMAV_CVC_ENUMERATION_VALID'/>
+      <ref name='XML_SCHEMAV_CVC_FACET_VALID'/>
+      <ref name='XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID'/>
+      <ref name='XML_SCHEMAV_CVC_LENGTH_VALID'/>
+      <ref name='XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID'/>
+      <ref name='XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID'/>
+      <ref name='XML_SCHEMAV_CVC_MAXLENGTH_VALID'/>
+      <ref name='XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID'/>
+      <ref name='XML_SCHEMAV_CVC_MININCLUSIVE_VALID'/>
+      <ref name='XML_SCHEMAV_CVC_MINLENGTH_VALID'/>
+      <ref name='XML_SCHEMAV_CVC_PATTERN_VALID'/>
+      <ref name='XML_SCHEMAV_CVC_TOTALDIGITS_VALID'/>
+      <ref name='XML_SCHEMAV_CVC_TYPE_3_1_1'/>
+      <ref name='XML_SCHEMAV_CVC_TYPE_3_1_2'/>
       <ref name='XML_SCHEMAV_ELEMCONT'/>
       <ref name='XML_SCHEMAV_EXTRACONTENT'/>
       <ref name='XML_SCHEMAV_FACET'/>
@@ -11449,14 +11858,19 @@
     <file name='xmlschemastypes'>
       <ref name='xmlSchemaCheckFacet'/>
       <ref name='xmlSchemaCleanupTypes'/>
+      <ref name='xmlSchemaCollapseString'/>
       <ref name='xmlSchemaCompareValues'/>
       <ref name='xmlSchemaFreeFacet'/>
       <ref name='xmlSchemaFreeValue'/>
+      <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
+      <ref name='xmlSchemaGetBuiltInType'/>
       <ref name='xmlSchemaGetPredefinedType'/>
       <ref name='xmlSchemaInitTypes'/>
+      <ref name='xmlSchemaIsBuiltInTypeFacet'/>
       <ref name='xmlSchemaNewFacet'/>
       <ref name='xmlSchemaValPredefTypeNode'/>
       <ref name='xmlSchemaValidateFacet'/>
+      <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
       <ref name='xmlSchemaValidatePredefinedType'/>
     </file>
     <file name='xmlstring'>
@@ -12651,6 +13065,7 @@
           <ref name='xmlCheckUTF8'/>
           <ref name='xmlIsBlankNode'/>
           <ref name='xmlSchemaCheckFacet'/>
+          <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
           <ref name='xmlXPathNodeSetIsEmpty'/>
           <ref name='xmlXPathStackIsExternal'/>
         </word>
@@ -12961,6 +13376,9 @@
         <word name='Datatype'>
           <ref name='xmlRegexpCompile'/>
         </word>
+        <word name='Datatypes'>
+          <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
+        </word>
         <word name='Deallocate'>
           <ref name='xmlFreeAttributeTable'/>
           <ref name='xmlFreeElementTable'/>
@@ -12975,6 +13393,9 @@
           <ref name='xmlSchemaFreeFacet'/>
           <ref name='xmlSchemaFreeType'/>
         </word>
+        <word name='Deallocates'>
+          <ref name='xmlSchemaFreeWildcard'/>
+        </word>
         <word name='Debugging'>
           <ref name='LIBXML_DEBUG_ENABLED'/>
         </word>
@@ -13606,6 +14027,9 @@
         <word name='Gets'>
           <ref name='xmlTextReaderReadState'/>
         </word>
+        <word name='Gives'>
+          <ref name='xmlSchemaGetBuiltInType'/>
+        </word>
         <word name='Global'>
           <ref name='_xmlDoc'/>
         </word>
@@ -13818,7 +14242,6 @@
         </word>
         <word name='Ignore'>
           <ref name='XML_SCHEMAS_ANYATTR_LAX'/>
-          <ref name='XML_SCHEMAS_ANY_LAX'/>
         </word>
         <word name='Ignored'>
           <ref name='xmlCopyChar'/>
@@ -14447,6 +14870,12 @@
           <ref name='xmlDocDumpFormatMemory'/>
           <ref name='xmlDocDumpMemory'/>
         </word>
+        <word name='Obsolete'>
+          <ref name='XML_SCHEMAS_ANYATTR_LAX'/>
+          <ref name='XML_SCHEMAS_ANYATTR_SKIP'/>
+          <ref name='XML_SCHEMAS_ANYATTR_STRICT'/>
+          <ref name='XML_SCHEMAS_ELEM_NSDEFAULT'/>
+        </word>
         <word name='Obtain'>
           <ref name='xmlTextReaderLocatorBaseURI'/>
           <ref name='xmlTextReaderLocatorLineNumber'/>
@@ -14599,6 +15028,7 @@
         </word>
         <word name='Part'>
           <ref name='xmlRegexpCompile'/>
+          <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
         </word>
         <word name='Path'>
           <ref name='xmlGetNodePath'/>
@@ -14770,6 +15200,8 @@
           <ref name='xmlXPathReturnTrue'/>
         </word>
       </letter>
+    </chunk>
+    <chunk name='chunk6'>
       <letter name='Q'>
         <word name='QName'>
           <ref name='xmlBuildQName'/>
@@ -14802,8 +15234,6 @@
           <ref name='xmlParseTextDecl'/>
         </word>
       </letter>
-    </chunk>
-    <chunk name='chunk6'>
       <letter name='R'>
         <word name='REC'>
           <ref name='IS_BASECHAR'/>
@@ -15003,6 +15433,7 @@
         <word name='Removes'>
           <ref name='xmlListPopBack'/>
           <ref name='xmlListPopFront'/>
+          <ref name='xmlSchemaCollapseString'/>
           <ref name='xmlXPathNodeSetDel'/>
           <ref name='xmlXPathNodeSetRemove'/>
           <ref name='xmlXPtrLocationSetDel'/>
@@ -15164,6 +15595,7 @@
           <ref name='xmlSchemaFree'/>
           <ref name='xmlSchemaFreeFacet'/>
           <ref name='xmlSchemaFreeType'/>
+          <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
           <ref name='xmlSchemaParse'/>
         </word>
         <word name='Schemas'>
@@ -15769,6 +16201,9 @@
           <ref name='xmlTextReaderRelaxNGValidate'/>
         </word>
         <word name='Used'>
+          <ref name='XML_SCHEMAS_ANY_LAX'/>
+          <ref name='XML_SCHEMAS_ANY_STRICT'/>
+          <ref name='XML_SCHEMAS_ATTR_USE_PROHIBITED'/>
           <ref name='XML_SKIP_IDS'/>
           <ref name='xmlCatalogGetDefaults'/>
           <ref name='xmlCatalogSetDebug'/>
@@ -15797,6 +16232,7 @@
           <ref name='xmlValidateOneElement'/>
         </word>
         <word name='Validate'>
+          <ref name='XML_SCHEMAS_ANY_LAX'/>
           <ref name='xmlRelaxNGValidateDoc'/>
           <ref name='xmlRelaxNGValidateFullElement'/>
           <ref name='xmlSchemaValidateDoc'/>
@@ -16168,6 +16604,9 @@
           <ref name='xmlParseMarkupDecl'/>
           <ref name='xmlXPathSubstringFunction'/>
         </word>
+        <word name='absent'>
+          <ref name='XML_SCHEMAS_TYPE_VARIETY_ABSENT'/>
+        </word>
         <word name='absoluteURI'>
           <ref name='xmlParseURI'/>
           <ref name='xmlParseURIReference'/>
@@ -16378,6 +16817,7 @@
           <ref name='xmlRegexpCompile'/>
           <ref name='xmlRegexpExec'/>
           <ref name='xmlSchemaValidateFacet'/>
+          <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
           <ref name='xmlShellValidate'/>
           <ref name='xmlValidateDtd'/>
         </word>
@@ -16589,6 +17029,10 @@
           <ref name='xmlSetGenericErrorFunc'/>
         </word>
         <word name='anymore'>
+          <ref name='XML_SCHEMAS_ANYATTR_LAX'/>
+          <ref name='XML_SCHEMAS_ANYATTR_SKIP'/>
+          <ref name='XML_SCHEMAS_ANYATTR_STRICT'/>
+          <ref name='XML_SCHEMAS_ELEM_NSDEFAULT'/>
           <ref name='xmlNamespaceParseNCName'/>
           <ref name='xmlNamespaceParseNSDef'/>
           <ref name='xmlNamespaceParseQName'/>
@@ -17122,9 +17566,14 @@
           <ref name='xmlRecoverFile'/>
           <ref name='xmlRecoverMemory'/>
           <ref name='xmlRelaxNGParse'/>
+          <ref name='xmlSchemaGetBuiltInType'/>
           <ref name='xmlSchemaParse'/>
           <ref name='xmlTextReaderNextSibling'/>
         </word>
+        <word name='built-in'>
+          <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
+          <ref name='xmlSchemaGetBuiltInType'/>
+        </word>
         <word name='builtin'>
           <ref name='initGenericErrorDefaultFunc'/>
         </word>
@@ -17367,6 +17816,7 @@
           <ref name='xmlParseSDDecl'/>
           <ref name='xmlRelaxNGParse'/>
           <ref name='xmlResetLastError'/>
+          <ref name='xmlSchemaCollapseString'/>
           <ref name='xmlSchemaParse'/>
           <ref name='xmlSubstituteEntitiesDefault'/>
           <ref name='xmlSwitchEncoding'/>
@@ -17787,6 +18237,8 @@
           <ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION'/>
         </word>
         <word name='complexType'>
+          <ref name='XML_SCHEMAS_TYPE_FINAL_EXTENSION'/>
+          <ref name='XML_SCHEMAS_TYPE_FINAL_RESTRICTION'/>
           <ref name='XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD'/>
         </word>
         <word name='complicated'>
@@ -18281,6 +18733,9 @@
         <word name='dangerous'>
           <ref name='xmlTextReaderCurrentNode'/>
         </word>
+        <word name='datatype'>
+          <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
+        </word>
         <word name='day'>
           <ref name='ftpListCallback'/>
         </word>
@@ -18450,6 +18905,7 @@
           <ref name='xmlParseBalancedChunkMemory'/>
           <ref name='xmlParseBalancedChunkMemoryRecover'/>
           <ref name='xmlParseElementContentDecl'/>
+          <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
           <ref name='xmlSearchNs'/>
           <ref name='xmlSearchNsByHref'/>
           <ref name='xmlTextReaderIsDefault'/>
@@ -18920,6 +19376,7 @@
           <ref name='xmlXPathTrailingSorted'/>
         </word>
         <word name='don'>
+          <ref name='XML_SCHEMAS_ANY_LAX'/>
           <ref name='xlinkIsLink'/>
           <ref name='xmlCreatePushParserCtxt'/>
           <ref name='xmlNewDocNode'/>
@@ -19480,6 +19937,7 @@
           <ref name='xmlRelaxNGNewParserCtxt'/>
           <ref name='xmlSchemaNewMemParserCtxt'/>
           <ref name='xmlSchemaNewParserCtxt'/>
+          <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
         </word>
         <word name='explored'>
           <ref name='xmlXPathAxisFunc'/>
@@ -19526,7 +19984,9 @@
           <ref name='xmlXPtrLocationSetMerge'/>
         </word>
         <word name='extension'>
+          <ref name='XML_SCHEMAS_FINAL_DEFAULT_EXTENSION'/>
           <ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION'/>
+          <ref name='XML_SCHEMAS_TYPE_FINAL_EXTENSION'/>
         </word>
         <word name='extensions'>
           <ref name='_xmlSAXHandler'/>
@@ -19548,9 +20008,11 @@
           <ref name='XML_SCHEMAS_FACET_PRESERVE'/>
           <ref name='XML_SCHEMAS_FACET_REPLACE'/>
           <ref name='XML_SCHEMAS_FACET_UNKNOWN'/>
+          <ref name='_xmlSchemaFacetLink'/>
           <ref name='xmlSchemaCheckFacet'/>
           <ref name='xmlSchemaFreeFacet'/>
           <ref name='xmlSchemaValidateFacet'/>
+          <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
         </word>
         <word name='facets'>
           <ref name='xmlSchemaCheckFacet'/>
@@ -19713,6 +20175,10 @@
           <ref name='xmlParseEncodingDecl'/>
         </word>
         <word name='final'>
+          <ref name='XML_SCHEMAS_TYPE_FINAL_EXTENSION'/>
+          <ref name='XML_SCHEMAS_TYPE_FINAL_LIST'/>
+          <ref name='XML_SCHEMAS_TYPE_FINAL_RESTRICTION'/>
+          <ref name='XML_SCHEMAS_TYPE_FINAL_UNION'/>
           <ref name='xmlAutomataSetFinalState'/>
           <ref name='xmlBuildURI'/>
           <ref name='xmlRegExecPushString'/>
@@ -19720,6 +20186,12 @@
           <ref name='xmlValidateDocumentFinal'/>
           <ref name='xmlValidateDtdFinal'/>
         </word>
+        <word name='finalDefault'>
+          <ref name='XML_SCHEMAS_FINAL_DEFAULT_EXTENSION'/>
+          <ref name='XML_SCHEMAS_FINAL_DEFAULT_LIST'/>
+          <ref name='XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION'/>
+          <ref name='XML_SCHEMAS_FINAL_DEFAULT_UNION'/>
+        </word>
         <word name='find'>
           <ref name='xmlGetThreadId'/>
           <ref name='xmlIsXHTML'/>
@@ -20343,6 +20815,7 @@
         </word>
         <word name='hierarchy'>
           <ref name='xmlParseElementChildrenContentDecl'/>
+          <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
         </word>
         <word name='highly'>
           <ref name='htmlParseElement'/>
@@ -21122,6 +21595,7 @@
           <ref name='xmlHashUpdateEntry2'/>
           <ref name='xmlHashUpdateEntry3'/>
           <ref name='xmlNanoFTPDele'/>
+          <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
           <ref name='xmlXPathNodeSetItem'/>
         </word>
         <word name='items'>
@@ -21132,6 +21606,7 @@
           <ref name='xmlHashScan3'/>
           <ref name='xmlHashScanFull'/>
           <ref name='xmlHashScanFull3'/>
+          <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
         </word>
         <word name='itself'>
           <ref name='_xmlDoc'/>
@@ -21351,6 +21826,7 @@
           <ref name='xmlParseDefaultDecl'/>
           <ref name='xmlSchemaValPredefTypeNode'/>
           <ref name='xmlSchemaValidateFacet'/>
+          <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
           <ref name='xmlSchemaValidatePredefinedType'/>
           <ref name='xmlValidateNCName'/>
           <ref name='xmlValidateNMToken'/>
@@ -21446,6 +21922,8 @@
         </word>
         <word name='linked'>
           <ref name='_xmlSchemaAttributeLink'/>
+          <ref name='_xmlSchemaFacetLink'/>
+          <ref name='_xmlSchemaTypeLink'/>
         </word>
         <word name='linking'>
           <ref name='xlinkIsLink'/>
@@ -22212,7 +22690,6 @@
         </word>
         <word name='non'>
           <ref name='XML_SCHEMAS_ANYATTR_LAX'/>
-          <ref name='XML_SCHEMAS_ANY_LAX'/>
           <ref name='xmlEncodeEntitiesReentrant'/>
           <ref name='xmlNewChild'/>
           <ref name='xmlNewTextChild'/>
@@ -22309,6 +22786,7 @@
         </word>
         <word name='normalize'>
           <ref name='xmlParseAttValue'/>
+          <ref name='xmlSchemaCollapseString'/>
           <ref name='xmlTextReaderNormalization'/>
         </word>
         <word name='normalize-space'>
@@ -23036,6 +23514,7 @@
           <ref name='xmlSchemaValPredefTypeNode'/>
           <ref name='xmlSchemaValidateDoc'/>
           <ref name='xmlSchemaValidateFacet'/>
+          <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
           <ref name='xmlSchemaValidatePredefinedType'/>
           <ref name='xmlSchemaValidateStream'/>
           <ref name='xmlTextReaderPreservePattern'/>
@@ -24053,6 +24532,7 @@
         </word>
         <word name='repr'>
           <ref name='xmlSchemaValidateFacet'/>
+          <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
         </word>
         <word name='representation'>
           <ref name='_htmlElemDesc'/>
@@ -24091,6 +24571,7 @@
           <ref name='XML_SCHEMAS_ATTR_USE_REQUIRED'/>
           <ref name='htmlRequiredAttrs'/>
           <ref name='xmlCatalogSetDebug'/>
+          <ref name='xmlSchemaCollapseString'/>
           <ref name='xmlXPathStringFunction'/>
         </word>
         <word name='requires'>
@@ -24187,7 +24668,9 @@
           <ref name='xmlParseExternalID'/>
         </word>
         <word name='restriction'>
+          <ref name='XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION'/>
           <ref name='XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION'/>
+          <ref name='XML_SCHEMAS_TYPE_FINAL_RESTRICTION'/>
         </word>
         <word name='results'>
           <ref name='xmlXPathEqualValues'/>
@@ -24645,6 +25128,12 @@
           <ref name='xmlShellValidate'/>
           <ref name='xmlShellWrite'/>
         </word>
+        <word name='shema'>
+          <ref name='XML_SCHEMAS_FINAL_DEFAULT_EXTENSION'/>
+          <ref name='XML_SCHEMAS_FINAL_DEFAULT_LIST'/>
+          <ref name='XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION'/>
+          <ref name='XML_SCHEMAS_FINAL_DEFAULT_UNION'/>
+        </word>
         <word name='shemas'>
           <ref name='XML_SCHEMAS_QUALIF_ATTR'/>
           <ref name='XML_SCHEMAS_QUALIF_ELEM'/>
@@ -24721,6 +25210,17 @@
           <ref name='xmlMutexLock'/>
           <ref name='xmlMutexUnlock'/>
           <ref name='xmlNewMutex'/>
+          <ref name='xmlSchemaGetBuiltInListSimpleTypeItemType'/>
+          <ref name='xmlSchemaValidateListSimpleTypeFacet'/>
+        </word>
+        <word name='simpleType'>
+          <ref name='XML_SCHEMAS_TYPE_FINAL_LIST'/>
+          <ref name='XML_SCHEMAS_TYPE_FINAL_RESTRICTION'/>
+          <ref name='XML_SCHEMAS_TYPE_FINAL_UNION'/>
+          <ref name='XML_SCHEMAS_TYPE_VARIETY_ABSENT'/>
+          <ref name='XML_SCHEMAS_TYPE_VARIETY_ATOMIC'/>
+          <ref name='XML_SCHEMAS_TYPE_VARIETY_LIST'/>
+          <ref name='XML_SCHEMAS_TYPE_VARIETY_UNION'/>
         </word>
         <word name='simply'>
           <ref name='xmlSetGenericErrorFunc'/>
@@ -24885,6 +25385,7 @@
           <ref name='xmlSaveFormatFile'/>
           <ref name='xmlSaveFormatFileEnc'/>
           <ref name='xmlSaveFormatFileTo'/>
+          <ref name='xmlSchemaCollapseString'/>
           <ref name='xmlValidateNCName'/>
           <ref name='xmlValidateNMToken'/>
           <ref name='xmlValidateName'/>
@@ -25235,6 +25736,7 @@
           <ref name='xmlFreeURI'/>
           <ref name='xmlNewMutex'/>
           <ref name='xmlParserFindNodeInfo'/>
+          <ref name='xmlSchemaGetBuiltInType'/>
         </word>
         <word name='structured'>
           <ref name='xmlSetStructuredErrorFunc'/>
@@ -25985,6 +26487,9 @@
         <word name='two-character'>
           <ref name='xmlCurrentChar'/>
         </word>
+        <word name='typ'>
+          <ref name='_xmlSchemaTypeLink'/>
+        </word>
         <word name='types'>
           <ref name='XML_SCHEMAS_FACET_COLLAPSE'/>
           <ref name='_xmlXPathContext'/>
@@ -26048,6 +26553,10 @@
           <ref name='xmlCtxtUseOptions'/>
         </word>
         <word name='union'>
+          <ref name='XML_SCHEMAS_FINAL_DEFAULT_UNION'/>
+          <ref name='XML_SCHEMAS_TYPE_FINAL_UNION'/>
+          <ref name='XML_SCHEMAS_TYPE_VARIETY_ATOMIC'/>
+          <ref name='XML_SCHEMAS_TYPE_VARIETY_UNION'/>
           <ref name='xmlXPathIdFunction'/>
         </word>
         <word name='unique'>
@@ -26293,6 +26802,12 @@
         <word name='variant'>
           <ref name='xmlDetectCharEncoding'/>
         </word>
+        <word name='variety'>
+          <ref name='XML_SCHEMAS_TYPE_VARIETY_ABSENT'/>
+          <ref name='XML_SCHEMAS_TYPE_VARIETY_ATOMIC'/>
+          <ref name='XML_SCHEMAS_TYPE_VARIETY_LIST'/>
+          <ref name='XML_SCHEMAS_TYPE_VARIETY_UNION'/>
+        </word>
         <word name='very'>
           <ref name='_htmlElemDesc'/>
           <ref name='_xmlParserInput'/>
@@ -26316,6 +26831,8 @@
           <ref name='xmlSAXParseMemoryWithData'/>
         </word>
       </letter>
+    </chunk>
+    <chunk name='chunk25'>
       <letter name='w'>
         <word name='walker'>
           <ref name='xmlListReverseWalk'/>
@@ -26459,6 +26976,7 @@
         <word name='white'>
           <ref name='xmlKeepBlanksDefault'/>
           <ref name='xmlParseSDDecl'/>
+          <ref name='xmlSchemaCollapseString'/>
           <ref name='xmlTextReaderNormalization'/>
           <ref name='xmlXPathNormalizeFunction'/>
         </word>
@@ -26489,6 +27007,12 @@
           <ref name='XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED'/>
           <ref name='XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD'/>
           <ref name='XML_SCHEMAS_WILDCARD_COMPLETE'/>
+          <ref name='xmlSchemaFreeWildcard'/>
+        </word>
+        <word name='wildcards'>
+          <ref name='XML_SCHEMAS_ANY_LAX'/>
+          <ref name='XML_SCHEMAS_ANY_STRICT'/>
+          <ref name='XML_SCHEMAS_ATTR_USE_PROHIBITED'/>
         </word>
         <word name='with_ns'>
           <ref name='_xmlNodeSet'/>
@@ -26565,6 +27089,9 @@
         <word name='works'>
           <ref name='xmlShellDu'/>
         </word>
+        <word name='worry'>
+          <ref name='XML_SCHEMAS_ANY_LAX'/>
+        </word>
         <word name='worthwhile'>
           <ref name='xmlBuildRelativeURI'/>
         </word>
@@ -26612,7 +27139,7 @@
         </word>
       </letter>
     </chunk>
-    <chunk name='chunk25'>
+    <chunk name='chunk26'>
       <letter name='x'>
         <word name='x00B7'>
           <ref name='IS_EXTENDER'/>
@@ -27521,7 +28048,7 @@
         </word>
       </letter>
     </chunk>
-    <chunk name='chunk26'>
+    <chunk name='chunk27'>
       <letter name='y'>
         <word name='year'>
           <ref name='ftpListCallback'/>
@@ -27548,6 +28075,7 @@
           <ref name='xmlNewDocNode'/>
           <ref name='xmlNewDocNodeEatName'/>
           <ref name='xmlNewTextChild'/>
+          <ref name='xmlSchemaGetBuiltInType'/>
           <ref name='xmlSearchNs'/>
         </word>
       </letter>
@@ -27597,8 +28125,8 @@
       <chunk name='chunk2' start='D' end='E'/>
       <chunk name='chunk3' start='F' end='I'/>
       <chunk name='chunk4' start='J' end='N'/>
-      <chunk name='chunk5' start='O' end='Q'/>
-      <chunk name='chunk6' start='R' end='S'/>
+      <chunk name='chunk5' start='O' end='P'/>
+      <chunk name='chunk6' start='Q' end='S'/>
       <chunk name='chunk7' start='T' end='U'/>
       <chunk name='chunk8' start='V' end='a'/>
       <chunk name='chunk9' start='b' end='b'/>
@@ -27616,9 +28144,10 @@
       <chunk name='chunk21' start='q' end='r'/>
       <chunk name='chunk22' start='s' end='s'/>
       <chunk name='chunk23' start='t' end='t'/>
-      <chunk name='chunk24' start='u' end='w'/>
-      <chunk name='chunk25' start='x' end='x'/>
-      <chunk name='chunk26' start='y' end='z'/>
+      <chunk name='chunk24' start='u' end='v'/>
+      <chunk name='chunk25' start='w' end='w'/>
+      <chunk name='chunk26' start='x' end='x'/>
+      <chunk name='chunk27' start='y' end='z'/>
     </chunks>
   </index>
 </apirefs>
diff --git a/elfgcchack.h b/elfgcchack.h
index fed7fb6..215509d 100644
--- a/elfgcchack.h
+++ b/elfgcchack.h
@@ -3837,6 +3837,12 @@
 #endif
 
 #ifdef LIBXML_SCHEMAS_ENABLED
+extern __typeof (xmlSchemaCollapseString) xmlSchemaCollapseString__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlSchemaCollapseString) xmlSchemaCollapseString __attribute((alias("xmlSchemaCollapseString__internal_alias")));
+#define xmlSchemaCollapseString xmlSchemaCollapseString__internal_alias
+#endif
+
+#ifdef LIBXML_SCHEMAS_ENABLED
 extern __typeof (xmlSchemaCompareValues) xmlSchemaCompareValues__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlSchemaCompareValues) xmlSchemaCompareValues __attribute((alias("xmlSchemaCompareValues__internal_alias")));
 #define xmlSchemaCompareValues xmlSchemaCompareValues__internal_alias
@@ -3887,6 +3893,24 @@
 #endif
 
 #ifdef LIBXML_SCHEMAS_ENABLED
+extern __typeof (xmlSchemaFreeWildcard) xmlSchemaFreeWildcard__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlSchemaFreeWildcard) xmlSchemaFreeWildcard __attribute((alias("xmlSchemaFreeWildcard__internal_alias")));
+#define xmlSchemaFreeWildcard xmlSchemaFreeWildcard__internal_alias
+#endif
+
+#ifdef LIBXML_SCHEMAS_ENABLED
+extern __typeof (xmlSchemaGetBuiltInListSimpleTypeItemType) xmlSchemaGetBuiltInListSimpleTypeItemType__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlSchemaGetBuiltInListSimpleTypeItemType) xmlSchemaGetBuiltInListSimpleTypeItemType __attribute((alias("xmlSchemaGetBuiltInListSimpleTypeItemType__internal_alias")));
+#define xmlSchemaGetBuiltInListSimpleTypeItemType xmlSchemaGetBuiltInListSimpleTypeItemType__internal_alias
+#endif
+
+#ifdef LIBXML_SCHEMAS_ENABLED
+extern __typeof (xmlSchemaGetBuiltInType) xmlSchemaGetBuiltInType__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlSchemaGetBuiltInType) xmlSchemaGetBuiltInType __attribute((alias("xmlSchemaGetBuiltInType__internal_alias")));
+#define xmlSchemaGetBuiltInType xmlSchemaGetBuiltInType__internal_alias
+#endif
+
+#ifdef LIBXML_SCHEMAS_ENABLED
 extern __typeof (xmlSchemaGetPredefinedType) xmlSchemaGetPredefinedType__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlSchemaGetPredefinedType) xmlSchemaGetPredefinedType __attribute((alias("xmlSchemaGetPredefinedType__internal_alias")));
 #define xmlSchemaGetPredefinedType xmlSchemaGetPredefinedType__internal_alias
@@ -3899,6 +3923,12 @@
 #endif
 
 #ifdef LIBXML_SCHEMAS_ENABLED
+extern __typeof (xmlSchemaIsBuiltInTypeFacet) xmlSchemaIsBuiltInTypeFacet__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlSchemaIsBuiltInTypeFacet) xmlSchemaIsBuiltInTypeFacet __attribute((alias("xmlSchemaIsBuiltInTypeFacet__internal_alias")));
+#define xmlSchemaIsBuiltInTypeFacet xmlSchemaIsBuiltInTypeFacet__internal_alias
+#endif
+
+#ifdef LIBXML_SCHEMAS_ENABLED
 extern __typeof (xmlSchemaNewDocParserCtxt) xmlSchemaNewDocParserCtxt__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlSchemaNewDocParserCtxt) xmlSchemaNewDocParserCtxt __attribute((alias("xmlSchemaNewDocParserCtxt__internal_alias")));
 #define xmlSchemaNewDocParserCtxt xmlSchemaNewDocParserCtxt__internal_alias
@@ -3965,6 +3995,12 @@
 #endif
 
 #ifdef LIBXML_SCHEMAS_ENABLED
+extern __typeof (xmlSchemaValidateListSimpleTypeFacet) xmlSchemaValidateListSimpleTypeFacet__internal_alias __attribute((visibility("hidden")));
+extern __typeof (xmlSchemaValidateListSimpleTypeFacet) xmlSchemaValidateListSimpleTypeFacet __attribute((alias("xmlSchemaValidateListSimpleTypeFacet__internal_alias")));
+#define xmlSchemaValidateListSimpleTypeFacet xmlSchemaValidateListSimpleTypeFacet__internal_alias
+#endif
+
+#ifdef LIBXML_SCHEMAS_ENABLED
 extern __typeof (xmlSchemaValidatePredefinedType) xmlSchemaValidatePredefinedType__internal_alias __attribute((visibility("hidden")));
 extern __typeof (xmlSchemaValidatePredefinedType) xmlSchemaValidatePredefinedType __attribute((alias("xmlSchemaValidatePredefinedType__internal_alias")));
 #define xmlSchemaValidatePredefinedType xmlSchemaValidatePredefinedType__internal_alias
diff --git a/include/libxml/schemasInternals.h b/include/libxml/schemasInternals.h
index ee14ceb..8433499 100644
--- a/include/libxml/schemasInternals.h
+++ b/include/libxml/schemasInternals.h
@@ -24,12 +24,61 @@
 extern "C" {
 #endif
 
+typedef enum {
+    XML_SCHEMAS_UNKNOWN = 0,
+    XML_SCHEMAS_STRING,
+    XML_SCHEMAS_NORMSTRING,
+    XML_SCHEMAS_DECIMAL,
+    XML_SCHEMAS_TIME,
+    XML_SCHEMAS_GDAY,
+    XML_SCHEMAS_GMONTH,
+    XML_SCHEMAS_GMONTHDAY,
+    XML_SCHEMAS_GYEAR,
+    XML_SCHEMAS_GYEARMONTH,
+    XML_SCHEMAS_DATE,
+    XML_SCHEMAS_DATETIME,
+    XML_SCHEMAS_DURATION,
+    XML_SCHEMAS_FLOAT,
+    XML_SCHEMAS_DOUBLE,
+    XML_SCHEMAS_BOOLEAN,
+    XML_SCHEMAS_TOKEN,
+    XML_SCHEMAS_LANGUAGE,
+    XML_SCHEMAS_NMTOKEN,
+    XML_SCHEMAS_NMTOKENS, 
+    XML_SCHEMAS_NAME,
+    XML_SCHEMAS_QNAME,
+    XML_SCHEMAS_NCNAME,
+    XML_SCHEMAS_ID,
+    XML_SCHEMAS_IDREF,
+    XML_SCHEMAS_IDREFS, 
+    XML_SCHEMAS_ENTITY,
+    XML_SCHEMAS_ENTITIES, 
+    XML_SCHEMAS_NOTATION,
+    XML_SCHEMAS_ANYURI,
+    XML_SCHEMAS_INTEGER,
+    XML_SCHEMAS_NPINTEGER,
+    XML_SCHEMAS_NINTEGER,
+    XML_SCHEMAS_NNINTEGER,
+    XML_SCHEMAS_PINTEGER,
+    XML_SCHEMAS_INT,
+    XML_SCHEMAS_UINT,
+    XML_SCHEMAS_LONG,
+    XML_SCHEMAS_ULONG,
+    XML_SCHEMAS_SHORT,
+    XML_SCHEMAS_USHORT,
+    XML_SCHEMAS_BYTE,
+    XML_SCHEMAS_UBYTE,
+    XML_SCHEMAS_HEXBINARY,
+    XML_SCHEMAS_BASE64BINARY,
+    XML_SCHEMAS_ANYTYPE,
+    XML_SCHEMAS_ANYSIMPLETYPE   
+} xmlSchemaValType;
 
 /*
  * XML Schemas defines multiple type of types.
  */
 typedef enum {
-    XML_SCHEMA_TYPE_BASIC = 1,
+    XML_SCHEMA_TYPE_BASIC = 1, /* A built-in datatype */
     XML_SCHEMA_TYPE_ANY,
     XML_SCHEMA_TYPE_FACET,
     XML_SCHEMA_TYPE_SIMPLE,
@@ -70,7 +119,7 @@
     XML_SCHEMA_CONTENT_ELEMENTS,
     XML_SCHEMA_CONTENT_MIXED,
     XML_SCHEMA_CONTENT_SIMPLE,
-    XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS,
+    XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS, /* obsolete, not used */
     XML_SCHEMA_CONTENT_BASIC,
     XML_SCHEMA_CONTENT_ANY
 } xmlSchemaContentType;
@@ -98,41 +147,47 @@
  * XML_SCHEMAS_ANYATTR_SKIP:
  *
  * Skip unknown attribute from validation
+ * Obsolete, not used anymore.
  */
 #define XML_SCHEMAS_ANYATTR_SKIP	1
 /**
  * XML_SCHEMAS_ANYATTR_LAX:
  *
  * Ignore validation non definition on attributes
+ * Obsolete, not used anymore.
  */
 #define XML_SCHEMAS_ANYATTR_LAX		2
 /**
  * XML_SCHEMAS_ANYATTR_STRICT:
  *
  * Apply strict validation rules on attributes
+ * Obsolete, not used anymore.
  */
 #define XML_SCHEMAS_ANYATTR_STRICT	3
 /**
  * XML_SCHEMAS_ANY_SKIP:
  *
- * Skip unknown attribute from validation
+ * Skip unknown attribute from validation 
  */
 #define XML_SCHEMAS_ANY_SKIP        1
 /**
  * XML_SCHEMAS_ANY_LAX:
  *
- * Ignore validation non definition on attributes
+ * Used by wildcards.
+ * Validate if type found, don't worry if not found
  */
 #define XML_SCHEMAS_ANY_LAX                2
 /**
  * XML_SCHEMAS_ANY_STRICT:
  *
- * Apply strict validation rules on attributes
+ * Used by wildcards.
+ * Apply strict validation rules
  */
 #define XML_SCHEMAS_ANY_STRICT        3
 /**
  * XML_SCHEMAS_ATTR_USE_PROHIBITED:
  *
+ * Used by wildcards.
  * The attribute is prohibited.
  */
 #define XML_SCHEMAS_ATTR_USE_PROHIBITED 0
@@ -274,6 +329,28 @@
     xmlSchemaWildcardPtr attributeWildcard;
 };
 
+/**
+ * xmlSchemaTypeLink:
+ * Used to build a list of types (e.g. member types of
+ * simpleType with variety "union").
+ */
+typedef struct _xmlSchemaTypeLink xmlSchemaTypeLink;
+typedef xmlSchemaTypeLink *xmlSchemaTypeLinkPtr;
+struct _xmlSchemaTypeLink {
+    struct _xmlSchemaTypeLink *next;/* the next type link ... */
+    xmlSchemaTypePtr type;/* the linked type*/
+};
+
+/**
+ * xmlSchemaFacetLink:
+ * Used to build a list of facets.
+ */
+typedef struct _xmlSchemaFacetLink xmlSchemaFacetLink;
+typedef xmlSchemaFacetLink *xmlSchemaFacetLinkPtr;
+struct _xmlSchemaFacetLink {
+    struct _xmlSchemaFacetLink *next;/* the next facet link ... */
+    xmlSchemaFacetPtr facet;/* the linked facet */
+};
 
 /**
  * XML_SCHEMAS_TYPE_MIXED:
@@ -306,6 +383,66 @@
  * it can be freed by the complexType
  */
 #define XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD    1 << 4
+/**
+ * XML_SCHEMAS_TYPE_VARIETY_ABSENT:
+ *
+ * the simpleType has a variety of "absent".
+ */
+#define XML_SCHEMAS_TYPE_VARIETY_ABSENT    1 << 5
+/**
+ * XML_SCHEMAS_TYPE_VARIETY_LIST:
+ *
+ * the simpleType has a variety of "list".
+ */
+#define XML_SCHEMAS_TYPE_VARIETY_LIST    1 << 6
+/**
+ * XML_SCHEMAS_TYPE_VARIETY_UNION:
+ *
+ * the simpleType has a variety of "union".
+ */
+#define XML_SCHEMAS_TYPE_VARIETY_UNION    1 << 7
+/**
+ * XML_SCHEMAS_TYPE_VARIETY_ATOMIC:
+ *
+ * the simpleType has a variety of "union".
+ */
+#define XML_SCHEMAS_TYPE_VARIETY_ATOMIC    1 << 8
+/**
+ * XML_SCHEMAS_TYPE_FINAL_EXTENSION:
+ *
+ * the complexType has a final of "extension".
+ */
+#define XML_SCHEMAS_TYPE_FINAL_EXTENSION    1 << 9
+/**
+ * XML_SCHEMAS_TYPE_FINAL_RESTRICTION:
+ *
+ * the simpleType/complexType has a final of "restriction".
+ */
+#define XML_SCHEMAS_TYPE_FINAL_RESTRICTION    1 << 10
+/**
+ * XML_SCHEMAS_TYPE_FINAL_LIST:
+ *
+ * the simpleType has a final of "list".
+ */
+#define XML_SCHEMAS_TYPE_FINAL_LIST    1 << 11
+/**
+ * XML_SCHEMAS_TYPE_FINAL_UNION:
+ *
+ * the simpleType has a final of "union".
+ */
+#define XML_SCHEMAS_TYPE_FINAL_UNION    1 << 12
+/**
+ * XML_SCHEMAS_TYPE_FINAL_UNION:
+ *
+ * the simpleType has a final of "union".
+ */
+#define XML_SCHEMAS_TYPE_FINAL_DEFAULT    1 << 13
+/**
+ * XML_SCHEMAS_TYPE_FINAL_UNION:
+ *
+ * the simpleType has a final of "union".
+ */
+#define XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE    1 << 14
 
 /**
  * _xmlSchemaType:
@@ -336,6 +473,9 @@
     int recurse;
     xmlSchemaAttributeLinkPtr attributeUses;
     xmlSchemaWildcardPtr attributeWildcard;
+    int builtInType;
+    xmlSchemaTypeLinkPtr memberTypes;
+    xmlSchemaFacetLinkPtr facetSet;
 };
 
 /*
@@ -392,6 +532,7 @@
  * XML_SCHEMAS_ELEM_NSDEFAULT:
  *
  * allow elements in no namespace
+ * Obsolete, not used anymore.
  */
 #define XML_SCHEMAS_ELEM_NSDEFAULT	1 << 7
 
@@ -448,7 +589,6 @@
  * collapse the types of the facet
  */
 #define XML_SCHEMAS_FACET_COLLAPSE	3
-
 /**
  * A facet definition.
  */
@@ -488,7 +628,31 @@
  *
  * the shemas requires qualified attributes
  */
-#define XML_SCHEMAS_QUALIF_ATTR		1 << 1
+#define XML_SCHEMAS_QUALIF_ATTR	    1 << 1
+/**
+ * XML_SCHEMAS_FINAL_DEFAULT_EXTENSION:
+ *
+ * the shema has "extension" in the set of finalDefault.
+ */
+#define XML_SCHEMAS_FINAL_DEFAULT_EXTENSION	1 << 2
+/**
+ * XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION:
+ *
+ * the shema has "restriction" in the set of finalDefault.
+ */
+#define XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION	    1 << 3
+/**
+ * XML_SCHEMAS_FINAL_DEFAULT_LIST:
+ *
+ * the shema has "list" in the set of finalDefault.
+ */
+#define XML_SCHEMAS_FINAL_DEFAULT_LIST	    1 << 4
+/**
+ * XML_SCHEMAS_FINAL_DEFAULT_UNION:
+ *
+ * the shema has "union" in the set of finalDefault.
+ */
+#define XML_SCHEMAS_FINAL_DEFAULT_UNION	    1 << 5
 /**
  * _xmlSchema:
  *
@@ -519,6 +683,7 @@
 };
 
 XMLPUBFUN void XMLCALL 	xmlSchemaFreeType	(xmlSchemaTypePtr type);
+XMLPUBFUN void XMLCALL 	xmlSchemaFreeWildcard(xmlSchemaWildcardPtr wildcard);
 
 #ifdef __cplusplus
 }
diff --git a/include/libxml/xmlerror.h b/include/libxml/xmlerror.h
index e2f7ba5..513c244 100644
--- a/include/libxml/xmlerror.h
+++ b/include/libxml/xmlerror.h
@@ -597,7 +597,28 @@
     XML_SCHEMAV_ATTRINVALID, /* 1820 */
     XML_SCHEMAV_VALUE, /* 1821 */
     XML_SCHEMAV_FACET, /* 1822 */
-    XML_XPTR_UNKNOWN_SCHEME = 1900,
+    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1, /* 1823 */
+    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2, /* 1824 */
+    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3, /* 1825 */
+    XML_SCHEMAV_CVC_TYPE_3_1_1, /* 1826 */
+    XML_SCHEMAV_CVC_TYPE_3_1_2, /* 1827 */
+    XML_SCHEMAV_CVC_FACET_VALID, /* 1828 */
+    XML_SCHEMAV_CVC_LENGTH_VALID, /* 1829 */
+    XML_SCHEMAV_CVC_MINLENGTH_VALID, /* 1830 */
+    XML_SCHEMAV_CVC_MAXLENGTH_VALID, /* 1831 */
+    XML_SCHEMAV_CVC_MININCLUSIVE_VALID, /* 1832 */
+    XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID, /* 1833 */
+    XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID, /* 1834 */
+    XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID, /* 1835 */
+    XML_SCHEMAV_CVC_TOTALDIGITS_VALID, /* 1836 */
+    XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID, /* 1837 */
+    XML_SCHEMAV_CVC_PATTERN_VALID, /* 1838 */
+    XML_SCHEMAV_CVC_ENUMERATION_VALID, /* 1839 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1, /* 1840 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2, /* 1841 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3, /* 1842 */
+    XML_SCHEMAV_CVC_COMPLEX_TYPE_2_4, /* 1843 */
+    XML_XPTR_UNKNOWN_SCHEME = 1900, 
     XML_XPTR_CHILDSEQ_START, /* 1901 */
     XML_XPTR_EVAL_FAILED, /* 1902 */
     XML_XPTR_EXTRA_OBJECTS, /* 1903 */
@@ -610,7 +631,44 @@
     XML_FTP_ACCNT, /* 2002 */
     XML_HTTP_URL_SYNTAX = 2020,
     XML_HTTP_USE_IP, /* 2021 */
-    XML_HTTP_UNKNOWN_HOST /* 2022 */
+    XML_HTTP_UNKNOWN_HOST, /* 2022 */
+    XML_SCHEMAP_SRC_SIMPLE_TYPE_1 = 3000,
+    XML_SCHEMAP_SRC_SIMPLE_TYPE_2, /* 3001 */
+    XML_SCHEMAP_SRC_SIMPLE_TYPE_3, /* 3002 */
+    XML_SCHEMAP_SRC_SIMPLE_TYPE_4, /* 3003 */
+    XML_SCHEMAP_SRC_RESOLVE, /* 3004 */ 
+    XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE, /* 3004 */
+    XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE, /* 3005 */
+    XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES, /* 3006 */
+    XML_SCHEMAP_ST_PROPS_CORRECT_1, /* 3007 */
+    XML_SCHEMAP_ST_PROPS_CORRECT_2, /* 3008 */
+    XML_SCHEMAP_ST_PROPS_CORRECT_3, /* 3009 */     
+    XML_SCHEMAP_COS_ST_RESTRICTS_1_1, /* 3010 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_1_2, /* 3011 */    
+    XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1, /* 3012 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_1_3_2, /* 3013 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_2_1, /* 3014 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1, /* 3015 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2, /* 3016 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1, /* 3017 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2, /* 3018 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3, /* 3019 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4, /* 3021 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_5, /* 3022 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_3_1, /* 3023 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1, /* 3024 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2, /* 3025 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2, /* 3026 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1, /* 3027 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3, /* 3028 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4, /* 3029 */
+    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_5, /* 3030 */
+    XML_SCHEMAP_COS_ST_DERIVED_OK_2_1, /* 3031 */ 
+    XML_SCHEMAP_COS_ST_DERIVED_OK_2_2, /* 3032 */
+    XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED, /* 3033 */
+    XML_SCHEMAP_S4S_ELEM_MISSING, /* 3034 */
+    XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED, /* 3035 */
+    XML_SCHEMAP_S4S_ATTR_MISSING /* 3036 */
 } xmlParserErrors;
 
 /**
diff --git a/include/libxml/xmlschemastypes.h b/include/libxml/xmlschemastypes.h
index 4514c59..b81e9b4 100644
--- a/include/libxml/xmlschemastypes.h
+++ b/include/libxml/xmlschemastypes.h
@@ -58,6 +58,20 @@
 XMLPUBFUN int XMLCALL		
 		xmlSchemaCompareValues		(xmlSchemaValPtr x,
 						 xmlSchemaValPtr y);
+XMLPUBFUN xmlSchemaTypePtr XMLCALL		
+		xmlSchemaGetBuiltInListSimpleTypeItemType(xmlSchemaTypePtr type);
+XMLPUBFUN int XMLCALL
+xmlSchemaValidateListSimpleTypeFacet(xmlSchemaFacetPtr facet,
+				     const xmlChar *value,
+				     unsigned long actualLen,
+				     unsigned long *expectedLen);
+XMLPUBFUN xmlSchemaTypePtr XMLCALL
+xmlSchemaGetBuiltInType(xmlSchemaValType type);
+XMLPUBFUN int XMLCALL
+xmlSchemaIsBuiltInTypeFacet(xmlSchemaTypePtr type, 
+			    int facetType);
+XMLPUBFUN xmlChar *  XMLCALL
+xmlSchemaCollapseString(const xmlChar *value);
 
 #ifdef __cplusplus
 }
diff --git a/python/libxml2class.txt b/python/libxml2class.txt
index 87494bd..cd09862 100644
--- a/python/libxml2class.txt
+++ b/python/libxml2class.txt
@@ -220,6 +220,7 @@
 
 # functions from module xmlschemastypes
 schemaCleanupTypes()
+schemaCollapseString()
 schemaInitTypes()
 
 # functions from module xmlstring
diff --git a/result/schemas/anyAttr-processContents-err1_0_0.err b/result/schemas/anyAttr-processContents-err1_0_0.err
index 3152bc6..b09e268 100644
--- a/result/schemas/anyAttr-processContents-err1_0_0.err
+++ b/result/schemas/anyAttr-processContents-err1_0_0.err
@@ -1,3 +1,3 @@
-./test/schemas/anyAttr-processContents-err1_0.xml:11: element elem.lax: Schemas validity error : Failed to validate basic type language
-./test/schemas/anyAttr-processContents-err1_0.xml:11: element elem.lax: Schemas validity error : Attribute bar on elem.lax does not match type
-./test/schemas/anyAttr-processContents-err1_0.xml:12: element elem.strict: Schemas validity error : Attribute barB on elem.strict is unknown
+./test/schemas/anyAttr-processContents-err1_0.xml:11: element elem.lax: Schemas validity error : The value is not valid.
+./test/schemas/anyAttr-processContents-err1_0.xml:11: element elem.lax: Schemas validity error : Attribute "bar": the value is not valid.
+./test/schemas/anyAttr-processContents-err1_0.xml:12: element elem.strict: Schemas validity error : Attribute "barB" is not allowed.
diff --git a/result/schemas/attruse_0_1.err b/result/schemas/attruse_0_1.err
index 60baa1f..19ef72a 100644
--- a/result/schemas/attruse_0_1.err
+++ b/result/schemas/attruse_0_1.err
@@ -1 +1 @@
-./test/schemas/attruse_0_1.xml:3: element barA: Schemas validity error : Attribute attr on barA is required but missing
+./test/schemas/attruse_0_1.xml:3: element barA: Schemas validity error : Attribute "attr" is required but missing.
diff --git a/result/schemas/attruse_0_2.err b/result/schemas/attruse_0_2.err
index 79dcc8a..d68db7b 100644
--- a/result/schemas/attruse_0_2.err
+++ b/result/schemas/attruse_0_2.err
@@ -1 +1 @@
-./test/schemas/attruse_0_2.xml:6: element barC: Schemas validity error : Attribute attr on barC is unknown
+./test/schemas/attruse_0_2.xml:6: element barC: Schemas validity error : Attribute "attr" is not allowed.
diff --git a/result/schemas/bug143951_0_0 b/result/schemas/bug143951_0_0
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/result/schemas/bug143951_0_0
diff --git a/result/schemas/bug143951_0_0.err b/result/schemas/bug143951_0_0.err
new file mode 100644
index 0000000..5f9518b
--- /dev/null
+++ b/result/schemas/bug143951_0_0.err
@@ -0,0 +1,3 @@
+I/O warning : failed to load external entity "test/schemas/bug143951.imp"
+Schemas parser error : xmlSchemaParse: could not load test/schemas/bug143951.imp
+Schemas parser error : failed to import schema at location test/schemas/bug143951.imp
diff --git a/result/schemas/cos-st-restricts-1-2-err_0_0 b/result/schemas/cos-st-restricts-1-2-err_0_0
new file mode 100644
index 0000000..dc34253
--- /dev/null
+++ b/result/schemas/cos-st-restricts-1-2-err_0_0
@@ -0,0 +1 @@
+./test/schemas/cos-st-restricts-1-2-err_0.xml fails to validate
diff --git a/result/schemas/cos-st-restricts-1-2-err_0_0.err b/result/schemas/cos-st-restricts-1-2-err_0_0.err
new file mode 100644
index 0000000..44a5cba
--- /dev/null
+++ b/result/schemas/cos-st-restricts-1-2-err_0_0.err
@@ -0,0 +1 @@
+./test/schemas/cos-st-restricts-1-2-err_0.xml:3: element foo: Schemas validity error : The value with length "2" is not facet-valid with respect to length = "3".
diff --git a/result/schemas/extension1_0_1.err b/result/schemas/extension1_0_1.err
index 7997de7..84d16bc 100644
--- a/result/schemas/extension1_0_1.err
+++ b/result/schemas/extension1_0_1.err
@@ -1 +1 @@
-./test/schemas/extension1_1.xml:1: element title: Schemas validity error : Attribute langue on title is unknown
+./test/schemas/extension1_1.xml:1: element title: Schemas validity error : Attribute "langue" is not allowed.
diff --git a/result/schemas/extension1_0_2.err b/result/schemas/extension1_0_2.err
index 516d200..4eaa663 100644
--- a/result/schemas/extension1_0_2.err
+++ b/result/schemas/extension1_0_2.err
@@ -1 +1 @@
-./test/schemas/extension1_2.xml:1: element title: Schemas validity error : Element title: child salut should not be present
+./test/schemas/extension1_2.xml:1: element title: Schemas validity error : Element children are not allowed, because the content type is a simple type.
diff --git a/result/schemas/facet-unionST-err1_0_0 b/result/schemas/facet-unionST-err1_0_0
new file mode 100644
index 0000000..baf8280
--- /dev/null
+++ b/result/schemas/facet-unionST-err1_0_0
@@ -0,0 +1 @@
+./test/schemas/facet-unionST-err1_0.xml fails to validate
diff --git a/result/schemas/facet-unionST-err1_0_0.err b/result/schemas/facet-unionST-err1_0_0.err
new file mode 100644
index 0000000..f757848
--- /dev/null
+++ b/result/schemas/facet-unionST-err1_0_0.err
@@ -0,0 +1,2 @@
+./test/schemas/facet-unionST-err1_0.xml:3: element foo: Schemas validity error : The value failed to validate against the facet "enumeration".
+./test/schemas/facet-unionST-err1_0.xml:3: element foo: Schemas validity error : The value is not valid.
diff --git a/result/schemas/hexbinary_0_1.err b/result/schemas/hexbinary_0_1.err
index c134ddb..b9f1933 100644
--- a/result/schemas/hexbinary_0_1.err
+++ b/result/schemas/hexbinary_0_1.err
@@ -1,9 +1,12 @@
-./test/schemas/hexbinary_1.xml:4: element hex: Schemas validity error : Element hex: failed to validate basic type hexBinary
-./test/schemas/hexbinary_1.xml:5: element hex: Schemas validity error : Element hex: failed to validate basic type hexBinary
-./test/schemas/hexbinary_1.xml:6: element hex: Schemas validity error : Element hex: failed to validate basic type hexBinary
-./test/schemas/hexbinary_1.xml:7: element hex: Schemas validity error : Element hex: failed to validate basic type hexBinary
-./test/schemas/hexbinary_1.xml:8: element hex: Schemas validity error : Element hex: failed to validate basic type hexBinary
-./test/schemas/hexbinary_1.xml:9: element hex: Schemas validity error : Element hex: failed to validate basic type hexBinary
-./test/schemas/hexbinary_1.xml:11: element hex2: Schemas validity error : Failed to validate type with facet maxLength
-./test/schemas/hexbinary_1.xml:13: element hex3: Schemas validity error : Failed to validate type with facet length
-./test/schemas/hexbinary_1.xml:14: element hex3: Schemas validity error : Failed to validate type with facet length
+./test/schemas/hexbinary_1.xml:4: element hex: Schemas validity error : The value is not valid.
+./test/schemas/hexbinary_1.xml:5: element hex: Schemas validity error : The value is not valid.
+./test/schemas/hexbinary_1.xml:6: element hex: Schemas validity error : The value is not valid.
+./test/schemas/hexbinary_1.xml:7: element hex: Schemas validity error : The value is not valid.
+./test/schemas/hexbinary_1.xml:8: element hex: Schemas validity error : The value is not valid.
+./test/schemas/hexbinary_1.xml:9: element hex: Schemas validity error : The value is not valid.
+./test/schemas/hexbinary_1.xml:11: element hex2: Schemas validity error : The value failed to validate against the facet "maxLength".
+./test/schemas/hexbinary_1.xml:11: element hex2: Schemas validity error : The value is not valid.
+./test/schemas/hexbinary_1.xml:13: element hex3: Schemas validity error : The value failed to validate against the facet "length".
+./test/schemas/hexbinary_1.xml:13: element hex3: Schemas validity error : The value is not valid.
+./test/schemas/hexbinary_1.xml:14: element hex3: Schemas validity error : The value failed to validate against the facet "length".
+./test/schemas/hexbinary_1.xml:14: element hex3: Schemas validity error : The value is not valid.
diff --git a/result/schemas/length3_0_0.err b/result/schemas/length3_0_0.err
index 048a3c6..753136f 100644
--- a/result/schemas/length3_0_0.err
+++ b/result/schemas/length3_0_0.err
@@ -1 +1 @@
-./test/schemas/length3_0.xsd:5: element element: Schemas parser error : Schemas: element size type non-positive-integer not found
+./test/schemas/length3_0.xsd:5: element element: Schemas parser error : Element "size": the QName "non-positive-integer" of the attribute "type" does not resolve to a schema component.
diff --git a/result/schemas/ns0_0_3.err b/result/schemas/ns0_0_3.err
index 6578c9e..25e5bf3 100644
--- a/result/schemas/ns0_0_3.err
+++ b/result/schemas/ns0_0_3.err
@@ -1 +1 @@
-./test/schemas/ns0_3.xml:1: element foo: Schemas validity error : Attribute id on foo is unknown
+./test/schemas/ns0_3.xml:1: element foo: Schemas validity error : Attribute "id" is not allowed.
diff --git a/result/schemas/ns0_0_4.err b/result/schemas/ns0_0_4.err
index 14b949d..fc6efc0 100644
--- a/result/schemas/ns0_0_4.err
+++ b/result/schemas/ns0_0_4.err
@@ -1 +1 @@
-./test/schemas/ns0_4.xml:2: element foo: Schemas validity error : Attribute id on foo is unknown
+./test/schemas/ns0_4.xml:2: element foo: Schemas validity error : Attribute "id" is not allowed.
diff --git a/result/schemas/ns0_1_0.err b/result/schemas/ns0_1_0.err
index 6e5ba4a..83b2fc9 100644
--- a/result/schemas/ns0_1_0.err
+++ b/result/schemas/ns0_1_0.err
@@ -1 +1 @@
-./test/schemas/ns0_0.xml:1: element foo: Schemas validity error : Attribute id on foo is unknown
+./test/schemas/ns0_0.xml:1: element foo: Schemas validity error : Attribute "id" is not allowed.
diff --git a/result/schemas/ns0_1_1.err b/result/schemas/ns0_1_1.err
index 008b122..f61c19b 100644
--- a/result/schemas/ns0_1_1.err
+++ b/result/schemas/ns0_1_1.err
@@ -1 +1 @@
-./test/schemas/ns0_1.xml:1: element foo: Schemas validity error : Attribute id on foo is unknown
+./test/schemas/ns0_1.xml:1: element foo: Schemas validity error : Attribute "id" is not allowed.
diff --git a/result/schemas/vdv-first4_0_1.err b/result/schemas/vdv-first4_0_1.err
index 6eafb62..155f906 100644
--- a/result/schemas/vdv-first4_0_1.err
+++ b/result/schemas/vdv-first4_0_1.err
@@ -1 +1 @@
-./test/schemas/vdv-first4_1.xml:14: element born: Schemas validity error : Failed to validate basic type date
+./test/schemas/vdv-first4_1.xml:14: element born: Schemas validity error : The value is not valid.
diff --git a/result/schemas/vdv-first4_0_2.err b/result/schemas/vdv-first4_0_2.err
index d37271a..42a1900 100644
--- a/result/schemas/vdv-first4_0_2.err
+++ b/result/schemas/vdv-first4_0_2.err
@@ -1 +1,2 @@
-./test/schemas/vdv-first4_2.xml:24: element born: Schemas validity error : Failed to validate type with facet pattern
+./test/schemas/vdv-first4_2.xml:24: element born: Schemas validity error : The value failed to validate against the facet "pattern".
+./test/schemas/vdv-first4_2.xml:24: element born: Schemas validity error : The value is not valid.
diff --git a/test/schemas/bug143951_0.xml b/test/schemas/bug143951_0.xml
new file mode 100644
index 0000000..a742a0d
--- /dev/null
+++ b/test/schemas/bug143951_0.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<MenuDefinitionFile xmlns:nnl="http://www.newport-networks.com/NNL" 
+xmlns="http://www.newport-networks.com/cli"  
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+xsi:schemaLocation="http://www.newport-networks.com/cli bug143951_0.xsd">
+	<nnl:file>$File: //depot/NNL/R1.0_SandM_Dev/Projects/SandM/src/uisupport
+/xml/cliTestCommands.xml $</nnl:file>
+</MenuDefinitionFile>
+
diff --git a/test/schemas/bug143951_0.xsd b/test/schemas/bug143951_0.xsd
new file mode 100644
index 0000000..d5c9511
--- /dev/null
+++ b/test/schemas/bug143951_0.xsd
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<xs:schema targetNamespace="http://www.newport-networks.com/cli" 
+	xmlns:nnl="http://www.newport-networks.com/NNL" 
+	xmlns:cli="http://www.newport-networks.com/cli" 
+	xmlns:xs="http://www.w3.org/2001/XMLSchema" 
+	elementFormDefault="qualified" attributeFormDefault="unqualified" 
+	version="1.00">
+	<xs:import namespace="http://www.newport-networks.com/NNL" schemaLocation="bug143951.imp"/>
+	<xs:element name="MenuDefinitionFile">
+		<xs:complexType>
+			<xs:sequence>
+				<xs:group ref="nnl:schema2group"/>
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+</xs:schema>
+
diff --git a/test/schemas/cos-st-restricts-1-2-err_0.xml b/test/schemas/cos-st-restricts-1-2-err_0.xml
new file mode 100644
index 0000000..6f60e5b
--- /dev/null
+++ b/test/schemas/cos-st-restricts-1-2-err_0.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0"?>
+<foo xmlns="http://FOO" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:schemaLocation="http://FOO cos-st-restricts-1-2-err_0.xsd">1 2</foo>
diff --git a/test/schemas/cos-st-restricts-1-2-err_0.xsd b/test/schemas/cos-st-restricts-1-2-err_0.xsd
new file mode 100644
index 0000000..9d3fabf
--- /dev/null
+++ b/test/schemas/cos-st-restricts-1-2-err_0.xsd
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" 
+	targetNamespace="http://FOO" xmlns:foo="http://FOO">
+
+	<element name="foo" type="foo:type.A"/>
+
+	<simpleType name="type.A">
+		<restriction>
+			<simpleType>
+				<list itemType="integer"/>			
+			</simpleType>
+			<length value="3"/>
+		</restriction>
+	</simpleType>
+
+	<!--restriction base="foo:type.base.A">
+			
+	</restriction-->
+
+	<simpleType name="type.base.A">
+		<restriction>
+			<simpleType>
+				<list itemType="integer"/>				
+			</simpleType>
+		</restriction>
+	</simpleType>
+
+	
+
+</schema>
diff --git a/test/schemas/facet-unionST-err1_0.xml b/test/schemas/facet-unionST-err1_0.xml
new file mode 100644
index 0000000..aa96e20
--- /dev/null
+++ b/test/schemas/facet-unionST-err1_0.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0"?>
+<foo xmlns="http://FOO" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+	xsi:schemaLocation="http://FOO facet-unionST-err1_0.xsd">large</foo>
+
diff --git a/test/schemas/facet-unionST-err1_0.xsd b/test/schemas/facet-unionST-err1_0.xsd
new file mode 100644
index 0000000..476668b
--- /dev/null
+++ b/test/schemas/facet-unionST-err1_0.xsd
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+  targetNamespace="http://FOO" xmlns:foo="http://FOO">
+
+  	<xsd:element name="foo" type="foo:fooType.B"/>
+
+	<xsd:simpleType name="fooType.B">
+		<xsd:restriction base="foo:fooType.A">
+			<xsd:enumeration value="medium"/>
+		</xsd:restriction>
+	</xsd:simpleType>
+
+	<xsd:simpleType name="fooType.A">
+    	<xsd:union>
+      		<xsd:simpleType>
+        		<xsd:restriction base="xsd:NMTOKEN">
+          			<xsd:enumeration value="small"/>
+          			<xsd:enumeration value="medium"/>
+          			<xsd:enumeration value="large"/>
+        		</xsd:restriction>
+      		</xsd:simpleType>
+    	</xsd:union>
+  	</xsd:simpleType>
+
+
+
+</xsd:schema>
diff --git a/win32/libxml2.def.src b/win32/libxml2.def.src
index 485aad9..940a2cf 100644
--- a/win32/libxml2.def.src
+++ b/win32/libxml2.def.src
@@ -1476,6 +1476,9 @@
 xmlSchemaCleanupTypes
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
+xmlSchemaCollapseString
+#endif
+#ifdef LIBXML_SCHEMAS_ENABLED
 xmlSchemaCompareValues
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
@@ -1497,6 +1500,13 @@
 #ifdef LIBXML_SCHEMAS_ENABLED
 xmlSchemaFreeValue
 #endif
+xmlSchemaFreeWildcard
+#ifdef LIBXML_SCHEMAS_ENABLED
+xmlSchemaGetBuiltInListSimpleTypeItemType
+#endif
+#ifdef LIBXML_SCHEMAS_ENABLED
+xmlSchemaGetBuiltInType
+#endif
 #ifdef LIBXML_SCHEMAS_ENABLED
 xmlSchemaGetPredefinedType
 #endif
@@ -1504,6 +1514,9 @@
 xmlSchemaInitTypes
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
+xmlSchemaIsBuiltInTypeFacet
+#endif
+#ifdef LIBXML_SCHEMAS_ENABLED
 xmlSchemaNewDocParserCtxt
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
@@ -1537,6 +1550,9 @@
 xmlSchemaValidateFacet
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
+xmlSchemaValidateListSimpleTypeFacet
+#endif
+#ifdef LIBXML_SCHEMAS_ENABLED
 xmlSchemaValidatePredefinedType
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
diff --git a/xmlschemas.c b/xmlschemas.c
index 30dba1f..7f1b519 100644
--- a/xmlschemas.c
+++ b/xmlschemas.c
@@ -12,6 +12,9 @@
  *   - when types are redefined in includes, check that all
  *     types in the redef list are equal
  *     -> need a type equality operation.
+ *   - if we don't intend to use the schema for schemas, we 
+ *     need to validate all schema attributes (ref, type, name)
+ *     against their types.
  */
 #define IN_LIBXML
 #include "libxml.h"
@@ -102,6 +105,8 @@
 
     xmlDictPtr dict;		/* dictionnary for interned string names */
     int        includes;	/* the inclusion level, 0 for root or imports */
+    xmlSchemaTypePtr ctxtType; /* The current context simple/complex type */
+    xmlSchemaTypePtr parentItem; /* The current parent schema item */
 };
 
 
@@ -184,18 +189,32 @@
  * 			Some predeclarations				*
  * 									*
  ************************************************************************/
+#if 0 /* Not currently used. */
 static int xmlSchemaValidateSimpleValue(xmlSchemaValidCtxtPtr ctxt,
                                         xmlSchemaTypePtr type,
                                         const xmlChar * value);
+#endif
 
 static int xmlSchemaParseInclude(xmlSchemaParserCtxtPtr ctxt,
                                  xmlSchemaPtr schema,
                                  xmlNodePtr node);
+#if 0
 static int
 xmlSchemaValidateSimpleValueInternal(xmlSchemaValidCtxtPtr ctxt,
                              xmlSchemaTypePtr type,
 			     const xmlChar * value,
 			     int fireErrors);
+#endif /* Not currently used. */
+static void
+xmlSchemaTypeFixup(xmlSchemaTypePtr typeDecl,
+                   xmlSchemaParserCtxtPtr ctxt, const xmlChar * name);
+static const char *
+xmlSchemaFacetTypeToString(xmlSchemaTypeType type);
+static int
+xmlSchemaValidateSimpleTypeValue(xmlSchemaValidCtxtPtr ctxt, 
+				 const xmlChar *value,
+				 int fireErrors,				 
+				 int applyFacets);
 
 /************************************************************************
  *									*
@@ -274,7 +293,7 @@
         xmlSchemaPErr(ctxt, node, error, msg, str1, str2);
 }
 
-#if 0
+
 /**
  * xmlSchemaPErrExt:
  * @ctxt: the parsing context
@@ -316,7 +335,7 @@
 		    (const char *) strData3, 0, 0, msg, str1, str2, 
 		    str3, str4, str5);
 }
-#endif
+
 
 /**
  * xmlSchemaVTypeErrMemory:
@@ -579,7 +598,7 @@
  * xmlSchemaFreeWildcardNsSet:
  * set:  a schema wildcard namespace
  *
- * Deallocate a list of wildcard constraint structures.
+ * Deallocates a list of wildcard constraint structures.
  */
 static void
 xmlSchemaFreeWildcardNsSet(xmlSchemaWildcardNsPtr set)
@@ -595,11 +614,11 @@
 
 /**
  * xmlSchemaFreeWildcard:
- * @schema:  a schema attribute group structure
+ * @wildcard:  a wildcard structure
  *
- * Deallocate a Schema Attribute Group structure.
+ * Deallocates a wildcard structure.
  */
-static void
+void
 xmlSchemaFreeWildcard(xmlSchemaWildcardPtr wildcard)
 {
     if (wildcard == NULL)
@@ -635,7 +654,7 @@
 
 /**
  * xmlSchemaFreeAttributeUseList:
- * @attrUse:  a schema attribute link structure
+ * @attrUse:  an attribute link
  *
  * Deallocate a list of schema attribute uses.
  */
@@ -652,6 +671,24 @@
 }
 
 /**
+ * xmlSchemaFreeTypeLinkList:
+ * @alink: a type link
+ *
+ * Deallocate a list of types.
+ */
+static void
+xmlSchemaFreeTypeLinkList(xmlSchemaTypeLinkPtr link)
+{
+    xmlSchemaTypeLinkPtr next;
+
+    while (link != NULL) {
+	next = link->next;
+	xmlFree(link);
+	link = next;
+    }    
+}
+
+/**
  * xmlSchemaFreeElement:
  * @schema:  a schema element structure
  *
@@ -715,6 +752,7 @@
     if (type->type != XML_SCHEMA_TYPE_BASIC) {
 	if (type->attributeUses != NULL)
 	    xmlSchemaFreeAttributeUseList(type->attributeUses);
+	/* TODO: There must be a way more simple than this. */
 	if ((type->attributeWildcard != NULL) && 
 	    ((type->type != XML_SCHEMA_TYPE_COMPLEX) ||
 	    ((type->type == XML_SCHEMA_TYPE_COMPLEX) && 
@@ -722,6 +760,29 @@
 	    xmlSchemaFreeWildcard(type->attributeWildcard);
 	}
     }
+    if (type->memberTypes != NULL)
+	xmlSchemaFreeTypeLinkList(type->memberTypes);
+    if (type->facetSet != NULL) {
+	xmlSchemaFacetLinkPtr next, link;
+
+	link = type->facetSet;
+	do {
+	    next = link->next;
+	    xmlFree(link);
+	    link = next;
+	} while (link != NULL);
+    }
+  
+    if ((type->subtypes != NULL) && (type->type != XML_SCHEMA_TYPE_SEQUENCE)) {
+	switch (type->subtypes->type) { 
+	    case XML_SCHEMA_TYPE_SIMPLE_CONTENT:
+	    case XML_SCHEMA_TYPE_COMPLEX_CONTENT:
+	    case XML_SCHEMA_TYPE_RESTRICTION:
+	    case XML_SCHEMA_TYPE_EXTENSION:
+	    case XML_SCHEMA_TYPE_UNION:
+		xmlSchemaFreeType(type->subtypes);
+	}
+    }
     xmlFree(type);
 }
 
@@ -951,9 +1012,12 @@
         case XML_SCHEMA_CONTENT_MIXED:
             fprintf(output, "mixed ");
             break;
+	/* Removed, since not used. */
+	/*
         case XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS:
             fprintf(output, "mixed_or_elems ");
             break;
+	*/
         case XML_SCHEMA_CONTENT_BASIC:
             fprintf(output, "basic ");
             break;
@@ -1031,6 +1095,36 @@
  *									*
  ************************************************************************/
 
+xmlAttrPtr
+xmlSchemaGetPropNode(xmlNodePtr node, const xmlChar *name) 
+{
+    xmlAttrPtr prop;
+
+    if ((node == NULL) || (name == NULL)) return(NULL);
+    prop = node->properties;
+    while (prop != NULL) {
+        if ((xmlStrEqual(prop->name, name)) &&	    
+	    (prop->ns == NULL))
+	    return(prop);
+	prop = prop->next;
+    }
+    return (NULL);
+}
+
+static const xmlChar *
+xmlSchemaGetNodeContent(xmlSchemaParserCtxtPtr ctxt, xmlNodePtr node)
+{
+    xmlChar *val;
+    const xmlChar *ret;
+
+    val = xmlNodeGetContent(node);
+    if (val == NULL)
+        return(NULL);
+    ret = xmlDictLookup(ctxt->dict, val, -1);
+    xmlFree(val);
+    return(ret);    
+}
+
 /**
  * xmlSchemaGetProp:
  * @ctxt: the parser context
@@ -1648,12 +1742,12 @@
 
 /**
  * xmlSchemaAddType:
- * @ctxt:  a schema validation context
+ * @ctxt:  a schema parser context
  * @schema:  the schema being built
  * @name:  the item name
  * @namespace:  the namespace
  *
- * Add an XML schema Simple Type definition
+ * Add an XML schema item
  * *WARNING* this interface is highly subject to change
  *
  * Returns the new struture or NULL in case of error
@@ -1721,6 +1815,174 @@
 }
 
 /**
+ * xmlSchemaNewItemInternal:
+ * @ctxt:  the schema parser context
+ * @name:  the internal name of the restriction
+ *
+ * Createa an schema item
+ *
+ * Returns the new structure or NULL in case of an error.
+ */
+static xmlSchemaTypePtr
+xmlSchemaNewItemInternal(xmlSchemaParserCtxtPtr ctxt,
+                 const xmlChar * name)
+{
+    xmlSchemaTypePtr ret = NULL;
+
+    if ((ctxt == NULL) || (name == NULL))
+        return (NULL);
+
+#ifdef DEBUG
+    fprintf(stderr, "Creating item %s\n", name);
+#endif
+    ret = (xmlSchemaTypePtr) xmlMalloc(sizeof(xmlSchemaType));
+    if (ret == NULL) {
+        xmlSchemaPErrMemory(ctxt, "allocating item", NULL);
+        return (NULL);
+    }
+    memset(ret, 0, sizeof(xmlSchemaType));   
+    ret->name = xmlDictLookup(ctxt->dict, name, -1);
+    ret->minOccurs = 1;
+    ret->maxOccurs = 1;
+
+    return (ret);
+}
+
+/**
+ * xmlSchemaNewRestriction:
+ * @ctxt:  the schema parser context
+ * @name:  the internal name of the restriction
+ *
+ * Create a <restriction> item 
+ *
+ * Returns the new structure or NULL in case of an error.
+ */
+static xmlSchemaTypePtr
+xmlSchemaNewRestriction(xmlSchemaParserCtxtPtr ctxt,
+                 const xmlChar * name)
+{
+    xmlSchemaTypePtr ret;
+
+    ret = xmlSchemaNewItemInternal(ctxt, name);
+    if (ret != NULL) 
+	ret->type = XML_SCHEMA_TYPE_RESTRICTION;
+
+    return (ret);
+}
+
+/**
+ * xmlSchemaNewExtension:
+ * @ctxt:  the schema parser context
+ * @name:  the internal name of the extension
+ *
+ * Create an <extension> item 
+ *
+ * Returns the new structure or NULL in case of an error.
+ */
+static xmlSchemaTypePtr
+xmlSchemaNewExtension(xmlSchemaParserCtxtPtr ctxt,
+                 const xmlChar * name)
+{
+    xmlSchemaTypePtr ret;
+
+    ret = xmlSchemaNewItemInternal(ctxt, name);
+    if (ret != NULL) 
+	ret->type = XML_SCHEMA_TYPE_EXTENSION;
+
+    return (ret);
+}
+
+/**
+ * xmlSchemaNewSimpleContent:
+ * @ctxt:  the schema parser context
+ * @name:  the internal name of the simpleContent
+ *
+ * Create a <simpleContent> item 
+ *
+ * Returns the new structure or NULL in case of an error.
+ */
+static xmlSchemaTypePtr
+xmlSchemaNewSimpleContent(xmlSchemaParserCtxtPtr ctxt,
+                 const xmlChar * name)
+{
+    xmlSchemaTypePtr ret;
+
+    ret = xmlSchemaNewItemInternal(ctxt, name);
+    if (ret != NULL) 
+	ret->type = XML_SCHEMA_TYPE_SIMPLE_CONTENT;
+
+    return (ret);
+}
+
+/**
+ * xmlSchemaNewComplexContent:
+ * @ctxt:  the schema parser context
+ * @name:  the internal name of the complexContent
+ *
+ * Create a <complexContent> item 
+ *
+ * Returns the new structure or NULL in case of an error.
+ */
+static xmlSchemaTypePtr
+xmlSchemaNewComplexContent(xmlSchemaParserCtxtPtr ctxt,
+                 const xmlChar * name)
+{
+    xmlSchemaTypePtr ret;
+
+    ret = xmlSchemaNewItemInternal(ctxt, name);
+    if (ret != NULL) 
+	ret->type = XML_SCHEMA_TYPE_COMPLEX_CONTENT;
+
+    return (ret);
+}
+
+/**
+ * xmlSchemaNewUnion:
+ * @ctxt:  the schema parser context
+ * @name:  the internal name of the union
+ *
+ * Create an <union> item
+ * *WARNING* this interface is highly subject to change
+ *
+ * Returns the new structure or NULL in case of an error.
+ */
+static xmlSchemaTypePtr
+xmlSchemaNewUnion(xmlSchemaParserCtxtPtr ctxt,
+                 const xmlChar * name)
+{
+    xmlSchemaTypePtr ret;
+
+    ret = xmlSchemaNewItemInternal(ctxt, name);
+    if (ret != NULL) 
+	ret->type = XML_SCHEMA_TYPE_UNION;
+
+    return (ret);
+}
+
+/**
+ * xmlSchemaNewList:
+ * @ctxt:  the schema parser context
+ * @name:  the internal name of the union
+ *
+ * Create an <union> item
+ * *WARNING* this interface is highly subject to change
+ *
+ * Returns the new structure or NULL in case of an error.
+ */
+static xmlSchemaTypePtr
+xmlSchemaNewList(xmlSchemaParserCtxtPtr ctxt,
+                 const xmlChar * name)
+{
+    xmlSchemaTypePtr ret;
+
+    ret = xmlSchemaNewItemInternal(ctxt, name);
+    if (ret != NULL) 
+	ret->type = XML_SCHEMA_TYPE_LIST;
+
+    return (ret);
+}
+
+/**
  * xmlSchemaAddGroup:
  * @ctxt:  a schema validation context
  * @schema:  the schema being built
@@ -1872,7 +2134,7 @@
     ns = xmlSearchNs(node->doc, node, prefix);
     if (ns == NULL) {
         xmlSchemaPErr(ctxt, node, XML_SCHEMAP_PREFIX_UNDEFINED,
-                      "Attribute %s: the QName prefix %s is undefined\n",
+                      "Attribute \"%s\": the QName prefix \"%s\" is undefined\n",
                       (const xmlChar *) name, prefix);
     } else {
         *namespace = xmlDictLookup(ctxt->dict, ns->href, -1);
@@ -2035,6 +2297,101 @@
                            xmlSchemaPtr schema, xmlNodePtr node);
 
 /**
+ * xmlSchemaParseSchemaAttrValue:
+ * 
+ * @ctxt:  a schema parser context
+ * @attr:  the schema attribute being validated
+ * @type: the built-in type to be validated against
+ * @value: the value to be validated
+ *
+ * Validates a value against the given built-in type.
+ * This one is intended to be used internally for validation
+ * of schema attribute values during parsing of the schema.
+ *
+ * Returns 0 if the value is valid, a positive error code
+ * number otherwise and -1 in case of an internal or API error.
+ */
+static int
+xmlSchemaParseSchemaAttrValue(xmlSchemaParserCtxtPtr ctxt,
+			  xmlAttrPtr attr,
+			  xmlSchemaTypePtr type)
+{
+    const xmlChar *value;
+    int ret;    
+    
+    if ((ctxt == NULL) || (type == NULL) || (attr == NULL))
+	return (-1);
+    value = xmlSchemaGetNodeContent(ctxt, (xmlNodePtr) attr);	
+    switch (type->builtInType) {
+	case XML_SCHEMAS_NCNAME:
+	    ret = xmlValidateNCName(value, 1);
+	    break;
+	case XML_SCHEMAS_QNAME:
+	    ret = xmlValidateQName(value, 1);
+	    if ((ret == 0) && (attr != NULL)) {
+		xmlChar *uri = NULL;
+                xmlChar *local = NULL;
+		xmlChar *prefix;
+		
+		local = xmlSplitQName2(value, &prefix);
+		if (prefix != NULL) {
+		    xmlNsPtr ns;
+		    
+		    ns = xmlSearchNs(attr->doc, (xmlNodePtr) attr, prefix);
+		    if (ns == NULL) {
+			xmlSchemaPErr(ctxt, (xmlNodePtr) attr, 
+			    XML_SCHEMAP_PREFIX_UNDEFINED,
+			    "Attribute \"%s\": the QName prefix "
+			    "\"%s\" is undefined.\n",
+			    attr->name, prefix);
+			ret = 1;
+		    }
+		}
+		if (local != NULL)
+		    xmlFree(local);
+		if (prefix != NULL)
+		    xmlFree(prefix);
+	    }
+	    break;
+	default: {
+	    xmlSchemaPErr(ctxt, (xmlNodePtr) attr, 
+		    XML_SCHEMAS_ERR_INTERNAL,
+		    "Internal error: xmlSchemaParseSchemaAttrValue, validation "
+		    "using this type in not implemented yet\"%s\".\n",
+		    type->name, NULL);
+	    return (-1);
+	}
+    }                       
+    if (ret > 0) { 
+	if (type->flags & XML_SCHEMAS_TYPE_VARIETY_LIST) {
+	    xmlSchemaPErrExt(ctxt, (xmlNodePtr) attr,		
+		XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2,
+		NULL, NULL, NULL,
+		"The schema attribute \"%s\" with the value \"%s\" is not "
+		"of built-in list simple type \"%s\".\n",
+		attr->name, value, type->name, NULL, NULL);
+	} else {
+	    if (type->flags & XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE) {
+		xmlSchemaPErrExt(ctxt, (xmlNodePtr) attr, 
+		    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1,
+		    NULL, NULL, NULL,
+		    "The schema attribute \"%s\" with the value \"%s\" is not "
+		    "of built-in primitive type \"%s\".\n",
+		    attr->name, value, type->name, NULL, NULL);
+	    } else {
+		xmlSchemaPErrExt(ctxt, (xmlNodePtr) attr, 
+		    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1,
+		    NULL, NULL, NULL,
+		    "The schema attribute \"%s\" with the value \"%s\" is not "
+		    "of built-in atomic simple type \"%s\".\n",
+		    attr->name, value, type->name, NULL, NULL);
+	    }
+	}
+    }    
+    return (ret);
+}
+
+/**
  * xmlSchemaParseAttrDecls:
  * @ctxt:  a schema validation context
  * @schema:  the schema being built
@@ -2182,6 +2539,17 @@
     }
     facet->id = xmlSchemaGetProp(ctxt, node, "id");
     facet->value = value;
+    if ((facet->type != XML_SCHEMA_FACET_PATTERN) &&
+	(facet->type != XML_SCHEMA_FACET_ENUMERATION)) {
+	const xmlChar *fixed;
+
+	fixed = xmlSchemaGetProp(ctxt, node, "fixed");
+	if (fixed != NULL) {
+	    if (xmlStrEqual(fixed, BAD_CAST "true"))
+		facet->fixed = 1;
+	}
+    }
+    
     child = node->children;
 
     if (IS_SCHEMA(child, "annotation")) {
@@ -2318,18 +2686,18 @@
     processContents = xmlSchemaGetProp(ctxt, node, "processContents");
     if ((processContents == NULL)
         || (xmlStrEqual(processContents, (const xmlChar *) "strict"))) {
-        ret->processContents = XML_SCHEMAS_ANYATTR_STRICT;
+        ret->processContents = XML_SCHEMAS_ANY_STRICT;
     } else if (xmlStrEqual(processContents, (const xmlChar *) "skip")) {
-        ret->processContents = XML_SCHEMAS_ANYATTR_SKIP;
+        ret->processContents = XML_SCHEMAS_ANY_SKIP;
     } else if (xmlStrEqual(processContents, (const xmlChar *) "lax")) {
-        ret->processContents = XML_SCHEMAS_ANYATTR_LAX;
+        ret->processContents = XML_SCHEMAS_ANY_LAX;
     } else {
         xmlSchemaPErr(ctxt, node, 
                        XML_SCHEMAP_UNKNOWN_PROCESSCONTENT_CHILD,
                        "anyAttribute has unexpected content "
 		       "for processContents: %s\n",
                        processContents, NULL);
-        ret->processContents = XML_SCHEMAS_ANYATTR_STRICT;
+        ret->processContents = XML_SCHEMAS_ANY_STRICT;
     }
     /*
      * Build the namespace constraints.
@@ -2967,13 +3335,12 @@
 
 
     snprintf((char *) name, 30, "union %d", ctxt->counter++ + 1);
-    type = xmlSchemaAddType(ctxt, schema, name, NULL);
+    type = xmlSchemaNewUnion(ctxt, name);
     if (type == NULL)
         return (NULL);
     type->node = node;
-    type->type = XML_SCHEMA_TYPE_UNION;
     type->id = xmlSchemaGetProp(ctxt, node, "id");
-    type->ref = xmlSchemaGetProp(ctxt, node, "memberTypes");
+    type->base = xmlSchemaGetProp(ctxt, node, "memberTypes");
 
     child = node->children;
     if (IS_SCHEMA(child, "annotation")) {
@@ -3022,6 +3389,7 @@
     xmlSchemaTypePtr type, subtype;
     xmlNodePtr child = NULL;
     xmlChar name[30];
+    xmlAttrPtr attr;
 
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
@@ -3033,20 +3401,33 @@
     type->node = node;
     type->type = XML_SCHEMA_TYPE_LIST;
     type->id = xmlSchemaGetProp(ctxt, node, "id");
-    type->ref = xmlGetQNameProp(ctxt, node, "ref", &(type->refNs));
 
     child = node->children;
     if (IS_SCHEMA(child, "annotation")) {
         type->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
         child = child->next;
     }
-    
+    /*
+    * Check type of "itemType". 
+    */
+    attr = xmlSchemaGetPropNode(node, "itemType");
+    if (attr != NULL) {
+	type->base = xmlGetQNameProp(ctxt, node, "itemType", &(type->baseNs));
+	xmlSchemaParseSchemaAttrValue(ctxt, attr, 
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_QNAME));
+	
+    }    
     subtype = NULL;
-    if (IS_SCHEMA(child, "simpleType")) {
-        subtype = (xmlSchemaTypePtr)
-            xmlSchemaParseSimpleType(ctxt, schema, child, 0);
-        child = child->next;
-        type->subtypes = subtype;
+    if (IS_SCHEMA(child, "simpleType")) {	
+	subtype = (xmlSchemaTypePtr)
+	    xmlSchemaParseSimpleType(ctxt, schema, child, 0);
+	type->subtypes = subtype;
+	/*
+	* This is a hack to save the information that a local
+	* simple type was defined.
+	*/
+	type->baseType = subtype;
+        child = child->next;        
     }
     if (child != NULL) {
         xmlSchemaPErr2(ctxt, node, child, XML_SCHEMAP_UNKNOWN_LIST_CHILD,
@@ -3072,23 +3453,38 @@
 xmlSchemaParseSimpleType(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
                          xmlNodePtr node, int topLevel)
 {
-    xmlSchemaTypePtr type, subtype;
+    xmlSchemaTypePtr type, subtype, ctxtType;
     xmlNodePtr child = NULL;
-    const xmlChar *name;
+    const xmlChar *propVal;
 
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
 
-
-    name = xmlSchemaGetProp(ctxt, node, "name");
-    if (name == NULL) {
+    ctxtType = ctxt->ctxtType;
+    propVal = xmlSchemaGetProp(ctxt, node, "name");
+    if (propVal == NULL) {
         char buf[100];
 
         snprintf(buf, 99, "simpleType %d", ctxt->counter++ + 1);
 	type = xmlSchemaAddType(ctxt, schema, (const xmlChar *)buf, NULL);
     } else {	
-        /* local = xmlSchemaGetNamespace(ctxt, schema, node, name, &ns); */
-	type = xmlSchemaAddType(ctxt, schema, name, schema->targetNamespace);
+	if (!topLevel) {
+	    xmlSchemaPErr(ctxt, node, 
+		XML_SCHEMAP_S4S_ATTR_NOT_ALLOWED,
+		"The attribute \"name\" is not allowed on a local "
+		"simpleType definition\n",
+		propVal, NULL);
+	    return (NULL);
+	}
+	/*
+	* "name" has to be of type NCName. 
+	* TODO: Actually this should be validated by the schema for schemas.
+	*/
+	if (xmlSchemaParseSchemaAttrValue(ctxt,
+	    xmlSchemaGetPropNode(node, BAD_CAST "name"),
+	    xmlSchemaGetBuiltInType(XML_SCHEMAS_NCNAME)) != 0)
+	    return (NULL);	
+	type = xmlSchemaAddType(ctxt, schema, propVal, schema->targetNamespace);
     }
     if (type == NULL)
         return (NULL);
@@ -3097,13 +3493,57 @@
     if (topLevel) 
         type->flags |= XML_SCHEMAS_TYPE_GLOBAL;
     type->id = xmlSchemaGetProp(ctxt, node, "id");
-
+    propVal = xmlSchemaGetProp(ctxt, node, "final");
+    if (propVal == NULL) {
+	type->flags |= XML_SCHEMAS_TYPE_FINAL_DEFAULT;
+    } else {
+	if (xmlStrEqual(propVal, BAD_CAST "#all")) {
+	    type->flags |= XML_SCHEMAS_TYPE_FINAL_RESTRICTION; 
+	    type->flags |= XML_SCHEMAS_TYPE_FINAL_UNION; 
+	    type->flags |= XML_SCHEMAS_TYPE_FINAL_LIST; 
+	} else {
+	    const xmlChar *end, *cur = propVal;
+	    xmlChar *item;
+	    
+	    do {
+		while (IS_BLANK_CH(*cur))
+		    cur++;
+		end = cur;
+		while ((*end != 0) && (!(IS_BLANK_CH(*end))))
+		    end++;
+		if (end == cur)
+		    break;
+		item = xmlStrndup(cur, end - cur);    	    
+		if (xmlStrEqual(item, BAD_CAST "restriction")) {
+		    if ((type->flags & XML_SCHEMAS_TYPE_FINAL_RESTRICTION) == 0)
+			type->flags |= XML_SCHEMAS_TYPE_FINAL_RESTRICTION; 
+		} else if (xmlStrEqual(item, BAD_CAST "list")) {
+		    if ((type->flags & XML_SCHEMAS_TYPE_FINAL_LIST) == 0)
+			type->flags |= XML_SCHEMAS_TYPE_FINAL_LIST; 
+		} else if (xmlStrEqual(item, BAD_CAST "union")) {
+		    if ((type->flags & XML_SCHEMAS_TYPE_FINAL_UNION) == 0)
+			type->flags |= XML_SCHEMAS_TYPE_FINAL_UNION; 
+		} else {
+		    xmlSchemaPErr(ctxt, node, 
+			XML_SCHEMAS_ERR_INTERNAL,
+			"The attribute \"final\" of type \"%s\" "
+			"has an invalid value\n",
+			type->name, NULL);			    		    
+		}
+		if (item != NULL)
+		    xmlFree(item);
+		cur = end;
+	    } while (*cur != 0); 
+	}
+    }
     child = node->children;
     if (IS_SCHEMA(child, "annotation")) {
         type->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
         child = child->next;
     }
     subtype = NULL;
+    ctxt->ctxtType = type; 
+    ctxt->parentItem = type;
     if (IS_SCHEMA(child, "restriction")) {
         subtype = (xmlSchemaTypePtr)
             xmlSchemaParseRestriction(ctxt, schema, child, 1);
@@ -3118,19 +3558,23 @@
         child = child->next;
     }
     type->subtypes = subtype;
-    if (subtype == NULL) {
-	xmlSchemaPErr2(ctxt, node, child,
-                       XML_SCHEMAP_MISSING_SIMPLETYPE_CHILD,
-                       "SimpleType %s does not define a variety\n",
-                       type->name, NULL);
-    }
     if (child != NULL) {
         xmlSchemaPErr2(ctxt, node, child,
-                       XML_SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD,
-                       "SimpleType %s has unexpected content\n",
+                       XML_SCHEMAP_S4S_ELEM_NOT_ALLOWED,
+                       "SimpleType \"%s\" has unexpected content\n",
                        type->name, NULL);
+    } else {
+	if (subtype == NULL) {
+	    xmlSchemaPErr2(ctxt, node, child,
+		XML_SCHEMAP_S4S_ELEM_MISSING,
+		"SimpleType \"%s\" must have one of <restriction> or "
+		"<list> or <union> as a child\n",
+		type->name, NULL);
+	}
     }
 
+    ctxt->ctxtType = ctxtType;
+
     return (type);
 }
 
@@ -3347,8 +3791,6 @@
 		      schemaLocation, NULL);
 
 	xmlSchemaFreeParserCtxt(newctxt);
-	if (import->schemaLocation != NULL)
-	    xmlFree((xmlChar *)import->schemaLocation);
 	xmlFree(import);
 	return NULL;
     }
@@ -3688,6 +4130,8 @@
 	    child = child->next;
 	}
     }
+    ctxt->parentItem = NULL;
+    ctxt->ctxtType = NULL;
 }
 
 /**
@@ -3802,7 +4246,7 @@
     if (!IS_SCHEMA(root, "schema")) {
 	xmlSchemaPErr(ctxt, (xmlNodePtr) doc,
 		      XML_SCHEMAP_NOT_SCHEMA,
-		      "File %s is not a schemas", schemaLocation, NULL);
+		      "File %s is not a schema", schemaLocation, NULL);
 	xmlFreeDoc(doc);
         return (-1);
     }
@@ -4006,8 +4450,7 @@
 xmlSchemaParseRestriction(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
                           xmlNodePtr node, int simple)
 {
-    xmlSchemaTypePtr type, subtype;
-    xmlSchemaFacetPtr facet, lastfacet = NULL;
+    xmlSchemaTypePtr type, subtype;    
     xmlNodePtr child = NULL;
     xmlChar name[30];
     const xmlChar *oldcontainer;
@@ -4018,17 +4461,18 @@
     oldcontainer = ctxt->container;
 
     snprintf((char *) name, 30, "restriction %d", ctxt->counter++ + 1);
-    type = xmlSchemaAddType(ctxt, schema, name, NULL);
+    type = xmlSchemaNewRestriction(ctxt, name);
     if (type == NULL)
         return (NULL);
     type->node = node;
-    type->type = XML_SCHEMA_TYPE_RESTRICTION;
     type->id = xmlSchemaGetProp(ctxt, node, "id");
     type->base = xmlGetQNameProp(ctxt, node, "base", &(type->baseNs));
-    if ((!simple) && (type->base == NULL)) {
+    if ((type->base == NULL) && 
+	(ctxt->parentItem->type == XML_SCHEMA_TYPE_COMPLEX_CONTENT)) {
         xmlSchemaPErr2(ctxt, node, child,
-                       XML_SCHEMAP_RESTRICTION_NONAME_NOREF,
-                       "Restriction %s has no base\n", type->name, NULL);
+	    XML_SCHEMAP_RESTRICTION_NONAME_NOREF,
+	    "Restriction \"%s\" must have a \"base\" attribute.\n", 
+	    type->name, NULL);
     }
     ctxt->container = name;
 
@@ -4039,71 +4483,107 @@
     }
     subtype = NULL;
 
-    if (IS_SCHEMA(child, "all")) {
-        subtype = (xmlSchemaTypePtr)
-            xmlSchemaParseAll(ctxt, schema, child);
-        child = child->next;
-        type->subtypes = subtype;
-    } else if (IS_SCHEMA(child, "choice")) {
-        subtype = xmlSchemaParseChoice(ctxt, schema, child);
-        child = child->next;
-        type->subtypes = subtype;
-    } else if (IS_SCHEMA(child, "sequence")) {
-        subtype = (xmlSchemaTypePtr)
-            xmlSchemaParseSequence(ctxt, schema, child);
-        child = child->next;
-        type->subtypes = subtype;
-    } else if (IS_SCHEMA(child, "group")) {
-        subtype = (xmlSchemaTypePtr)
-            xmlSchemaParseGroup(ctxt, schema, child, 0);
-        child = child->next;
-        type->subtypes = subtype;
-    } else {
-        if (IS_SCHEMA(child, "simpleType")) {
-            subtype = (xmlSchemaTypePtr)
-                xmlSchemaParseSimpleType(ctxt, schema, child, 0);
-            child = child->next;
-            type->baseType = subtype;
-        }
-        /*
-         * Facets
-         */
-        while ((IS_SCHEMA(child, "minInclusive")) ||
-               (IS_SCHEMA(child, "minExclusive")) ||
-               (IS_SCHEMA(child, "maxInclusive")) ||
-               (IS_SCHEMA(child, "maxExclusive")) ||
-               (IS_SCHEMA(child, "totalDigits")) ||
-               (IS_SCHEMA(child, "fractionDigits")) ||
-               (IS_SCHEMA(child, "pattern")) ||
-               (IS_SCHEMA(child, "enumeration")) ||
-               (IS_SCHEMA(child, "whiteSpace")) ||
-               (IS_SCHEMA(child, "length")) ||
-               (IS_SCHEMA(child, "maxLength")) ||
-               (IS_SCHEMA(child, "minLength"))) {
-            facet = xmlSchemaParseFacet(ctxt, schema, child);
-            if (facet != NULL) {
-                if (lastfacet == NULL) {
-                    type->facets = facet;
-                    lastfacet = facet;
-                } else {
-                    lastfacet->next = facet;
-                    lastfacet = facet;
-                }
-                lastfacet->next = NULL;
-            }
-            child = child->next;
-        }
-    }
-    /* TODO: a restriction of simpleType does not contain any 
-     * attribute declarations.
-     */
-    child = xmlSchemaParseAttrDecls(ctxt, schema, child, type);
+    if (ctxt->parentItem->type == XML_SCHEMA_TYPE_COMPLEX_CONTENT) {
+	if (IS_SCHEMA(child, "all")) {
+	    subtype = (xmlSchemaTypePtr)
+		xmlSchemaParseAll(ctxt, schema, child);
+	    child = child->next;
+	    type->subtypes = subtype;
+	} else if (IS_SCHEMA(child, "choice")) {
+	    subtype = xmlSchemaParseChoice(ctxt, schema, child);
+	    child = child->next;
+	    type->subtypes = subtype;
+	} else if (IS_SCHEMA(child, "sequence")) {
+	    subtype = (xmlSchemaTypePtr)
+		xmlSchemaParseSequence(ctxt, schema, child);
+	    child = child->next;
+	    type->subtypes = subtype;
+	} else if (IS_SCHEMA(child, "group")) {
+	    subtype = (xmlSchemaTypePtr)
+		xmlSchemaParseGroup(ctxt, schema, child, 0);
+	    child = child->next;
+	    type->subtypes = subtype;
+	}
+    } else if ((ctxt->ctxtType->type == XML_SCHEMA_TYPE_SIMPLE) ||
+	(ctxt->parentItem->type == XML_SCHEMA_TYPE_SIMPLE_CONTENT)) {
+	xmlSchemaFacetPtr facet, lastfacet = NULL;	
+	
+	if (IS_SCHEMA(child, "simpleType")) {
+	    subtype = (xmlSchemaTypePtr)
+		xmlSchemaParseSimpleType(ctxt, schema, child, 0);
+	    /* 
+	    * For the simple type this serves as the base type.
+	    */
+	    type->baseType = subtype;
+	    /* 
+	    * For the complex type this serves as information for the 
+	    * definition of the content type.
+	    * Additionally this is a hack for the simple type, to save 
+	    * the information that a local simple type was defined; thus
+	    * allowing to check: src-restriction-base-or-simpleType.
+	    */
+	    type->subtypes = subtype;
+	    child = child->next;
+	}
+	/*
+	* Add the facets to the parent simpleType/complexType.
+	*/
+	while ((IS_SCHEMA(child, "minInclusive")) ||
+	    (IS_SCHEMA(child, "minExclusive")) ||
+	    (IS_SCHEMA(child, "maxInclusive")) ||
+	    (IS_SCHEMA(child, "maxExclusive")) ||
+	    (IS_SCHEMA(child, "totalDigits")) ||
+	    (IS_SCHEMA(child, "fractionDigits")) ||
+	    (IS_SCHEMA(child, "pattern")) ||
+	    (IS_SCHEMA(child, "enumeration")) ||
+	    (IS_SCHEMA(child, "whiteSpace")) ||
+	    (IS_SCHEMA(child, "length")) ||
+	    (IS_SCHEMA(child, "maxLength")) ||
+	    (IS_SCHEMA(child, "minLength"))) {
+	    facet = xmlSchemaParseFacet(ctxt, schema, child);
+	    if (facet != NULL) {
+		if (lastfacet == NULL)
+		    ctxt->ctxtType->facets = facet;			
+		else
+		    lastfacet->next = facet;
+		lastfacet = facet;
+		lastfacet->next = NULL;
+	    }
+	    child = child->next;
+	}
+	/*
+	* Create links for derivation and validation.
+	*/	    
+	if (lastfacet != NULL) {
+	    xmlSchemaFacetLinkPtr facetLink, lastFacetLink = NULL;
+
+	    facet = ctxt->ctxtType->facets;
+	    do {		    
+		facetLink = (xmlSchemaFacetLinkPtr) xmlMalloc(sizeof(xmlSchemaFacetLink));
+		if (facetLink == NULL) {
+		    xmlSchemaPErrMemory(ctxt, "allocation a facet link", NULL);
+		    xmlFree(facetLink);
+		    return (NULL);
+		}	
+		facetLink->facet = facet;
+		facetLink->next = NULL;
+		if (lastFacetLink == NULL) 
+		    ctxt->ctxtType->facetSet = facetLink;			                                         
+		else
+		    lastFacetLink->next = facetLink;
+		lastFacetLink = facetLink;
+		facet = facet->next;
+	    } while (facet != NULL);
+	}
+    }    
+    if (ctxt->ctxtType->type == XML_SCHEMA_TYPE_COMPLEX)
+	child = xmlSchemaParseAttrDecls(ctxt, schema, child, type);	
     if (child != NULL) {
-        xmlSchemaPErr2(ctxt, node, child,
-                       XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD,
-                       "Restriction %s has unexpected content\n",
-                       type->name, NULL);
-    }
+	xmlSchemaPErr2(ctxt, node, child,
+	    XML_SCHEMAP_UNKNOWN_RESTRICTION_CHILD,
+	    "Restriction \"%s\" has unexpected content.\n",
+	    type->name, NULL);
+    }   
     ctxt->container = oldcontainer;
     return (type);
 }
@@ -4134,11 +4614,10 @@
     oldcontainer = ctxt->container;
 
     snprintf((char *) name, 30, "extension %d", ctxt->counter++ + 1);
-    type = xmlSchemaAddType(ctxt, schema, name, NULL);
+    type = xmlSchemaNewExtension(ctxt, name);
     if (type == NULL)
         return (NULL);
     type->node = node;
-    type->type = XML_SCHEMA_TYPE_EXTENSION;
     type->id = xmlSchemaGetProp(ctxt, node, "id");
     ctxt->container = name;
 
@@ -4203,11 +4682,10 @@
         return (NULL);
 
     snprintf((char *) name, 30, "simpleContent %d", ctxt->counter++ + 1);
-    type = xmlSchemaAddType(ctxt, schema, name, NULL);
+    type = xmlSchemaNewSimpleContent(ctxt, name);
     if (type == NULL)
         return (NULL);
     type->node = node;
-    type->type = XML_SCHEMA_TYPE_SIMPLE_CONTENT;
     type->id = xmlSchemaGetProp(ctxt, node, "id");
 
     child = node->children;
@@ -4215,7 +4693,8 @@
         type->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
         child = child->next;
     }
-    subtype = NULL;
+    ctxt->parentItem = type;
+    subtype = NULL;    
     if (IS_SCHEMA(child, "restriction")) {
         subtype = (xmlSchemaTypePtr)
             xmlSchemaParseRestriction(ctxt, schema, child, 0);
@@ -4257,13 +4736,11 @@
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
 
-
     snprintf((char *) name, 30, "complexContent %d", ctxt->counter++ + 1);
-    type = xmlSchemaAddType(ctxt, schema, name, NULL);
+    type = xmlSchemaNewComplexContent(ctxt, name);   
     if (type == NULL)
         return (NULL);
-    type->node = node;
-    type->type = XML_SCHEMA_TYPE_COMPLEX_CONTENT;
+    type->node = node;    
     type->id = xmlSchemaGetProp(ctxt, node, "id");
 
     child = node->children;
@@ -4271,6 +4748,7 @@
         type->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
         child = child->next;
     }
+    ctxt->parentItem = type;
     subtype = NULL;
     if (IS_SCHEMA(child, "restriction")) {
         subtype = (xmlSchemaTypePtr)
@@ -4306,7 +4784,7 @@
 xmlSchemaParseComplexType(xmlSchemaParserCtxtPtr ctxt, xmlSchemaPtr schema,
                           xmlNodePtr node, int topLevel)
 {
-    xmlSchemaTypePtr type, subtype;
+    xmlSchemaTypePtr type, subtype, ctxtType;
     xmlNodePtr child = NULL;
     const xmlChar *name;
     const xmlChar *oldcontainer;    
@@ -4315,6 +4793,8 @@
     if ((ctxt == NULL) || (schema == NULL) || (node == NULL))
         return (NULL);
 
+    ctxtType = ctxt->ctxtType;
+
     oldcontainer = ctxt->container;
     name = xmlSchemaGetProp(ctxt, node, "name");
     if (name == NULL) {
@@ -4344,6 +4824,7 @@
         type->annot = xmlSchemaParseAnnotation(ctxt, schema, child);
         child = child->next;
     }
+    ctxt->ctxtType = type;
     if (IS_SCHEMA(child, "simpleContent")) {
 	/* 3.4.3 : 2.2  
 	 * Specifying mixed='true' when the <simpleContent>
@@ -4385,6 +4866,7 @@
     if (type->attributeWildcard != NULL)
 	type->flags |= XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD;
     ctxt->container = oldcontainer;
+    ctxt->ctxtType = ctxtType;
     return (type);
 }
 
@@ -4435,7 +4917,10 @@
                                val, NULL);
             }
         } else {
-	    schema->flags |= XML_SCHEMAS_QUALIF_ELEM;
+	    /* Removed, since the default value for elementFormDefault
+	    * is "unqualified".
+	    */
+	    /* schema->flags |= XML_SCHEMAS_QUALIF_ELEM; */
 	}
         val = xmlSchemaGetProp(ctxt, node, "attributeFormDefault");
         if (val != NULL) {
@@ -4449,6 +4934,51 @@
             }
         } 
 
+	val = xmlSchemaGetProp(ctxt, node, "finalDefault");
+	if (val != NULL) {
+	    if (xmlStrEqual(val, BAD_CAST "#all")) {
+		schema->flags |= XML_SCHEMAS_FINAL_DEFAULT_EXTENSION; 
+		schema->flags |= XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION; 
+		schema->flags |= XML_SCHEMAS_FINAL_DEFAULT_LIST; 
+		schema->flags |= XML_SCHEMAS_FINAL_DEFAULT_UNION; 		
+	    } else {
+		const xmlChar *end, *cur = val;
+		xmlChar *item;
+		
+		do {
+		    while (IS_BLANK_CH(*cur))
+			cur++;
+		    end = cur;
+		    while ((*end != 0) && (!(IS_BLANK_CH(*end))))
+			end++;
+		    if (end == cur)
+			break;
+		    item = xmlStrndup(cur, end - cur);    	    
+		    if (xmlStrEqual(item, BAD_CAST "extension")) {
+			if ((schema->flags & XML_SCHEMAS_FINAL_DEFAULT_EXTENSION) == 0)
+			    schema->flags |= XML_SCHEMAS_FINAL_DEFAULT_EXTENSION; 
+		    } else if (xmlStrEqual(item, BAD_CAST "restriction")) {
+			if ((schema->flags & XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION) == 0)
+			    schema->flags |= XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION; 
+		    } else if (xmlStrEqual(item, BAD_CAST "list")) {
+			if ((schema->flags & XML_SCHEMAS_FINAL_DEFAULT_LIST) == 0)
+			    schema->flags |= XML_SCHEMAS_FINAL_DEFAULT_LIST; 
+		    } else if (xmlStrEqual(item, BAD_CAST "union")) {
+			if ((schema->flags & XML_SCHEMAS_FINAL_DEFAULT_UNION) == 0)
+			    schema->flags |= XML_SCHEMAS_FINAL_DEFAULT_UNION; 
+		    } else {
+			xmlSchemaPErr(ctxt, node, 
+			    XML_SCHEMAS_ERR_INTERNAL,
+			    "Invalid value for the attribute \"finalDefault\".\n",
+			    NULL, NULL);			    		    
+		    }
+		    if (item != NULL)
+			xmlFree(item);
+		    cur = end;
+		} while (*cur != 0); 
+	    }
+	}
+
         xmlSchemaParseSchemaTopLevel(ctxt, schema, node->children);
     } else {
         xmlDocPtr doc;
@@ -4632,6 +5162,7 @@
         case XML_SCHEMA_TYPE_ANY:
             /* TODO : handle the namespace too */
             /* TODO : make that a specific transition type */
+	    /* Daniel says: use xmlAutomataNewTransition2 */
             TODO ctxt->state =
                 xmlAutomataNewTransition(ctxt->am, ctxt->state, NULL,
                                          BAD_CAST "*", NULL);
@@ -5102,9 +5633,12 @@
         elemDecl = xmlSchemaGetElem(ctxt->schema, elem->ref, elem->refNs, 0);
 
         if (elemDecl == NULL) {
-            xmlSchemaPErr(ctxt, elem->node, XML_SCHEMAP_UNKNOWN_REF,
-                          "Schemas: element %s ref to %s not found\n",
-                          name, elem->ref);
+            xmlSchemaPErr(ctxt, elem->node, 
+		XML_SCHEMAP_SRC_RESOLVE,
+		"Element \"%s\": the QName \"%s\" of the attribute "
+		"\"ref\" does not resolve to a schema "
+		"component.\n",
+		name, elem->ref);
             return;
         }
         elem->refDecl = elemDecl;
@@ -5121,9 +5655,11 @@
                                     elem->namedTypeNs);
 
         if (typeDecl == NULL) {
-            xmlSchemaPErr(ctxt, elem->node, XML_SCHEMAP_UNKNOWN_TYPE,
-                          "Schemas: element %s type %s not found\n", name,
-                          elem->namedType);
+            xmlSchemaPErr(ctxt, elem->node, 
+		XML_SCHEMAP_SRC_RESOLVE,
+		"Element \"%s\": the QName \"%s\" of the attribute "
+		"\"type\" does not resolve to a schema "
+		"component.\n", name, elem->namedType);
             return;
         }
         elem->subtypes = typeDecl;
@@ -5139,29 +5675,38 @@
  */
 static void
 xmlSchemaParseListRefFixup(xmlSchemaTypePtr type, xmlSchemaParserCtxtPtr ctxt)
-{
-    const xmlChar *itemType, *namespace;
-    xmlSchemaTypePtr subtype;
-    
-    /* Handle the "itemType" attribute. */
-    itemType = xmlGetQNameProp(ctxt, type->node, "itemType", &namespace);
-    if (itemType != NULL) {
-        /* Do not allow more that one item type. */
-        if (type->subtypes != NULL) {
-            xmlSchemaPErr(ctxt, type->node,
-	    		  XML_SCHEMAP_SUPERNUMEROUS_LIST_ITEM_TYPE,
-                          "List %s has more than one item type defined\n",
-			  type->name, NULL);
-        }
-        subtype = xmlSchemaGetType(ctxt->schema, itemType, namespace);
-        if (subtype == NULL) {
+{    
+    /*
+    * src-list-itemType-or-simpleType
+    * Either the itemType [attribute] or the <simpleType> [child] of 
+    * the <list> element must be present, but not both. 
+    */
+    if (((type->base == NULL) && 
+	 (type->subtypes == NULL)) ||
+	((type->base != NULL) &&
+	 (type->subtypes != NULL))) {	
+	/* 
+	* src-restriction-base-or-simpleType
+	* Either the base [attribute] or the simpleType [child] of the 
+	* <restriction> element must be present, but not both. 
+	*/
+	xmlSchemaPErr(ctxt, type->node,
+	    XML_SCHEMAP_SRC_LIST_ITEMTYPE_OR_SIMPLETYPE,
+	    "List \"%s\": "
+	    "Either the \"base\" attribute or the <simpleType> child "
+	    "must be present, but not both.\n",
+	    type->name, NULL);
+    } else if (type->base!= NULL) {        	
+        type->subtypes = xmlSchemaGetType(ctxt->schema, type->base, type->baseNs);
+        if (type->subtypes == NULL) {
             xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_UNKNOWN_TYPE,
-                          "List %s references an unknown item type: %s\n",
-                          type->name, xmlSchemaGetProp(ctxt, type->node,
-			  "itemType"));
-        } else
-            type->subtypes = subtype;
-    }
+                          "List \"%s\" references an unknown item type: \"%s\"\n",
+                          type->name, type->base);
+        }
+    }               
+    if ((type->subtypes != NULL) && 
+	(type->subtypes->contentType == XML_SCHEMA_CONTENT_UNKNOWN))
+	xmlSchemaTypeFixup(type->subtypes, ctxt, NULL);
 }
 
 /**
@@ -5169,60 +5714,170 @@
  * @typeDecl:  the schema type definition
  * @ctxt:  the schema parser context
  *
- * Checks the memberTypes references of the union type.
+ * Checks and builds the memberTypes of the union type.
+ * Returns -1 in case of an internal error, 0 otherwise.
  */
-static void
+static int
 xmlSchemaParseUnionRefCheck(xmlSchemaTypePtr type,
                    xmlSchemaParserCtxtPtr ctxt)
 {
     const xmlChar *cur, *end, *prefix, *ncName, *namespace;
     xmlChar *tmp;
-    xmlSchemaTypePtr subtype;
+    xmlSchemaTypeLinkPtr link, lastLink = NULL, prevLink, subLink, newLink;
+    xmlSchemaTypePtr memberType, ctxtType;
     xmlNsPtr ns;
     int len;
 
-     if ((type->type != XML_SCHEMA_TYPE_UNION) || (type->ref == NULL))
-        return;
+    /* 1 If the <union> alternative is chosen, then [Definition:]  
+    * define the explicit members as the type definitions ·resolved· 
+    * to by the items in the ·actual value· of the memberTypes [attribute], 
+    * if any, followed by the type definitions corresponding to the 
+    * <simpleType>s among the [children] of <union>, if any. 
+    */   
 
-    cur = type->ref;
-    do {
-        while (IS_BLANK_CH(*cur))
-            cur++;
-        end = cur;
-        while ((*end != 0) && (!(IS_BLANK_CH(*end))))
-            end++;
-        if (end == cur)
-            break;
-        tmp = xmlStrndup(cur, end - cur);
-        ncName = xmlSplitQName3(tmp, &len);
-        if (ncName != NULL) {
-            prefix = xmlDictLookup(ctxt->dict, tmp, len);
-        } else {
-            prefix = NULL;
-            ncName = tmp;
-        }
-        ns = xmlSearchNs(type->node->doc, type->node, prefix);
-        if (ns == NULL) {
-            if (prefix != NULL) {
-                xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_PREFIX_UNDEFINED,
-                              "Union %s: the namespace prefix of member type "
-			      "%s is undefined\n",
-                              type->name, (const xmlChar *) tmp);
-            }
-            namespace = NULL;
-        } else {
-            namespace = xmlDictLookup(ctxt->dict, ns->href, -1);
-        }
-        /* Lookup the referenced type */
-        subtype = xmlSchemaGetType(ctxt->schema, ncName, namespace);
-        if (subtype == NULL) {
-            xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_UNKNOWN_MEMBER_TYPE,
-                       "Union %s references an unknown member type %s\n",
-                       type->name,  (const xmlChar *) tmp);
-        } 
-        xmlFree(tmp);
-        cur = end;
-    } while (*cur != 0);    
+    if (type->type != XML_SCHEMA_TYPE_UNION)
+        return (-1);
+    if (ctxt->ctxtType == NULL) {
+	xmlSchemaPErr(ctxt, type->node,
+	    XML_SCHEMAS_ERR_INTERNAL,
+	    "Internal error: xmlSchemaParseUnionRefCheck, no parent type "
+	    "available", NULL, NULL);
+	return (-1);
+    }
+    /*
+    * src-union-memberTypes-or-simpleTypes
+    * Either the memberTypes [attribute] of the <union> element must 
+    * be non-empty or there must be at least one simpleType [child]. 
+    */
+    if ((type->base == NULL) && 
+	(type->subtypes == NULL)) {
+	/* 
+	* src-restriction-base-or-simpleType
+	* Either the base [attribute] or the simpleType [child] of the 
+	* <restriction> element must be present, but not both. 
+	*/
+	xmlSchemaPErr(ctxt, type->node,
+	    XML_SCHEMAP_SRC_UNION_MEMBERTYPES_OR_SIMPLETYPES,
+	    "Union \"%s\": "
+	    "Either the \"memberTypes\" attribute must be non-empty "
+	    "or there must be at least one <simpleType> child.\n",
+	    type->name, NULL);
+    } 
+	
+    ctxtType = ctxt->ctxtType;
+    if (type->base != NULL) {
+	cur = type->base;
+	do {
+	    while (IS_BLANK_CH(*cur))
+		cur++;
+	    end = cur;
+	    while ((*end != 0) && (!(IS_BLANK_CH(*end))))
+		end++;
+	    if (end == cur)
+		break;
+	    tmp = xmlStrndup(cur, end - cur);
+	    ncName = xmlSplitQName3(tmp, &len);
+	    if (ncName != NULL) {
+		prefix = xmlDictLookup(ctxt->dict, tmp, len);
+	    } else {
+		prefix = NULL;
+		ncName = tmp;
+	    }
+	    ns = xmlSearchNs(type->node->doc, type->node, prefix);
+	    if (ns == NULL) {
+		if (prefix != NULL) {
+		    xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_PREFIX_UNDEFINED,
+			"Union \"%s\": the namespace prefix of member type "
+			"\"%s\" is undefined\n",
+			type->name, (const xmlChar *) tmp);
+		}
+		namespace = NULL;
+	    } else {
+		namespace = xmlDictLookup(ctxt->dict, ns->href, -1);
+	    }        
+	    memberType = xmlSchemaGetType(ctxt->schema, ncName, namespace);
+	    if (memberType == NULL) {
+		xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_UNKNOWN_MEMBER_TYPE,
+		    "Union \"%s\" references an unknown member type \"%s\".\n",
+		    type->name,  (const xmlChar *) tmp);
+	    } else {
+		if (memberType->contentType == XML_SCHEMA_CONTENT_UNKNOWN) 
+		    xmlSchemaTypeFixup(memberType, ctxt, NULL);	    
+		link = (xmlSchemaTypeLinkPtr) xmlMalloc(sizeof(xmlSchemaTypeLink));
+		if (link == NULL) {
+		    xmlSchemaPErrMemory(ctxt, "allocating a type link", NULL);
+		    return (-1);
+		}
+		link->type = memberType;
+		link->next = NULL;
+		if (lastLink == NULL)
+		    ctxtType->memberTypes = link;		    
+		else 
+		    lastLink->next = link;
+		lastLink = link;	    
+	    }
+	    xmlFree(tmp);
+	    cur = end;
+	} while (*cur != 0); 
+    }
+    /*
+    * Add local simple types,
+    */    
+    memberType = type->subtypes;
+    while (memberType != NULL) {
+	if (memberType->contentType == XML_SCHEMA_CONTENT_UNKNOWN)
+	    xmlSchemaTypeFixup(memberType, ctxt, NULL);	    
+	link = (xmlSchemaTypeLinkPtr) xmlMalloc(sizeof(xmlSchemaTypeLink));
+	if (link == NULL) {
+	    xmlSchemaPErrMemory(ctxt, "allocating a type link", NULL);
+	    return (-1);
+	}
+	link->type = memberType;
+	link->next = NULL;
+	if (lastLink == NULL)
+	    ctxtType->memberTypes = link;		    
+	else 
+	    lastLink->next = link;
+	lastLink = link;
+	memberType = memberType->next;
+    }    
+    /*
+    * The actual value is then formed by replacing any union type 
+    * definition in the ·explicit members· with the members of their 
+    * {member type definitions}, in order.
+    */
+    link = ctxtType->memberTypes;
+    while (link != NULL) {
+	if (link->type->flags & XML_SCHEMAS_TYPE_VARIETY_UNION) {
+	    subLink = link->type->memberTypes;	    
+	    if (subLink != NULL) {		
+		link->type = subLink->type;
+		if (subLink->next != NULL) {
+		    lastLink = link->next;
+		    subLink = subLink->next;		
+		    prevLink = link;
+		    while (subLink != NULL) {		    
+			newLink = (xmlSchemaTypeLinkPtr) 
+			    xmlMalloc(sizeof(xmlSchemaTypeLink));
+			if (newLink == NULL) {
+			    xmlSchemaPErrMemory(ctxt, "allocating a type link", 
+				NULL);
+			    return (-1);
+			}
+			newLink->type = memberType;	    
+			prevLink->next = newLink;
+			prevLink = newLink;
+			newLink->next = lastLink;
+			
+			subLink = subLink->next;
+		    }
+		}
+	    }
+	}
+	link = link->next;
+    }    
+
+    return (0);
 }
 
 /**
@@ -5282,9 +5937,9 @@
 				  xmlSchemaTypePtr type, int valType)
 {
     /* TODO: Check if this works in every case. */
-	if ((type->type == XML_SCHEMA_TYPE_BASIC) &&
+    if ((type->type == XML_SCHEMA_TYPE_BASIC) &&
 		(type->contentType == XML_SCHEMA_CONTENT_BASIC)) {
-		if (type->flags == valType)
+		if (type->builtInType == valType)
 			return(1);
     } else if (type->type == XML_SCHEMA_TYPE_ATTRIBUTE) {
 	if (((xmlSchemaAttributePtr) type)->subtypes != NULL) 
@@ -5308,6 +5963,26 @@
 }
 
 /**
+ * xmlSchemaIsDerivedFromBuiltInType:
+ * @type:  the simpleType definition
+ *
+ * Returns the primitive type of the given type or
+ * NULL in case of error.
+ */
+static xmlSchemaTypePtr
+xmlSchemaGetPrimitiveType(xmlSchemaTypePtr type)
+{
+    while (type != NULL) {
+	if (type->flags & XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE)
+	    return (type);
+	type = type->baseType;
+    }
+
+    return (NULL);
+}
+
+
+/**
  * xmlSchemaBuildAttributeUsesOwned:
  * @ctxt:  the schema parser context
  * @type:  the complex type definition
@@ -6026,8 +6701,10 @@
     xmlSchemaAttributeLinkPtr cur, base, tmp, id = NULL, prev = NULL, uses = NULL, 
 	lastUse = NULL, lastBaseUse = NULL;
     xmlSchemaAttributePtr attrs;
+    xmlSchemaTypePtr anyType;
     int baseIsAnyType = 0;
 
+    anyType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYTYPE);
     /* 
      * Complex Type Definition with complex content Schema Component.
      *
@@ -6035,29 +6712,37 @@
      */
     if (type->attributeUses != NULL) {
         xmlSchemaPErr(ctxt, type->node, XML_SCHEMAS_ERR_INTERNAL,
-		      "Internal error: xmlSchemaParseBuildAttributeUses: "
+		      "Internal error: xmlSchemaBuildAttributeValidation: "
 		      "attribute uses already builded.\n",
 		      NULL, NULL);
         return (-1);
     }
+    if (type->baseType == NULL) {
+        xmlSchemaPErr(ctxt, type->node, XML_SCHEMAS_ERR_INTERNAL,
+		      "Internal error: xmlSchemaBuildAttributeValidation: "
+		      "complex type \"%s\" has no base type.\n",
+		      type->name, NULL);
+        return (-1);
+    }
     if ((type->flags & XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION) || 
 	(type->flags & XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION)) {	
-	
+		
+	baseType = type->baseType;
+	if (baseType == NULL) {
+	    xmlSchemaPErr(ctxt, type->node, XML_SCHEMAS_ERR_INTERNAL,
+		"Internal error: xmlSchemaBuildAttributeValidation: "
+		"type has no base type.\n",
+		NULL, NULL);
+	    return (-1);
+	}
+
+	if (baseType == anyType)
+	    baseIsAnyType = 1;
 	/*
 	 * Inherit the attribute uses of the base type.
 	 */
-	baseType = type->subtypes->subtypes->baseType;
 	/*
-	 * TODO: URGENT: This is not nice, but currently 
-	 * xmlSchemaTypeAnyTypeDef is static in xmlschematypes.c.
-	 */
-	if ((baseType->type == XML_SCHEMA_TYPE_BASIC) &&
-	    xmlStrEqual(baseType->name, BAD_CAST "anyType")) {	    
-	    baseIsAnyType = 1;
-	}
-	/*
-	 * TODO: Does the spec state that it is an error to "extend" the 
-	 * anyType?
+	 * NOTE: It is allowed to "extend" the anyType complex type.
 	 */
 	if (!baseIsAnyType) {
 	    if (baseType != NULL) {
@@ -6079,26 +6764,45 @@
 		}
 	    }
 	}
-	attrs = type->subtypes->subtypes->attributes;	
+	if ((type->subtypes != NULL) && 
+	    ((type->subtypes->type == XML_SCHEMA_TYPE_COMPLEX_CONTENT) || 
+	     (type->subtypes->type == XML_SCHEMA_TYPE_SIMPLE_CONTENT))) {
+	    attrs = type->subtypes->subtypes->attributes;
+	    type->attributeWildcard = type->subtypes->subtypes->attributeWildcard;
+	} else {
+	    /* Short hand form of the complexType. */
+	    attrs = type->attributes;
+	}
 	/*
 	* Handle attribute wildcards.
 	*/	
-	type->attributeWildcard = type->subtypes->subtypes->attributeWildcard;
-
 	if (xmlSchemaBuildCompleteAttributeWildcard(ctxt, 
-	    attrs, &type->attributeWildcard) == -1) {
+	    attrs, &type->attributeWildcard) == -1) {	    
 	    if ((type->attributeWildcard != NULL) &&
-		(type->attributeWildcard != type->subtypes->subtypes->attributeWildcard))
+		/* Either we used the short hand form... */
+		((type->subtypes == NULL) ||
+		/* Or complexType -> restriction/extension */
+		(type->attributeWildcard != type->subtypes->subtypes->attributeWildcard)))
 		type->flags |= XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD;
 	    return (-1);
 	}
+	/*
+	* TODO: This "onwed_attr_wildcard" is quite sensless: we should
+	* create the wildcard right from the start on the complexType,
+	* rather than on the <restriction>/<extension>.
+	*/
 	if ((type->attributeWildcard != NULL) &&
-	    (type->attributeWildcard != type->subtypes->subtypes->attributeWildcard))
+	    /* Either we used the short hand form... */
+	    ((type->subtypes == NULL) ||
+	    /* Or complexType -> restriction/extension */
+	    (type->attributeWildcard != type->subtypes->subtypes->attributeWildcard)))
 	    type->flags |= XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD;
 
 	if ((type->flags & XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION) && 
-	    (baseType != NULL) && (baseType->type == XML_SCHEMA_TYPE_COMPLEX) && 
-	    (baseType->attributeWildcard != NULL)) {	    
+	    ((baseIsAnyType) ||
+	     ((baseType != NULL) && 	    
+	      (baseType->type == XML_SCHEMA_TYPE_COMPLEX) &&	      
+	      (baseType->attributeWildcard != NULL)))) {	    
 	    if (type->attributeWildcard != NULL) {
 		/*
 		* Union the complete wildcard with the base wildcard.
@@ -6113,70 +6817,75 @@
 		type->attributeWildcard = baseType->attributeWildcard;
 	    }
 	}
-	if (!baseIsAnyType) {
-	    if (type->flags & XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION) {
-		if (type->attributeWildcard != NULL) {
-		    /* 
-		    * Derivation Valid (Restriction, Complex) 	    
-		    * 4.1 The {base type definition} must also have one. 
-		    */
-		    if (baseType->attributeWildcard == NULL) {	    
-			xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1,
-			    "The derived type \"%s\" has an attribute wildcard, "
-			    "but the base type \"%s\" does not have one.\n",
-			    type->name, baseType->name);
-			return (1);
-		    } else if (xmlSchemaIsWildcardNsConstraintSubset(ctxt, 
-			type->attributeWildcard, baseType->attributeWildcard) == 0) {
-			/* 4.2 */
-			xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2,
-			    "The wildcard in the derived type \"%s\" is not a valid " 
-			    "subset of the one in the base type \"%s\".\n",
-			    type->name, baseType->name);	    
-			return (1);
-		    }
-		    /* 4.3 Unless the {base type definition} is the ·ur-type 
-		    * definition·, the complex type definition's {attribute 
-		    * wildcard}'s {process contents} must be identical to or 
-		    * stronger than the {base type definition}'s {attribute 
-		    * wildcard}'s {process contents}, where strict is stronger 
-		    * than lax is stronger than skip.
-		    */
-		    if (type->attributeWildcard->processContents < 
-			baseType->attributeWildcard->processContents) {
-			xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3,
-			    "The process contents of the wildcard in the "
-			    "derived type \"%s\" is weaker than " 
-			    "that in the base type \"%s\".\n",
-			    type->name, baseType->name);
-			return (1);
-		    }
-		}
-	    } else if (type->flags & XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION) {
-		/*
-		* Derivation Valid (Extension)
-		* At this point the type and the base have both, either
-		* no wildcard or a wildcard.
+	
+	if (type->flags & XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION) {
+	    if (type->attributeWildcard != NULL) {
+		/* 
+		* Derivation Valid (Restriction, Complex) 	    
+		* 4.1 The {base type definition} must also have one. 
 		*/
-		if ((baseType->attributeWildcard != NULL) &&
-		    (baseType->attributeWildcard != type->attributeWildcard)) {
-		    /* 1.3 */
-		    if (xmlSchemaIsWildcardNsConstraintSubset(ctxt, 
-			baseType->attributeWildcard, type->attributeWildcard) == 0) {
-			xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_COS_CT_EXTENDS_1_3,
-			    "The wildcard in the derived type \"%s\" is not a valid " 
-			    "superset of the one in the base type \"%s\".\n",
-			    type->name, baseType->name);
-			return (1);		
-		    }
-		}		
+		if (baseType->attributeWildcard == NULL) {	    
+		    xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_1,
+			"The derived type \"%s\" has an attribute wildcard, "
+			"but the base type \"%s\" does not have one.\n",
+			type->name, baseType->name);
+		    return (1);
+		} else if (xmlSchemaIsWildcardNsConstraintSubset(ctxt, 
+		    type->attributeWildcard, baseType->attributeWildcard) == 0) {
+		    /* 4.2 */
+		    xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_2,
+			"The wildcard in the derived type \"%s\" is not a valid " 
+			"subset of the one in the base type \"%s\".\n",
+			type->name, baseType->name);	    
+		    return (1);
+		}
+		/* 4.3 Unless the {base type definition} is the ·ur-type 
+		* definition·, the complex type definition's {attribute 
+		* wildcard}'s {process contents} must be identical to or 
+		* stronger than the {base type definition}'s {attribute 
+		* wildcard}'s {process contents}, where strict is stronger 
+		* than lax is stronger than skip.
+		*/
+		if ((type->baseType != anyType) && 
+		    (type->attributeWildcard->processContents < 
+		    baseType->attributeWildcard->processContents)) {
+		    xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_DERIVATION_OK_RESTRICTION_4_3,
+			"The process contents of the wildcard in the "
+			"derived type \"%s\" is weaker than " 
+			"that in the base type \"%s\".\n",
+			type->name, baseType->name);
+		    return (1);
+		}
 	    }
-	}
-    } else {
-	/*
+	} else if (type->flags & XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION) {
+	    /*
+	    * Derivation Valid (Extension)
+	    * At this point the type and the base have both, either
+	    * no wildcard or a wildcard.
+	    */
+	    if ((baseType->attributeWildcard != NULL) &&
+		(baseType->attributeWildcard != type->attributeWildcard)) {
+		/* 1.3 */
+		if (xmlSchemaIsWildcardNsConstraintSubset(ctxt, 
+		    baseType->attributeWildcard, type->attributeWildcard) == 0) {
+		    xmlSchemaPErr(ctxt, type->node, XML_SCHEMAP_COS_CT_EXTENDS_1_3,
+			"The wildcard in the derived type \"%s\" is not a valid " 
+			"superset of the one in the base type \"%s\".\n",
+			type->name, baseType->name);
+		    return (1);		
+		}
+	    }		
+	}	
+    } 
+    /*
+    * Removed, since anyType was plugged into the derivation hierarchy.
+    */
+    /*
+    else {
+	*
 	 * Although the complexType is implicitely derived by "restriction"
 	 * from the ur-type, this is not (yet?) reflected by libxml2.
-	 */
+	 *
 	baseType = NULL;
 	attrs = type->attributes;
 	if (attrs != NULL) {
@@ -6191,7 +6900,7 @@
 		((type->flags & XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD) == 0))
 		type->flags |= XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD;
 	}
-    }
+    } */
     /*
      * Gather attribute uses defined by this type.
      */
@@ -6384,11 +7093,7 @@
 	    * not have {type definition}s which are or are derived from ID.
 	    */
 	    if ((cur->attr->subtypes != NULL) && 
-		/*
-		* TODO: FIXME: XML_SCHEMAS_ID should be used instead of "23" !!!, 
-		* but the xmlSchemaValType is not made public yet.
-		*/
-		(xmlSchemaIsDerivedFromBuiltInType(ctxt, (xmlSchemaTypePtr) cur->attr, 23))) {
+		(xmlSchemaIsDerivedFromBuiltInType(ctxt, (xmlSchemaTypePtr) cur->attr, XML_SCHEMAS_ID))) {
 		if (id != NULL) {
 		    xmlSchemaPErr(ctxt, cur->attr->node, XML_SCHEMAP_CT_PROPS_CORRECT_5, 
 			"ct-props-correct.5: Two attribute declarations, "
@@ -6425,7 +7130,7 @@
 	(baseType->type == XML_SCHEMA_TYPE_COMPLEX) &&
 	(baseType->contentType == XML_SCHEMA_CONTENT_UNKNOWN)) {
 	xmlSchemaPErr(ctxt, baseType->node, XML_SCHEMAS_ERR_INTERNAL,
-	    "Internal error: xmlSchemaParseBuildAttributeUses: "
+	    "Internal error: xmlSchemaBuildAttributeValidation: "
 	    "attribute uses not builded on base type \"%s\".\n",
 	    baseType->name, NULL);
     }    
@@ -6433,6 +7138,906 @@
 }
 
 /**
+ * xmlSchemaTypeFinalContains:
+ * @schema:  the schema
+ * @type:  the type definition
+ * @final: the final
+ *
+ * Evaluates if a type definition contains the given "final".
+ * This does take "finalDefault" into account as well.
+ *
+ * Returns 1 if the type does containt the given "final",
+ * 0 otherwise.
+ */
+static int
+xmlSchemaTypeFinalContains(xmlSchemaPtr schema, xmlSchemaTypePtr type, int final)
+{
+    int tfinal = final, tflags = type->flags;
+
+    if (type == NULL)
+	return (0);    
+    if (type->flags & XML_SCHEMAS_TYPE_FINAL_DEFAULT) {
+	switch (final) {
+	    case XML_SCHEMAS_TYPE_FINAL_RESTRICTION:
+		tfinal = XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION;
+		break;
+	    case XML_SCHEMAS_TYPE_FINAL_EXTENSION:
+		tfinal = XML_SCHEMAS_FINAL_DEFAULT_EXTENSION;
+		break;
+	    case XML_SCHEMAS_TYPE_FINAL_LIST:
+		tfinal = XML_SCHEMAS_FINAL_DEFAULT_LIST;
+		break;
+	    case XML_SCHEMAS_TYPE_FINAL_UNION:
+		tfinal = XML_SCHEMAS_FINAL_DEFAULT_UNION;
+		break;
+	}
+	tflags = schema->flags;
+    }
+    if (tflags & tfinal) 
+	return (1);
+    else
+	return (0);
+    
+}
+
+/**
+ * xmlSchemaGetUnionSimpleTypeMemberTypes:
+ * @type:  the Union Simple Type
+ *
+ * Returns a list of member types of @type if existing, 
+ * returns NULL otherwise.
+ */
+xmlSchemaTypeLinkPtr
+xmlSchemaGetUnionSimpleTypeMemberTypes(xmlSchemaTypePtr type)
+{
+    while (type != NULL) {
+	if (type->memberTypes != NULL)
+	    return (type->memberTypes);
+	else
+	    type = type->baseType;
+    }
+    return (NULL);
+}
+
+/**
+ * xmlSchemaGetListSimpleTypeItemType:
+ * @type:  the simple type definition
+ *
+ * Returns the item type definition of the list simple type.
+ */ 
+static xmlSchemaTypePtr
+xmlSchemaGetListSimpleTypeItemType(xmlSchemaTypePtr type)
+{    
+    if ((type->flags & XML_SCHEMAS_TYPE_VARIETY_LIST) == 0)
+	return (NULL);
+    /*
+    * Note: In libxml2, the built-in types do not reflect 
+    * the datatype hierarchy (yet?) - we have to treat them
+    * in a special way.
+    */
+    if (type->type == XML_SCHEMA_TYPE_BASIC) 
+	return (xmlSchemaGetBuiltInListSimpleTypeItemType(type));
+    if (type->subtypes->type == XML_SCHEMA_TYPE_LIST)
+	/* 1 If the <list> alternative is chosen, then the type 
+	* definition ·resolved· to by the ·actual value· of the 
+	* itemType [attribute] of <list>, if present, otherwise 
+	* the type definition corresponding to the <simpleType> 
+	* among the [children] of <list>.
+	*/
+	return (type->subtypes->subtypes);
+    else {
+	/* 2 If the <restriction> option is chosen, then the 
+	* {item type definition} of the {base type definition}.
+	*/    
+	return (xmlSchemaGetListSimpleTypeItemType(type->baseType));
+    }    
+}
+
+/**
+ * xmlSchemaCheckCOSSTDerivedOK:
+ * @type:  the derived simple type definition
+ * @baseType:  the base type definition
+ *
+ * Checks wheter @type can be validly 
+ * derived from @baseType.
+ *
+ * Returns 0 on success, an positive error code otherwise.
+ */ 
+static int
+xmlSchemaCheckCOSSTDerivedOK(xmlSchemaPtr schema,
+				     xmlSchemaTypePtr type,
+				     xmlSchemaTypePtr baseType,
+				     int subset)
+{   
+    /*
+    * Schema Component Constraint: Type Derivation OK (Simple)
+    *
+    *
+    * 1 They are the same type definition.
+    * TODO: The identy check might have to be more complex than this.
+    */
+    if (type == baseType)
+	return (0);    
+    /* 
+    * 2.1 restriction is not in the subset, or in the {final}
+    * of its own {base type definition};
+    */
+    if ((subset & XML_SCHEMAS_TYPE_FINAL_RESTRICTION) ||
+	(xmlSchemaTypeFinalContains(schema, 
+	    type->baseType, XML_SCHEMAS_TYPE_FINAL_RESTRICTION))) {
+	return (XML_SCHEMAP_COS_ST_DERIVED_OK_2_1); 
+    }
+    /* 2.2 */
+    if (type->baseType == baseType) {
+	/*
+	* 2.2.1 D's ·base type definition· is B.
+	*/
+	return (0);
+    }   
+    /* 
+    * 2.2.2 D's ·base type definition· is not the ·ur-type definition· 
+    * and is validly derived from B given the subset, as defined by this 
+    * constraint.    
+    */
+    if ((type->baseType != xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYTYPE)) &&
+	(xmlSchemaCheckCOSSTDerivedOK(schema, type->baseType, baseType, subset) == 0)) {
+	return (0);		
+    } 
+    /* 
+    * 2.2.3 D's {variety} is list or union and B is the ·simple ur-type 
+    * definition·.
+    */
+    if (((type->flags & XML_SCHEMAS_TYPE_VARIETY_LIST) ||
+	(type->flags & XML_SCHEMAS_TYPE_VARIETY_UNION)) &&
+	(baseType == xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE))) {
+	return (0);
+    }    
+    /* 
+    * 2.2.4 B's {variety} is union and D is validly derived from a type 
+    * definition in B's {member type definitions} given the subset, as 
+    * defined by this constraint.
+    *
+    * NOTE: This seems not to involve built-in types, since there is no
+    * built-in Union Simple Type.
+    */
+    if (baseType->flags & XML_SCHEMAS_TYPE_VARIETY_UNION) {
+	xmlSchemaTypeLinkPtr cur;
+
+	cur = baseType->memberTypes;
+	while (cur != NULL) {
+	    if (xmlSchemaCheckCOSSTDerivedOK(schema, type, 
+		cur->type, subset) == 0)
+		return (0);
+	    cur = cur->next;
+	}	
+    }
+    
+    return (XML_SCHEMAP_COS_ST_DERIVED_OK_2_2);
+}
+
+
+/**
+ * xmlSchemaCheckSTPropsCorrect:
+ * @ctxt:  the schema parser context
+ * @type:  the simple type definition
+ *
+ * Checks st-props-correct.
+ *
+ * Returns 0 if the properties are correct,
+ * if not, a positive error code and -1 on internal
+ * errors.
+ */
+static int
+xmlSchemaCheckSTPropsCorrect(xmlSchemaParserCtxtPtr ctxt, 
+			     xmlSchemaTypePtr type)
+{
+    xmlSchemaTypePtr baseType = type->baseType, anySimpleType,
+	anyType;
+
+    /*
+    * Schema Component Constraint: Simple Type Definition Properties Correct
+    *
+    * NOTE: This is somehow redundant, since we actually built a simple type
+    * to have all the needed information; this acts as an self test.
+    */
+    anySimpleType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);
+    anyType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYTYPE);
+    /* 
+    * TODO: 1 The values of the properties of a simple type definition must be as 
+    * described in the property tableau in Datatype definition, modulo the 
+    * impact of Missing Sub-components (§5.3).
+    */
+    /* Base type: If the datatype has been ·derived· by ·restriction· 
+    * then the Simple Type Definition component from which it is ·derived·, 
+    * otherwise the Simple Type Definition for anySimpleType (§4.1.6). 
+    */
+    if (baseType == NULL) {
+	xmlSchemaPErr(ctxt, type->node,
+	    XML_SCHEMAP_ST_PROPS_CORRECT_1,
+	    "Simple type \"%s\" does not have a base type.\n",
+	    type->name, NULL);
+	return (XML_SCHEMAP_ST_PROPS_CORRECT_1);
+    }
+    if ((baseType->type != XML_SCHEMA_TYPE_SIMPLE) &&
+	((baseType->type != XML_SCHEMA_TYPE_BASIC) ||
+	 (baseType == anyType))) {
+	xmlSchemaPErr(ctxt, type->node,
+	    XML_SCHEMAP_ST_PROPS_CORRECT_1,
+	    "Simple type \"%s\": its base type \"%s\" is not a simple "
+	    "type.\n",
+	    type->name, baseType->name);
+	return (XML_SCHEMAP_ST_PROPS_CORRECT_1);
+    }
+    if ((baseType != anySimpleType) &&
+	(type->subtypes->type != XML_SCHEMA_TYPE_RESTRICTION)) {
+	xmlSchemaPErr(ctxt, type->node,
+	    XML_SCHEMAP_ST_PROPS_CORRECT_1,
+	    "Simple type \"%s\" (not derived by restriction) must have"
+	    "the simple ur-type definition as base type, not \"%s\".\n",
+	    type->name, NULL);
+	return (XML_SCHEMAP_ST_PROPS_CORRECT_1);
+    }
+    /* 
+    * Variety: One of {atomic, list, union}. 
+    */
+    if (((type->flags & XML_SCHEMAS_TYPE_VARIETY_ATOMIC) == 0) &&
+	((type->flags & XML_SCHEMAS_TYPE_VARIETY_UNION) == 0) &&
+	((type->flags & XML_SCHEMAS_TYPE_VARIETY_LIST) == 0)) {
+	xmlSchemaPErr(ctxt, type->node,
+	    XML_SCHEMAP_ST_PROPS_CORRECT_1,
+	    "Simple type \"%s\" has an absent variety.\n",
+	    type->name, NULL);
+	return (XML_SCHEMAP_ST_PROPS_CORRECT_1);
+    }
+    /* TODO: Finish this. */
+
+    /*
+    * 2 All simple type definitions must be derived ultimately from the ·simple 
+    * ur-type definition (so· circular definitions are disallowed). That is, it 
+    * must be possible to reach a built-in primitive datatype or the ·simple 
+    * ur-type definition· by repeatedly following the {base type definition}.
+    */    
+    baseType = type->baseType;
+    while ((baseType != NULL) && (baseType->type != XML_SCHEMA_TYPE_BASIC)) {
+	if (baseType->contentType == XML_SCHEMA_CONTENT_UNKNOWN)
+	    xmlSchemaTypeFixup(baseType, ctxt,  NULL);
+	if (baseType == anySimpleType)
+	    break;
+	else if (baseType == type) {
+	    xmlSchemaPErr(ctxt, type->node,
+		XML_SCHEMAP_ST_PROPS_CORRECT_2,
+		"Simple type \"%s\" is not derived from the simple "
+		"ur-type definition (circular definitions are disallowed).\n",
+		type->name, NULL);
+	    return (XML_SCHEMAP_ST_PROPS_CORRECT_2);
+	}	   
+	baseType = baseType->baseType;
+    }   
+    /*
+    * 3 The {final} of the {base type definition} must not contain restriction.
+    */
+    if (xmlSchemaTypeFinalContains(ctxt->schema, baseType, 
+	XML_SCHEMAS_TYPE_FINAL_RESTRICTION)) {
+	xmlSchemaPErr(ctxt, type->node,
+	    XML_SCHEMAP_ST_PROPS_CORRECT_3,
+	    "Simple type \"%s\": the \"final\" of its base type "
+	    "\"%s\" must not contain \"restriction\".\n",
+	    type->name, baseType->name);
+	return (XML_SCHEMAP_ST_PROPS_CORRECT_3);
+    }    
+    return (0);
+}
+
+/**
+ * xmlSchemaCheckDerivationValidSimpleRestriction:
+ * @ctxt:  the schema parser context
+ * @type:  the simple type definition
+ *
+ * Checks if the given @type (simpleType) is derived 
+ * validly by restriction.
+ *
+ * Returns -1 on internal errors, 0 if the type is validly derived, 
+ * a positive error code otherwise.
+ */
+static int
+xmlSchemaCheckCOSSTRestricts(xmlSchemaParserCtxtPtr ctxt, 
+					       xmlSchemaTypePtr type)
+{    
+
+    if (type->type != XML_SCHEMA_TYPE_SIMPLE) {
+	xmlSchemaPErr(ctxt, type->node,
+	    XML_ERR_INTERNAL_ERROR,
+	    "xmlSchemaCheckDerivationValidSimpleRestriction: the given "
+	    "type \"%s\" is not a user-derived simpleType.\n",
+	    type->name, NULL);
+	return (-1);
+    }
+
+    if (type->flags & XML_SCHEMAS_TYPE_VARIETY_ATOMIC) {
+	xmlSchemaTypePtr primitive;
+	/* 
+	* 1.1 The {base type definition} must be an atomic simple 
+	* type definition or a built-in primitive datatype.
+	*/	
+	if ((type->baseType->flags & XML_SCHEMAS_TYPE_VARIETY_ATOMIC) == 0) {
+	    xmlSchemaPErr(ctxt, type->node,
+		XML_SCHEMAP_COS_ST_RESTRICTS_1_1,
+		"Atomic simple type \"%s\": "
+		"its base type \"%s\" is not an atomic simple type.\n",
+		type->name, NULL);
+	    return (XML_SCHEMAP_COS_ST_RESTRICTS_1_1);
+	}
+	/* 1.2 The {final} of the {base type definition} must not contain 
+	* restriction.
+	*/
+	/* OPTIMIZE: This is already done in xmlSchemaCheckStPropsCorrect */
+	if (xmlSchemaTypeFinalContains(ctxt->schema, type->baseType, 
+	    XML_SCHEMAS_TYPE_FINAL_RESTRICTION)) {
+	    xmlSchemaPErr(ctxt, type->node,
+		XML_SCHEMAP_COS_ST_RESTRICTS_1_2,
+		"Atomic simple type \"%s\": the \"final\" of its base type "
+		"\"%s\" must not contain \"restriction\".\n",
+		type->name, type->baseType->name);
+	    return (XML_SCHEMAP_COS_ST_RESTRICTS_1_2);
+	}
+	
+	/* 
+	* 1.3.1 DF must be an allowed constraining facet for the {primitive
+	* type definition}, as specified in the appropriate subsection of 3.2 
+	* Primitive datatypes.
+	*/
+	if (type->facets != NULL) {
+	    xmlSchemaFacetPtr facet;
+	    int ok = 1;
+	    
+	    primitive = xmlSchemaGetPrimitiveType(type);
+	    if (primitive == NULL) {
+		xmlSchemaPErr(ctxt, type->node,
+		    XML_ERR_INTERNAL_ERROR,
+		    "xmlSchemaCheckDerivationValidSimpleRestriction: failed "
+		    "to get primitive type of type \"%s\".\n",
+		    type->name, NULL);
+		return (-1);
+	    }	    
+	    facet = type->facets;
+	    do {
+		if (xmlSchemaIsBuiltInTypeFacet(primitive, facet->type) == 0) {
+		    xmlSchemaPErrExt(ctxt, type->node,
+			XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1,
+			NULL, NULL, NULL,
+			"Atomic simple type \"%s\": the facet \"%s\" "
+			"is not allowed on primitive type \"%s\".\n",
+			type->name, 
+			xmlSchemaFacetTypeToString(facet->type),
+			primitive->name, NULL, NULL);
+		    
+		    ok = 0;			    
+		}
+		facet = facet->next;
+	    } while (facet != NULL);	    
+	    if (ok == 0)
+		return (XML_SCHEMAP_COS_ST_RESTRICTS_1_3_1);
+	    
+	}
+	/*
+	* TODO: 1.3.2 (facet derivation)
+	*/
+    } else if (type->flags & XML_SCHEMAS_TYPE_VARIETY_LIST) {
+	xmlSchemaTypePtr itemType = NULL;
+
+	itemType = xmlSchemaGetListSimpleTypeItemType(type);
+	if (itemType == NULL) {
+	    xmlSchemaPErr(ctxt, type->node,
+		XML_ERR_INTERNAL_ERROR,
+		"Internal error: xmlSchemaCheckDerivationValidSimpleRestriction: "
+		"failed to evaluate the item type of type \"%s\".\n",
+		type->name, NULL);
+	    return (-1);
+	}
+	/*
+	* 2.1 The {item type definition} must have a {variety} of atomic or 
+	* union (in which case all the {member type definitions} 
+	* must be atomic).
+	*/
+	if (((itemType->flags & XML_SCHEMAS_TYPE_VARIETY_ATOMIC) == 0) &&  
+	    ((itemType->flags & XML_SCHEMAS_TYPE_VARIETY_UNION) == 0)) {	    
+	    xmlSchemaPErr(ctxt, type->node,
+		XML_SCHEMAP_COS_ST_RESTRICTS_2_1,
+		"List simple type \"%s\": its item type \"%s\" "
+		"is not an atomic or union simple type.\n",
+		type->name, itemType->name);	    
+	    return (XML_SCHEMAP_COS_ST_RESTRICTS_2_1);
+	} else if (itemType->flags & XML_SCHEMAS_TYPE_VARIETY_UNION) {
+	    xmlSchemaTypeLinkPtr member;
+
+	    member = itemType->memberTypes;
+	    while (member != NULL) {
+		if ((member->type->flags & 
+		    XML_SCHEMAS_TYPE_VARIETY_ATOMIC) == 0) {
+		    xmlSchemaPErr(ctxt, type->node,
+			XML_SCHEMAP_COS_ST_RESTRICTS_2_1,
+			"List simple type \"%s\": its item type " 
+			"is a union simple type, but the member type "
+			"\"%s\" of this item type is not an \"atomic\" "
+			"simple type.\n",
+			type->name, member->type->name);
+		    return (XML_SCHEMAP_COS_ST_RESTRICTS_2_1);
+		}
+		member = member->next;
+	    }
+	}
+	
+	if (type->baseType == xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE)) {
+	    xmlSchemaFacetPtr facet;
+	    /*
+	    * This is the case if we have: <simpleType><list ..
+	    */
+	    /*
+	    * 2.3.1 
+	    * 2.3.1.1 The {final} of the {item type definition} must not 
+	    * contain list.
+	    */
+	    if (xmlSchemaTypeFinalContains(ctxt->schema, 
+		itemType, XML_SCHEMAS_TYPE_FINAL_LIST)) {
+		xmlSchemaPErr(ctxt, type->node,
+		    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1,
+		    "List simple type \"%s\": the \"final\" of its item type "
+		    "\"%s\" must not contain \"list\".\n",
+		    type->name, itemType->name);
+		return (XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_1);
+	    }
+	    /*
+	    * 2.3.1.2 The {facets} must only contain the whiteSpace
+	    * facet component.
+	    */
+	    if (type->facets != NULL) {
+		facet = type->facets;
+		do {
+		    if (facet->type != XML_SCHEMA_FACET_WHITESPACE) {		 
+			xmlSchemaPErr(ctxt, type->node,
+			    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2,
+			    "List simple type \"%s\": the facet \"%s\" "
+			    "is not allowed.\n", 
+			    type->name, xmlSchemaFacetTypeToString(facet->type));
+			return (XML_SCHEMAP_COS_ST_RESTRICTS_2_3_1_2);
+		    }
+		    facet = facet->next;
+		} while (facet != NULL);
+	    }
+	    /*
+	    * TODO: Datatypes states: 
+	    * A ·list· datatype can be ·derived· from an ·atomic· datatype 
+	    * whose ·lexical space· allows space (such as string or anyURI)or 
+	    * a ·union· datatype any of whose {member type definitions}'s 
+	    * ·lexical space· allows space.
+	    */
+	} else {
+	    /*
+	    * This is the case if we have: <simpleType><restriction ...
+	    */
+	    /*
+	    * 2.3.2 
+	    * 2.3.2.1 The {base type definition} must have a {variety} of list.
+	    */
+	    if ((type->baseType->flags & XML_SCHEMAS_TYPE_VARIETY_LIST) == 0) {
+		xmlSchemaPErr(ctxt, type->node,
+		    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1,
+		    "List simple type \"%s\": its base type \"%s\" must "
+		    "have a variety of list.\n",
+		    type->name, type->baseType->name);
+		return (XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_1);
+	    }
+	    /*
+	    * 2.3.2.2 The {final} of the {base type definition} must not
+	    * contain restriction.
+	    */
+	    if (xmlSchemaTypeFinalContains(ctxt->schema, type->baseType,
+		XML_SCHEMAS_TYPE_FINAL_RESTRICTION)) {
+		xmlSchemaPErr(ctxt, type->node,
+		    XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2,
+		    "List simple type \"%s\": its base type \"%s\" must not "
+		    "have a \"final\" containing \"restriction\".\n",
+		    type->name, type->baseType->name);
+		return (XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_2);
+	    }
+	    /*
+	    * 2.3.2.3 The {item type definition} must be validly derived 
+	    * from the {base type definition}'s {item type definition} given
+	    * the empty set, as defined in Type Derivation OK (Simple) (§3.14.6).
+	    */
+	    {
+		xmlSchemaTypePtr baseItemType;
+
+		baseItemType = xmlSchemaGetListSimpleTypeItemType(type->baseType);
+		if (baseItemType == NULL) {
+		    xmlSchemaPErr(ctxt, type->node,
+			XML_ERR_INTERNAL_ERROR,
+			"xmlSchemaCheckDerivationValidSimpleRestriction: "
+			"List simple type \"%s\": failed to "
+			"evaluate the item type of its base type \"%s\".\n",
+			type->name, type->baseType->name);
+		    return (-1);
+		}
+		if ((itemType != baseItemType) &&
+		    (xmlSchemaCheckCOSSTDerivedOK(ctxt->schema, itemType,
+		    baseItemType, 0) != 0)) {
+		    xmlSchemaPErrExt(ctxt, type->node, 
+			XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3, NULL, NULL, NULL,
+			"List simple type \"%s\": its item type \"%s\" is not "
+			"validly derived from the item type \"%s\" of the "
+			"base type \"%s\" as defined in Type Derivation OK "
+			"(Simple).\n",
+			type->name, itemType->name, baseItemType->name,
+			type->baseType->name, NULL);
+		    return (XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_3);
+		}
+	    }
+	    
+	    if (type->facets != NULL) {
+		xmlSchemaFacetPtr facet;
+		int ok = 1;
+		/* 
+		* 2.3.2.4 Only length, minLength, maxLength, whiteSpace, pattern 
+		* and enumeration facet components are allowed among the {facets}.
+		*/
+		facet = type->facets;
+		do {
+		    switch (facet->type) {
+			case XML_SCHEMA_FACET_LENGTH:
+			case XML_SCHEMA_FACET_MINLENGTH:
+			case XML_SCHEMA_FACET_MAXLENGTH:
+			case XML_SCHEMA_FACET_WHITESPACE:
+			    /*
+			    * TODO: 2.5.1.2 List datatypes
+			    * The value of ·whiteSpace· is fixed to the value collapse. 
+			    */
+			case XML_SCHEMA_FACET_PATTERN:
+			case XML_SCHEMA_FACET_ENUMERATION:
+			    break;
+			default: {
+			    xmlSchemaPErr(ctxt, type->node,
+				XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4,
+				"List simple type \"%s\": the facet \"%s\" "
+				"is not allowed.\n",
+				type->name, 
+				xmlSchemaFacetTypeToString(facet->type));
+			    /*
+			    * We could return, but it's nicer to report all 
+			    * invalid facets.
+			    */
+			    ok = 0;			    
+			}
+		    }		    
+		    facet = facet->next;
+		} while (facet != NULL);
+		if (ok == 0)
+		    return (XML_SCHEMAP_COS_ST_RESTRICTS_2_3_2_4);
+		/*
+		* TODO: 2.3.2.5 For each facet in the {facets} (call this DF), if there
+		* is a facet of the same kind in the {facets} of the {base type 
+		* definition} (call this BF),then the DF's {value} must be a valid 
+		* restriction of BF's {value} as defined in [XML Schemas: Datatypes].
+		*/
+	    }	    
+	    
+
+	}
+    } else if (type->flags & XML_SCHEMAS_TYPE_VARIETY_UNION) {
+	/*
+	* 3.1 The {member type definitions} must all have {variety} of 
+	* atomic or list.
+	*/
+	xmlSchemaTypeLinkPtr member;
+
+	member = type->memberTypes;
+	while (member != NULL) {
+	    if (((member->type->flags & 
+		XML_SCHEMAS_TYPE_VARIETY_ATOMIC) == 0) && 
+		((member->type->flags & 
+		XML_SCHEMAS_TYPE_VARIETY_LIST) == 0)) {
+		xmlSchemaPErr(ctxt, type->node,
+		    XML_SCHEMAP_COS_ST_RESTRICTS_3_1,
+		    "Union simple type \"%s\": the member type " 
+		    "\"%s\" is not an \"atomic\" simple type.\n",
+		    type->name, member->type->name);
+		return (XML_SCHEMAP_COS_ST_RESTRICTS_3_1);
+	    }
+	    member = member->next;
+	}
+	/*
+	* 3.3.1 If the {base type definition} is the ·simple ur-type 
+	* definition· 
+	*/
+	if (type->baseType == xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE)) {
+	    /*
+	    * 3.3.1.1 All of the {member type definitions} must have a 
+	    * {final} which does not contain union.
+	    */
+	    member = type->memberTypes;
+	    while (member != NULL) {
+		if (xmlSchemaTypeFinalContains(ctxt->schema, member->type, 
+		    XML_SCHEMAS_TYPE_FINAL_UNION)) {
+		    xmlSchemaPErr(ctxt, type->node,
+			XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1,
+			"Union simple type \"%s\": the \"final\" of member type " 
+			"\"%s\" contains \"union\".\n",
+			type->name, member->type->name);
+		    return (XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1);
+		}
+		member = member->next;
+	    }
+	    /*
+	    * 3.3.1.2 The {facets} must be empty.
+	    */
+	    if (type->facetSet != NULL) {
+		xmlSchemaPErr(ctxt, type->node,
+		    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2,
+		    "Union simple type \"%s\": the facets must be empty.\n",
+		    type->name, NULL);
+		return (XML_SCHEMAP_COS_ST_RESTRICTS_3_3_1_2);
+	    }
+	} else {
+	    /*
+	    * 3.3.2.1 The {base type definition} must have a {variety} of union.
+	    */
+	    if ((type->baseType->flags & XML_SCHEMAS_TYPE_VARIETY_UNION) == 0) {
+		xmlSchemaPErr(ctxt, type->node,
+		    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1,
+		    "Union simple type \"%s\": its base type \"%s\" has not a "
+		    "variety of union.\n",
+		    type->name, type->baseType->name);
+		return (XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_1);
+	    }
+	    /*
+	    * 3.3.2.2 The {final} of the {base type definition} must not contain restriction.
+	    */
+	    if (xmlSchemaTypeFinalContains(ctxt->schema, type->baseType, 
+		XML_SCHEMAS_TYPE_FINAL_RESTRICTION)) {
+		xmlSchemaPErr(ctxt, type->node,
+		    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2,
+		    "Union simple type \"%s\": the \"final\" of its base "
+		    "type \"%s\" must not contain \"restriction\".\n",
+		    type->name, type->baseType->name);
+		return (XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_2);
+	    }
+	    /*
+	    * 3.3.2.3 The {member type definitions}, in order, must be validly 
+	    * derived from the corresponding type definitions in the {base 
+	    * type definition}'s {member type definitions} given the empty set, 
+	    * as defined in Type Derivation OK (Simple) (§3.14.6).
+	    */
+	    {
+		xmlSchemaTypeLinkPtr baseMember;
+
+		/*
+		* OPTIMIZE: if the type is restricting, it has no local defined 
+		* member types and inherits the member types of the base type; 
+		* thus a check for equality can be skipped.
+		*/
+		/*
+		* TODO: Even worse: I cannot see a scenario where a restricting
+		* union simple type can have other member types as the member 
+		* types of it's base type. This check seems not necessary with
+		* respect to the derivation process in libxml2.
+		*/
+		if (type->memberTypes != NULL) {
+		    member = type->memberTypes;
+		    baseMember = xmlSchemaGetUnionSimpleTypeMemberTypes(type->baseType);
+		    if ((member == NULL) && (baseMember != NULL)) {		   
+			xmlSchemaPErr(ctxt, type->node,
+			    XML_SCHEMAS_ERR_INTERNAL,
+			    "Internal error: "
+			    "xmlSchemaCheckDerivationValidSimpleRestriction "
+			    "(3.3.2.3), union simple type \"%s\", unequal number "
+			    "of member types in the base type\n",
+			    type->name, NULL);
+		    }		
+		    while (member != NULL) {
+			if (baseMember == NULL) {
+			    xmlSchemaPErr(ctxt, type->node,
+				XML_SCHEMAS_ERR_INTERNAL,
+				"Internal error: "
+				"xmlSchemaCheckDerivationValidSimpleRestriction "
+				"(3.3.2.3), union simple type \"%s\", unequal number "
+				"of member types in the base type\n",
+				type->name, NULL);
+			}
+			if ((member->type != baseMember->type) &&
+			    (xmlSchemaCheckCOSSTDerivedOK(ctxt->schema, 
+			    member->type, baseMember->type, 0) != 0)) {
+			    xmlSchemaPErrExt(ctxt, type->node, 
+				XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3, NULL, 
+				NULL, NULL,
+				"Union simple type \"%s\": its member type "
+				"\"%s\" is not validly derived from its "
+				"corresponding member type \"%s\" of the base "
+				"type \"%s\" as defined in Type Derivation OK "
+				"(Simple).\n",
+				type->name, member->type->name, 
+				baseMember->type->name,
+				type->baseType->name, NULL);
+			    return (XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_3);
+			}		
+			member = member->next;
+			baseMember = baseMember->next;
+		    }
+		}
+	    }
+	    /*
+	    * 3.3.2.4 Only pattern and enumeration facet components are 
+	    * allowed among the {facets}.
+	    */	    
+	    if (type->facets != NULL) {
+		xmlSchemaFacetPtr facet;
+		int ok = 1;
+
+		facet = type->facets;
+		do {
+		    if ((facet->type != XML_SCHEMA_FACET_PATTERN) &&
+			(facet->type != XML_SCHEMA_FACET_ENUMERATION)) {
+			xmlSchemaPErr(ctxt, type->node,
+			    XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4,
+			    "Union simple type \"%s\": the facet \"%s\" "
+			    "is not allowed.\n",
+			    type->name, 
+			    xmlSchemaFacetTypeToString(facet->type));
+			ok = 0;			    
+		    }		    
+		    facet = facet->next;
+		} while (facet != NULL);
+		if (ok == 0)
+		    return (XML_SCHEMAP_COS_ST_RESTRICTS_3_3_2_4);
+		    
+	    }
+	    /*
+	    * TODO: 3.3.2.5 (facet derivation)
+	    */
+	}
+    }
+
+    return (0);
+}
+
+/**
+ * xmlSchemaCheckSRCSimpleType:
+ * @ctxt:  the schema parser context
+ * @type:  the simple type definition
+ *
+ * Checks crc-simple-type constraints.
+ *
+ * Returns 0 if the constraints are satisfied,
+ * if not a positive error code and -1 on internal
+ * errors.
+ */
+static int
+xmlSchemaCheckSRCSimpleType(xmlSchemaParserCtxtPtr ctxt,
+			    xmlSchemaTypePtr type)
+{   
+    /*
+    * NOTE: src-simple-type 2-4 are redundant, since the checks
+    * were are done for the corresponding <restriction>, <list> and <union>
+    * elements, but W3C wants a <simpleType> error as well, so it gets one.
+    * Maby this can be skipped in the future, if we get sure it's not needed.
+    */
+    if (type->subtypes == NULL) {
+	xmlSchemaPErr(ctxt, type->node,
+		XML_SCHEMAS_ERR_INTERNAL,
+		"Internal error: xmlSchemaCheckSRCSimpleType, "
+		"no subtype on simple type \"%s\".\n",
+		type->name, NULL);
+	return (-1);
+    }
+    /* 
+    * src-simple-type.1 The corresponding simple type definition, if any,
+    * must satisfy the conditions set out in Constraints on Simple Type 
+    * Definition Schema Components (§3.14.6).    
+    */
+    if ((xmlSchemaCheckSTPropsCorrect(ctxt, type) != 0) ||
+	(xmlSchemaCheckCOSSTRestricts(ctxt, type) != 0)) {
+	/*
+	* TODO: Removed this, since it got annoying to get an
+	* extra error report, if anything failed until now.
+	* Enable this if needed.
+	*/
+	/*
+	xmlSchemaPErr(ctxt, type->node,
+	    XML_SCHEMAP_SRC_SIMPLE_TYPE_1,
+	    "Simple type \"%s\" does not satisfy the constraints "
+	    "on simple type definitions.\n",
+	    type->name, NULL);
+	*/
+	return (XML_SCHEMAP_SRC_SIMPLE_TYPE_1);
+    }
+
+    if (type->subtypes->type == XML_SCHEMA_TYPE_RESTRICTION) {
+	/*
+	* src-simple-type.2 If the <restriction> alternative is chosen, 
+	* either it must have a base [attribute] or a <simpleType> among its 
+	* [children], but not both.
+	*/	
+	if (((type->subtypes->base == NULL) && 
+	     ((type->subtypes->subtypes == NULL) ||
+	      (type->subtypes->subtypes->type != XML_SCHEMA_TYPE_SIMPLE))) ||
+	    ((type->subtypes->base != NULL) &&
+	     (type->subtypes->subtypes != NULL) &&
+	     (type->subtypes->subtypes->type == XML_SCHEMA_TYPE_SIMPLE))) {
+	    xmlSchemaPErr(ctxt, type->node,
+		XML_SCHEMAP_SRC_SIMPLE_TYPE_2,
+		"Simple type \"%s\": "
+		"The <restriction> alternative is chosen, thus either the "
+		"\"base\" attribute or the <simpleType> child "
+		"must be present, but not both.\n",
+		type->name, NULL);
+	    return (XML_SCHEMAP_SRC_SIMPLE_TYPE_2);
+	}
+    } else if (type->subtypes->type == XML_SCHEMA_TYPE_LIST) {
+	/* src-simple-type.3 If the <list> alternative is chosen, either it must have 
+	* an itemType [attribute] or a <simpleType> among its [children], 
+	* but not both.
+	* NOTE: baseType is set to the local simple type definiton,
+	* if existent, at parse time. This is a hack and not nice.
+	*/
+	if (((type->subtypes->base == NULL) && 
+	     (type->baseType == NULL)) ||	      
+	    ((type->subtypes->base != NULL) &&
+	     (type->subtypes->baseType != NULL))) {
+	    xmlSchemaPErr(ctxt, type->node,
+		XML_SCHEMAP_SRC_SIMPLE_TYPE_3,
+		"Simple type \"%s\": "
+		"The <list> alternative is chosen, thus either the " 
+		"\"itemType\" attribute or the <simpleType> child "
+		"must be present, but not both.\n",
+		type->name, NULL);
+	    return (XML_SCHEMAP_SRC_SIMPLE_TYPE_3);
+	}
+    
+
+    } else if (type->subtypes->type == XML_SCHEMA_TYPE_UNION) {
+	xmlSchemaTypeLinkPtr member;
+	xmlSchemaTypePtr ancestor, anySimpleType;
+
+	anySimpleType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);
+
+	/* src-simple-type.4 Circular union type definition is disallowed. That is, if 
+	* the <union> alternative is chosen, there must not be any entries 
+	* in the memberTypes [attribute] at any depth which resolve to the 
+	* component corresponding to the <simpleType>.
+	*/	
+	member = type->memberTypes;
+	while (member != NULL) {
+	    ancestor = member->type;
+	    while ((ancestor != NULL) && (ancestor->type != XML_SCHEMA_TYPE_BASIC)) {
+		if (ancestor->contentType == XML_SCHEMA_CONTENT_UNKNOWN)
+		    xmlSchemaTypeFixup(ancestor, ctxt,  NULL);
+		if (ancestor == anySimpleType)
+		    break;
+		else if (ancestor == type) {
+		    xmlSchemaPErr(ctxt, type->node,
+			XML_SCHEMAP_SRC_SIMPLE_TYPE_4,
+			"Simple type \"%s\" is not derived from the simple "
+			"ur-type definition (circular definitions are disallowed).\n",
+			type->name, NULL);
+		    return (XML_SCHEMAP_SRC_SIMPLE_TYPE_4);
+		} else if (ancestor->flags & XML_SCHEMAS_TYPE_VARIETY_LIST) {
+		    /*
+		    * TODO: Although a list simple type must not have a union ST
+		    * type as item type, which in turn has a list ST as member 
+		    * type, we will assume this here as well, since this check 
+		    * was not yet performed.
+		    */
+
+		}
+		ancestor = ancestor->baseType;
+	    }   
+	    member = member->next;
+	}
+
+    }
+
+    return (0);
+}
+
+/**
  * xmlSchemaTypeFixup:
  * @typeDecl:  the schema type definition
  * @ctxt:  the schema parser context
@@ -6443,35 +8048,46 @@
 xmlSchemaTypeFixup(xmlSchemaTypePtr typeDecl,
                    xmlSchemaParserCtxtPtr ctxt, const xmlChar * name)
 {
+    xmlSchemaTypePtr ctxtType;
+
     if (typeDecl == NULL)
         return;
     if (name == NULL)
         name = typeDecl->name;
     if (typeDecl->contentType == XML_SCHEMA_CONTENT_UNKNOWN) {
         switch (typeDecl->type) {
-            case XML_SCHEMA_TYPE_SIMPLE_CONTENT:{
-                    xmlSchemaTypeFixup(typeDecl->subtypes, ctxt, NULL);
-                    if (typeDecl->subtypes != NULL)
+            case XML_SCHEMA_TYPE_SIMPLE_CONTENT:{		    
+		    if (typeDecl->subtypes != NULL) {
+			if (typeDecl->subtypes->contentType ==
+			    XML_SCHEMA_CONTENT_UNKNOWN) {
+			    xmlSchemaTypeFixup(typeDecl->subtypes, ctxt,
+				NULL);
+			}
                         typeDecl->contentType =
                             typeDecl->subtypes->contentType;
+		    }
                     break;
                 }
             case XML_SCHEMA_TYPE_RESTRICTION:{
+		    xmlSchemaTypePtr base = NULL;
+
+		    ctxt->ctxtType->flags |= 
+			XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION;
                     if (typeDecl->subtypes != NULL)
                         xmlSchemaTypeFixup(typeDecl->subtypes, ctxt, NULL);
 
                     if (typeDecl->base != NULL) {
-                        xmlSchemaTypePtr baseType;
-
-                        baseType =
+                        base =
                             xmlSchemaGetType(ctxt->schema, typeDecl->base,
                                              typeDecl->baseNs);
-                        if (baseType == NULL) {
+                        if (base == NULL) {
 			    xmlSchemaPErr(ctxt, typeDecl->node,
-			                  XML_SCHEMAP_UNKNOWN_BASE_TYPE,
-				"Schemas: type %s base type %s not found\n",
-                                          name, typeDecl->base);
-                        } else if (baseType->contentType == 
+				XML_SCHEMAP_SRC_RESOLVE,
+				"Restriction \"%s\": the QName \"%s\" of the "
+				"attribute \"base\" does not resolve to a schema "
+				"component.\n",
+				name, typeDecl->base);
+                        } else if (base->contentType == 
 			    XML_SCHEMA_CONTENT_UNKNOWN) {
 			    /* 
 			     * The base type might be not "type fixed" yet,
@@ -6480,94 +8096,89 @@
 			     * TODO: Is a check for circular derivation already
 			     * done?
 			     */
-			    xmlSchemaTypeFixup(baseType, ctxt, NULL);
-                        }
-                        typeDecl->baseType = baseType;
+			    xmlSchemaTypeFixup(base, ctxt, NULL);
+                        }			
                     }
-		    if (typeDecl->subtypes == NULL)
-			if (typeDecl->baseType != NULL) {
+		    if (ctxt->ctxtType->type == XML_SCHEMA_TYPE_COMPLEX) {
+			/*
+			* ComplexType restriction.
+			*/
+			/*
+			* Base type: The type definition ·resolved· to by the ·actual 
+			* value· of the base [attribute]
+			*/
+			ctxt->ctxtType->baseType = base;
+			/*
+			* Content type.
+			*/
+			if (typeDecl->subtypes == NULL)
+			    /* 1.1.1 */
+			    typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
+			else if ((typeDecl->subtypes->subtypes == NULL) &&
+			    ((typeDecl->subtypes->type ==
+			    XML_SCHEMA_TYPE_ALL)
+			    || (typeDecl->subtypes->type ==
+			    XML_SCHEMA_TYPE_SEQUENCE)))
+			    /* 1.1.2 */
+			    typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
+			else if ((typeDecl->subtypes->type ==
+			    XML_SCHEMA_TYPE_CHOICE)
+			    && (typeDecl->subtypes->subtypes == NULL))
+			    /* 1.1.3 */
+			    typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
+			else {
+			    /* 1.2 and 2.X are applied at the other layer */
 			    typeDecl->contentType =
-			             typeDecl->baseType->contentType;
+				XML_SCHEMA_CONTENT_ELEMENTS;
+			}
+		    } else {	
+			/*
+			* SimpleType restriction.
+			*/
+			/* Base type: 
+			* The Simple Type Definition component resolved to by 
+			* the actual value of the base [attribute] or the 
+			* <simpleType> [children], whichever is present. 
+			*/	
+			if ((base == NULL) && (typeDecl->subtypes != NULL)) {
+			    base = typeDecl->subtypes;
+			    ctxt->ctxtType->baseType = base;
+			    if (base->contentType == XML_SCHEMA_CONTENT_UNKNOWN)			
+				xmlSchemaTypeFixup(base, ctxt, NULL);
 			} else 
-                            /* 1.1.1 */
-                            typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
-                    else if ((typeDecl->subtypes->subtypes == NULL) &&
-                             ((typeDecl->subtypes->type ==
-                               XML_SCHEMA_TYPE_ALL)
-                              || (typeDecl->subtypes->type ==
-                                  XML_SCHEMA_TYPE_SEQUENCE)))
-                        /* 1.1.2 */
-                        typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
-                    else if ((typeDecl->subtypes->type ==
-                              XML_SCHEMA_TYPE_CHOICE)
-                             && (typeDecl->subtypes->subtypes == NULL))
-                        /* 1.1.3 */
-                        typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
-                    else {
-                        /* 1.2 and 2.X are applied at the other layer */
-                        typeDecl->contentType =
-                            XML_SCHEMA_CONTENT_ELEMENTS;
-                    }
+			    ctxt->ctxtType->baseType = base;
+
+			if (((typeDecl->base == NULL) && 
+			     ((typeDecl->subtypes == NULL) ||	
+			      (typeDecl->subtypes->type != XML_SCHEMA_TYPE_SIMPLE))) ||
+			    ((typeDecl->base != NULL) &&
+			     (typeDecl->subtypes != NULL) &&	
+			     (typeDecl->subtypes->type == XML_SCHEMA_TYPE_SIMPLE))) {
+			    /* 
+			    * src-restriction-base-or-simpleType
+			    * Either the base [attribute] or the simpleType [child] of the 
+			    * <restriction> element must be present, but not both. 
+			    */
+			    xmlSchemaPErr(ctxt, typeDecl->node,
+				XML_SCHEMAP_SRC_RESTRICTION_BASE_OR_SIMPLETYPE,		
+				"Restriction \"%s\": "
+				"Either the \"base\" attribute or the <simpleType> child "
+				"must be present, but not both.\n",
+				typeDecl->name, NULL);
+			}
+		    }
                     break;
                 }
             case XML_SCHEMA_TYPE_EXTENSION:{
-                    xmlSchemaContentType explicitContentType;
-                    xmlSchemaTypePtr base;
-
-                    if (typeDecl->base != NULL) {
-                        xmlSchemaTypePtr baseType;
-
-                        baseType =
-                            xmlSchemaGetType(ctxt->schema, typeDecl->base,
-                                             typeDecl->baseNs);
-                        if (baseType == NULL) {
-			    xmlSchemaPErr(ctxt, typeDecl->node,
-			                  XML_SCHEMAP_UNKNOWN_BASE_TYPE,
-				"Schemas: type %s base type %s not found\n",
-                                          name, typeDecl->base);
-                        } else if (baseType->contentType == 
-			    XML_SCHEMA_CONTENT_UNKNOWN) {
-			    /* 
-			     * The base type might be not "type fixed" yet,
-			     * so do it now. */
-			    /* 
-			     * TODO: Is a check for circular derivation already
-			     * done?
-			     */
-			    xmlSchemaTypeFixup(baseType, ctxt, NULL);
-                        }
-                        typeDecl->baseType = baseType;
-                    }
-                    if (typeDecl->subtypes != NULL)
-                        xmlSchemaTypeFixup(typeDecl->subtypes, ctxt, NULL);
-
-                    explicitContentType = XML_SCHEMA_CONTENT_ELEMENTS;
-                    if (typeDecl->subtypes == NULL)
-                        /* 1.1.1 */
-                        explicitContentType = XML_SCHEMA_CONTENT_EMPTY;
-                    else if ((typeDecl->subtypes->subtypes == NULL) &&
-                             ((typeDecl->subtypes->type ==
-                               XML_SCHEMA_TYPE_ALL)
-                              || (typeDecl->subtypes->type ==
-                                  XML_SCHEMA_TYPE_SEQUENCE)))
-                        /* 1.1.2 */
-                        explicitContentType = XML_SCHEMA_CONTENT_EMPTY;
-                    else if ((typeDecl->subtypes->type ==
-                              XML_SCHEMA_TYPE_CHOICE)
-                             && (typeDecl->subtypes->subtypes == NULL))
-                        /* 1.1.3 */
-                        explicitContentType = XML_SCHEMA_CONTENT_EMPTY;
-
-                    base = xmlSchemaGetType(ctxt->schema, typeDecl->base,
-                                            typeDecl->baseNs);
-                    if (base == NULL) {
-                        xmlSchemaPErr(ctxt, typeDecl->node,
-                                      XML_SCHEMAP_UNKNOWN_BASE_TYPE,
-                                      "Schemas: base type %s of type %s not found\n",
-                                      typeDecl->base, name);
-                        return;
-                    }
-                    if (typeDecl->recurse) {
+		    xmlSchemaTypePtr base = NULL;
+		    xmlSchemaContentType explicitContentType;
+		    
+		    /*
+		    * An extension does exist on a complexType only.
+		    */
+		    ctxt->ctxtType->flags |= 
+			XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION;
+		    if (typeDecl->recurse) {
 			/* TODO: The word "recursive" should be changed to "circular" here. */
                         xmlSchemaPErr(ctxt, typeDecl->node,
                                       XML_SCHEMAP_UNKNOWN_BASE_TYPE,
@@ -6575,59 +8186,113 @@
                                       name, NULL);
                         return;
 		    }
-		    typeDecl->recurse = 1;
-                    xmlSchemaTypeFixup(base, ctxt, NULL);
-		    typeDecl->recurse = 0;
-                    if (explicitContentType == XML_SCHEMA_CONTENT_EMPTY) {
-                        /* 2.1 */
-                        typeDecl->contentType = base->contentType;
-                    } else if (base->contentType ==
-                               XML_SCHEMA_CONTENT_EMPTY) {
-                        /* 2.2 imbitable ! */
-                        typeDecl->contentType =
-                            XML_SCHEMA_CONTENT_ELEMENTS;
-                    } else {
-                        /* 2.3 imbitable pareil ! */
-                        typeDecl->contentType =
-                            XML_SCHEMA_CONTENT_ELEMENTS;
+		    if (typeDecl->base != NULL) {                        
+                        base =
+                            xmlSchemaGetType(ctxt->schema, typeDecl->base,
+                                             typeDecl->baseNs);
+                        if (base == NULL) {
+			    xmlSchemaPErr(ctxt, typeDecl->node,
+				XML_SCHEMAP_SRC_RESOLVE,
+				"Extension \"%s\": the QName \"%s\" of the "
+				"attribute \"base\" does not resolve to a schema "
+				"component.\n",
+				name, typeDecl->base);
+                        } else if (base->contentType == 
+			    XML_SCHEMA_CONTENT_UNKNOWN) {
+			    typeDecl->recurse = 1;
+			    xmlSchemaTypeFixup(base, ctxt, NULL);
+			    typeDecl->recurse = 0;
+                        }
+			/*
+			* The type definition ·resolved· to by the ·actual 
+			* value· of the base [attribute]
+			*/
+			ctxt->ctxtType->baseType = base;
+			/*
+			* TODO: This one is still needed for computation of
+			* the content model by xmlSchemaBuildAContentModel.
+			* Try to get rid of it.
+			*/
+			typeDecl->baseType = base;			
                     }
+		    if ((typeDecl->subtypes != NULL) &&
+			(typeDecl->subtypes->contentType == XML_SCHEMA_CONTENT_UNKNOWN))
+                        xmlSchemaTypeFixup(typeDecl->subtypes, ctxt, NULL);	    
+		    
+		    explicitContentType = XML_SCHEMA_CONTENT_ELEMENTS;
+		    if (typeDecl->subtypes == NULL)
+			/* 1.1.1 */
+			explicitContentType = XML_SCHEMA_CONTENT_EMPTY;
+		    else if ((typeDecl->subtypes->subtypes == NULL) &&
+			((typeDecl->subtypes->type ==
+			XML_SCHEMA_TYPE_ALL)
+			|| (typeDecl->subtypes->type ==
+			XML_SCHEMA_TYPE_SEQUENCE)))
+			/* 1.1.2 */
+			explicitContentType = XML_SCHEMA_CONTENT_EMPTY;
+		    else if ((typeDecl->subtypes->type ==
+			XML_SCHEMA_TYPE_CHOICE)
+			&& (typeDecl->subtypes->subtypes == NULL))
+			/* 1.1.3 */
+			explicitContentType = XML_SCHEMA_CONTENT_EMPTY;
+		    if (base != NULL) {
+			/* It will be reported later, if the base is missing. */			    
+			if (explicitContentType == XML_SCHEMA_CONTENT_EMPTY) {
+			    /* 2.1 */
+			    typeDecl->contentType = base->contentType;
+			} else if (base->contentType ==
+			    XML_SCHEMA_CONTENT_EMPTY) {
+			    /* 2.2 imbitable ! */
+			    typeDecl->contentType =
+				XML_SCHEMA_CONTENT_ELEMENTS;
+			} else {
+			    /* 2.3 imbitable pareil ! */
+			    typeDecl->contentType =
+				XML_SCHEMA_CONTENT_ELEMENTS;
+			}
+		    }		                
                     break;
                 }
             case XML_SCHEMA_TYPE_COMPLEX:{
+		    if ((typeDecl->subtypes == NULL) || 
+			((typeDecl->subtypes->type != 
+			XML_SCHEMA_TYPE_SIMPLE_CONTENT) && 
+			(typeDecl->subtypes->type != 
+			XML_SCHEMA_TYPE_COMPLEX_CONTENT))) {
+			/* 
+			* This case is understood as shorthand for complex 
+			* content restricting the ur-type definition, and 
+			* the details of the mappings should be modified as 
+			* necessary.
+			*/			
+			typeDecl->baseType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYTYPE);
+			typeDecl->flags |= 
+			    XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION;
+		    }
                     if (typeDecl->subtypes == NULL) {
-                        typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
-
+			typeDecl->contentType = XML_SCHEMA_CONTENT_EMPTY;
                         if (typeDecl->flags & XML_SCHEMAS_TYPE_MIXED)
                             typeDecl->contentType =
-                                XML_SCHEMA_CONTENT_MIXED;
+                                XML_SCHEMA_CONTENT_MIXED;			
                     } else {
+			if ((typeDecl->subtypes != NULL) &&
+			    (typeDecl->subtypes->contentType ==
+			    XML_SCHEMA_CONTENT_UNKNOWN)) {
+			    ctxtType = ctxt->ctxtType;
+			    ctxt->ctxtType = typeDecl;
+			    xmlSchemaTypeFixup(typeDecl->subtypes, ctxt,
+				NULL);
+			    ctxt->ctxtType = ctxtType;
+			}
                         if (typeDecl->flags & XML_SCHEMAS_TYPE_MIXED) {
                             typeDecl->contentType =
                                 XML_SCHEMA_CONTENT_MIXED;
-                        } else {
-                            xmlSchemaTypeFixup(typeDecl->subtypes, ctxt,
-                                               NULL);
-                            if (typeDecl->subtypes != NULL)
+                        } else {			    
+                            if (typeDecl->subtypes != NULL) {
                                 typeDecl->contentType =
                                     typeDecl->subtypes->contentType;
-                        }
-			/* Evaluate the derivation method. */
-			if ((typeDecl->subtypes != NULL) &&
-			    ((typeDecl->subtypes->type == 
-				XML_SCHEMA_TYPE_COMPLEX_CONTENT) ||
-			    (typeDecl->subtypes->type == 
-				XML_SCHEMA_TYPE_SIMPLE_CONTENT)) &&
-			    (typeDecl->subtypes->subtypes != NULL)) {			    			    
-			    if (typeDecl->subtypes->subtypes->type == 
-				    XML_SCHEMA_TYPE_EXTENSION) {
-				typeDecl->flags |= 
-				    XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION;
-			    } else if (typeDecl->subtypes->subtypes->type == 
-				    XML_SCHEMA_TYPE_RESTRICTION) {
-				typeDecl->flags |= 
-				    XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION;
-                    }
-			}
+			    }
+                        }			
                     }
 		    xmlSchemaBuildAttributeValidation(ctxt, typeDecl);
                     break;
@@ -6660,23 +8325,149 @@
                     }
                     break;
                 }
+	    case XML_SCHEMA_TYPE_SIMPLE:
+		/*
+		* Simple Type Definition Schema Component
+		*
+		*/
+		typeDecl->contentType = XML_SCHEMA_CONTENT_SIMPLE;
+		if (typeDecl->subtypes->contentType == 
+		    XML_SCHEMA_CONTENT_UNKNOWN) {
+		    ctxtType = ctxt->ctxtType;
+		    ctxt->ctxtType = typeDecl;
+		    xmlSchemaTypeFixup(typeDecl->subtypes, ctxt, NULL);
+		    ctxt->ctxtType = ctxtType;
+		}
+		/* Fixup base type */		
+		if ((typeDecl->baseType != NULL) && 
+		    (typeDecl->baseType->contentType ==
+		    XML_SCHEMA_CONTENT_UNKNOWN)) {
+		    /* OPTIMIZE: Actually this one will never by hit, since
+		    * the base type is already type-fixed in <restriction>.
+		    */
+		    ctxtType = ctxt->ctxtType;
+		    ctxt->ctxtType = typeDecl;
+		    xmlSchemaTypeFixup(typeDecl->baseType, ctxt, NULL);
+		    ctxt->ctxtType = ctxtType;
+		}
+		/* Base type: 
+		* 2 If the <list> or <union> alternative is chosen, 
+		* then the ·simple ur-type definition·.
+		*/
+		if (typeDecl->subtypes->type ==
+		    XML_SCHEMA_TYPE_LIST) {
+		    typeDecl->baseType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);
+		    typeDecl->flags |= XML_SCHEMAS_TYPE_VARIETY_LIST;		    
+		} else if (typeDecl->subtypes->type ==
+		    XML_SCHEMA_TYPE_UNION) {
+		    typeDecl->baseType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);
+		    typeDecl->flags |= XML_SCHEMAS_TYPE_VARIETY_UNION;
+		} else if (typeDecl->subtypes->type ==
+		    XML_SCHEMA_TYPE_RESTRICTION) {
+		    xmlSchemaFacetLinkPtr facet, cur, last = NULL;
+		    		    	    		   
+		    /* 
+		    * Variety
+		    * If the <restriction> alternative is chosen, then the 
+		    * {variety} of the {base type definition}.
+		    */	
+		    if (typeDecl->baseType != NULL) {
+			if (typeDecl->baseType->flags & 
+			    XML_SCHEMAS_TYPE_VARIETY_ATOMIC)
+			    typeDecl->flags |= XML_SCHEMAS_TYPE_VARIETY_ATOMIC;
+			else if (typeDecl->baseType->flags & 
+			    XML_SCHEMAS_TYPE_VARIETY_LIST)
+			    typeDecl->flags |= XML_SCHEMAS_TYPE_VARIETY_LIST;
+			else if (typeDecl->baseType->flags & 
+			    XML_SCHEMAS_TYPE_VARIETY_UNION)
+			    typeDecl->flags |= XML_SCHEMAS_TYPE_VARIETY_UNION;		    		    		   
+			/*
+			* Schema Component Constraint: Simple Type Restriction 
+			* (Facets)
+			* NOTE: Satisfaction of 1 and 2 arise from the fixup 
+			* applied beforehand.
+			*			    
+			* 3 The {facets} of R are the union of S and the {facets} 
+			* of B, eliminating duplicates. To eliminate duplicates, 
+			* when a facet of the same kind occurs in both S and the 
+			* {facets} of B, the one in the {facets} of B is not 
+			* included, with the exception of enumeration and pattern 
+			* facets, for which multiple occurrences with distinct values 
+			* are allowed.
+			*/
+			if (typeDecl->baseType->facetSet != NULL) {
+			    last = typeDecl->facetSet;
+			    if (last != NULL)
+				while (last->next != NULL)
+				    last = last->next;
+				cur = typeDecl->baseType->facetSet;
+				for (; cur != NULL; cur = cur->next) {
+				    /* 
+				    * Base patterns won't be add here:
+				    * they are ORed in a type and
+				    * ANDed in derived types. This will
+				    * happed at validation level by
+				    * walking the base axis of the type.
+				    */
+				    if (cur->facet->type == 
+					XML_SCHEMA_FACET_PATTERN) 
+					continue;
+				    facet = NULL;
+				    if ((typeDecl->facetSet != NULL) &&
+					(cur->facet->type != 
+					XML_SCHEMA_FACET_PATTERN) &&
+					(cur->facet->type != 
+					XML_SCHEMA_FACET_ENUMERATION)) {				
+					facet = typeDecl->facetSet;
+					do {
+					    if (cur->facet->type == 
+						facet->facet->type) 
+						break;
+					    facet = facet->next;
+					} while (facet != NULL);
+				    }
+				    if (facet == NULL) {
+					facet = (xmlSchemaFacetLinkPtr) 
+					    xmlMalloc(sizeof(xmlSchemaFacetLink));
+					if (facet == NULL) {
+					    xmlSchemaPErrMemory(ctxt, 
+						"fixing simpleType", NULL);
+					    return;
+					}
+					facet->facet = cur->facet;
+					facet->next = NULL;
+					if (last == NULL)
+					    typeDecl->facetSet = facet;		    
+					else 
+					    last->next = facet;
+					last = facet;				
+				    }				    
+				}
+			}
+		    }
+		}	
+		/*
+		* Check constraints.
+		*/
+		xmlSchemaCheckSRCSimpleType(ctxt, typeDecl);
+		break;
             case XML_SCHEMA_TYPE_SEQUENCE:
             case XML_SCHEMA_TYPE_GROUP:
             case XML_SCHEMA_TYPE_ALL:
             case XML_SCHEMA_TYPE_CHOICE:
                 typeDecl->contentType = XML_SCHEMA_CONTENT_ELEMENTS;
                 break;
-            case XML_SCHEMA_TYPE_LIST:
+            case XML_SCHEMA_TYPE_LIST: 
 		xmlSchemaParseListRefFixup(typeDecl, ctxt);
-		/* no break on purpose */
-            case XML_SCHEMA_TYPE_UNION:
-		if (typeDecl->type == XML_SCHEMA_TYPE_UNION)
-		    xmlSchemaParseUnionRefCheck(typeDecl, ctxt);
-		/* no break on purpose */
+		typeDecl->contentType = XML_SCHEMA_CONTENT_SIMPLE;
+		break;
+            case XML_SCHEMA_TYPE_UNION:		
+		xmlSchemaParseUnionRefCheck(typeDecl, ctxt);
+		typeDecl->contentType = XML_SCHEMA_CONTENT_SIMPLE;
+		break;
             case XML_SCHEMA_TYPE_BASIC:
             case XML_SCHEMA_TYPE_ANY:
             case XML_SCHEMA_TYPE_FACET:
-            case XML_SCHEMA_TYPE_SIMPLE:
             case XML_SCHEMA_TYPE_UR:
             case XML_SCHEMA_TYPE_ELEMENT:
             case XML_SCHEMA_TYPE_ATTRIBUTE:
@@ -6726,9 +8517,12 @@
         case XML_SCHEMA_CONTENT_MIXED:
             xmlGenericError(xmlGenericErrorContext, "mixed\n");
             break;
+	/* Removed, since not used. */
+	/*
         case XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS:
             xmlGenericError(xmlGenericErrorContext, "mixed or elems\n");
             break;
+	*/
         case XML_SCHEMA_CONTENT_BASIC:
             xmlGenericError(xmlGenericErrorContext, "basic\n");
             break;
@@ -6761,8 +8555,7 @@
 
     if (nonNegativeIntegerType == NULL) {
         nonNegativeIntegerType =
-            xmlSchemaGetPredefinedType(BAD_CAST "nonNegativeInteger",
-                                       xmlSchemaNs);
+            xmlSchemaGetBuiltInType(XML_SCHEMAS_NNINTEGER);
     }
     switch (facet->type) {
         case XML_SCHEMA_FACET_MININCLUSIVE:
@@ -6774,21 +8567,44 @@
                  * at that point.
                  */
                 xmlSchemaValidCtxtPtr vctxt;
-
+		xmlSchemaTypePtr base;
+		
+		/*
+		* TODO: Try to avoid creating a new context.
+		*/
                 vctxt = xmlSchemaNewValidCtxt(NULL);
                 if (vctxt == NULL)
-                    break;
-                xmlSchemaValidateSimpleValue(vctxt, typeDecl,
+                    break;		
+                /* xmlSchemaValidateSimpleValue(vctxt, typeDecl,
                                              facet->value);
+		*/
+		/* The value ·must· be in the 
+		* ·value space· of the ·base type·. 
+		*/
+		base = typeDecl->baseType;
+		if (base == NULL) {
+		    xmlSchemaPErr(ctxt, typeDecl->node,
+			XML_SCHEMAS_ERR_INTERNAL,
+			"Internal error: xmlSchemaCheckFacet, "
+			"the type \"%s\" has no base type.\n",
+			typeDecl->name, NULL);
+		    return (-1);
+		}
+		vctxt->type = base;
+		xmlSchemaValidateSimpleTypeValue(vctxt, facet->value, 0, 1);
                 facet->val = vctxt->value;
                 vctxt->value = NULL;
                 if (facet->val == NULL) {
                     /* error code */
                     if (ctxt != NULL) {
-                        xmlSchemaPErr(ctxt, facet->node,
-                                      XML_SCHEMAP_INVALID_FACET,
-                                      "Schemas: type %s facet value %s invalid\n",
-                                      name, facet->value);
+                        xmlSchemaPErrExt(ctxt, facet->node,
+			    XML_SCHEMAP_INVALID_FACET, 
+			    NULL, NULL, NULL,
+			    "Type \"%s\": the value \"%s\" of the "
+			    "facet \"%s\" is invalid.\n",
+			    name, facet->value, 
+			    xmlSchemaFacetTypeToString(facet->type), 
+			    NULL, NULL);
                     }
                     ret = -1;
                 }
@@ -6802,18 +8618,37 @@
                  */
                 xmlSchemaValidCtxtPtr vctxt;
                 int tmp;
+		xmlSchemaTypePtr base;
 
+		/* 4.3.5.5 Constraints on enumeration Schema Components
+		* Schema Component Constraint: enumeration valid restriction
+		* It is an ·error· if any member of {value} is not in the 
+		* ·value space· of {base type definition}. 
+		*/
                 vctxt = xmlSchemaNewValidCtxt(NULL);
                 if (vctxt == NULL)
                     break;
-                tmp = xmlSchemaValidateSimpleValue(vctxt, typeDecl,
+		base = typeDecl->baseType;
+		if (base == NULL) {
+		    xmlSchemaPErr(ctxt, typeDecl->node,
+			XML_SCHEMAS_ERR_INTERNAL,
+			"Internal error: xmlSchemaCheckFacet, "
+			"the type \"%s\" has no base type.\n",
+			typeDecl->name, NULL);
+		    return (-1);
+		}
+		vctxt->type = base;
+		tmp = xmlSchemaValidateSimpleTypeValue(vctxt, facet->value, 0, 1);
+                /* tmp = xmlSchemaValidateSimpleValue(vctxt, typeDecl,
                                                    facet->value);
+		*/
                 if (tmp != 0) {
                     if (ctxt != NULL) {
                         xmlSchemaPErr(ctxt, facet->node,
-                                      XML_SCHEMAP_INVALID_ENUM,
-                                      "Schemas: type %s enumeration value %s invalid\n",
-                                      name, facet->value);
+			    XML_SCHEMAP_INVALID_ENUM,
+			    "Type \"%s\": the value \"%s\" of the "
+			    "facet \"enumeration\" is invalid.\n",
+			    name, facet->value);
                     }
                     ret = -1;
                 }
@@ -6824,9 +8659,10 @@
             facet->regexp = xmlRegexpCompile(facet->value);
             if (facet->regexp == NULL) {
 		xmlSchemaPErr(ctxt, typeDecl->node,
-			      XML_SCHEMAP_REGEXP_INVALID,
-                              "Schemas: type %s facet regexp %s invalid\n",
-                              name, facet->value);
+		    XML_SCHEMAP_REGEXP_INVALID,
+		    "Type \"%s\": the value \"%s\" of the "
+		    "facet \"pattern\" is invalid.\n",
+		    name, facet->value);
                 ret = -1;
             }
             break;
@@ -6844,10 +8680,14 @@
                 if (tmp != 0) {
                     /* error code */
                     if (ctxt != NULL) {
-                        xmlSchemaPErr(ctxt, facet->node,
-                                      XML_SCHEMAP_INVALID_FACET_VALUE,
-                                      "Schemas: type %s facet value %s invalid\n",
-                                      name, facet->value);
+                        xmlSchemaPErrExt(ctxt, facet->node,
+			    XML_SCHEMAP_INVALID_FACET_VALUE,
+			    NULL, NULL, NULL,
+			    "Type \"%s\": the value \"%s\" of the "
+			    "facet \"%s\" is invalid.\n",
+			    name, facet->value, 
+			    xmlSchemaFacetTypeToString(facet->type),
+			    NULL, NULL);
                     }
                     ret = -1;
                 }
@@ -6863,9 +8703,10 @@
                 } else {
                     if (ctxt != NULL) {
                         xmlSchemaPErr(ctxt, facet->node,
-                                      XML_SCHEMAP_INVALID_WHITE_SPACE,
-                                      "Schemas: type %s whiteSpace value %s invalid\n",
-                                      name, facet->value);
+			    XML_SCHEMAP_INVALID_WHITE_SPACE,
+			    "Type \"%s\": the value \"%s\" of the "
+			    "facet \"whiteSpace\" is invalid.\n",
+			    name, facet->value);
                     }
                     ret = -1;
                 }
@@ -6888,17 +8729,19 @@
                        xmlSchemaParserCtxtPtr ctxt, const xmlChar * name)
 {
     if (name == NULL)
-        name = typeDecl->name;
-    if (typeDecl->type == XML_SCHEMA_TYPE_RESTRICTION) {
-        if (typeDecl->facets != NULL) {
-            xmlSchemaFacetPtr facet = typeDecl->facets;
-
-            while (facet != NULL) {
-                xmlSchemaCheckFacet(facet, typeDecl, ctxt, name);
-                facet = facet->next;
-            }
-        }
-    }
+        name = typeDecl->name; 
+    /*
+    * NOTE: It is intended to use the facets list, instead
+    * of facetSet.
+    */
+    if (typeDecl->facets != NULL) {
+	xmlSchemaFacetPtr facet = typeDecl->facets;
+	
+	while (facet != NULL) {
+	    xmlSchemaCheckFacet(facet, typeDecl, ctxt, name);
+	    facet = facet->next;
+	}
+    }    
 }
 
 /**
@@ -6923,9 +8766,11 @@
         ref = xmlSchemaGetAttributeGroup(ctxt->schema, attrgrp->ref, attrgrp->refNs);
         if (ref == NULL) {
             xmlSchemaPErr(ctxt, attrgrp->node,
-                          XML_SCHEMAP_UNKNOWN_ATTRIBUTE_GROUP,
-                          "Schemas: attribute group %s reference %s not found\n",
-                          name, attrgrp->ref);
+		XML_SCHEMAP_SRC_RESOLVE,
+		"Attribute group \"%s\": the QName \"%s\" of the attribute "
+		"\"ref\" does not resolve to a schema "
+		"component.\n",
+		name, attrgrp->ref);
             return;
         }
         xmlSchemaAttrGrpFixup(ref, ctxt, NULL);
@@ -6957,6 +8802,12 @@
 xmlSchemaAttrFixup(xmlSchemaAttributePtr attrDecl,
                    xmlSchemaParserCtxtPtr ctxt, const xmlChar * name)
 {
+    /*
+    * The simple type definition corresponding to the <simpleType> element 
+    * information item in the [children], if present, otherwise the simple 
+    * type definition ·resolved· to by the ·actual value· of the type 
+    * [attribute], if present, otherwise the ·simple ur-type definition·.
+    */
     if (name == NULL)
         name = attrDecl->name;
     if (attrDecl->subtypes != NULL)
@@ -6964,30 +8815,34 @@
     if (attrDecl->typeName != NULL) {
         xmlSchemaTypePtr type;
 
-        type = xmlSchemaGetType(ctxt->schema, attrDecl->typeName,
-                                attrDecl->typeNs);
-        if (type == NULL) {
-            xmlSchemaPErr(ctxt, attrDecl->node, XML_SCHEMAP_UNKNOWN_TYPE,
-                          "Schemas: attribute %s type %s not found\n",
-                          name, attrDecl->typeName);
-        }
+	type = xmlSchemaGetType(ctxt->schema, attrDecl->typeName,
+	    attrDecl->typeNs);
+	if (type == NULL) {
+	    xmlSchemaPErr(ctxt, attrDecl->node, 
+		XML_SCHEMAP_SRC_RESOLVE,
+		"Attribute \"%s\": the QName \"%s\" of the attribute "
+		"\"type\" does not resolve to a schema "
+		"component.\n",
+		name, attrDecl->typeName);
+	}
         attrDecl->subtypes = type;
     } else if (attrDecl->ref != NULL) {
         xmlSchemaAttributePtr ref;
 
 	ref = xmlSchemaGetAttribute(ctxt->schema, attrDecl->ref, attrDecl->refNs);
         if (ref == NULL) {
-            xmlSchemaPErr(ctxt, attrDecl->node, XML_SCHEMAP_UNKNOWN_REF,
-                          "Schemas: attribute %s reference %s not found\n",
-                          name, attrDecl->ref);
+            xmlSchemaPErr(ctxt, attrDecl->node, 
+		XML_SCHEMAP_SRC_RESOLVE,
+		"Attribute \"%s\": the QName \"%s\" of the attribute "
+		"\"ref\" does not resolve to a schema "
+		"component.\n",		
+		name, attrDecl->ref);
             return;
         }
         xmlSchemaAttrFixup(ref, ctxt, NULL);
         attrDecl->subtypes = ref->subtypes;
     } else {
-        xmlSchemaPErr(ctxt, attrDecl->node, XML_SCHEMAP_NOTYPE_NOREF,
-                      "Schemas: attribute %s has no type nor reference\n",
-                      name, NULL);
+	attrDecl->subtypes = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYSIMPLETYPE);        
     }
 }
 
@@ -7213,41 +9068,44 @@
 static int
 xmlSchemaValidateFacetsInternal(xmlSchemaValidCtxtPtr ctxt,
                         xmlSchemaTypePtr base,
-                        xmlSchemaFacetPtr facets,
+                        xmlSchemaFacetLinkPtr facets,
 			const xmlChar * value, int fireErrors)
 {
     int ret = 0;
     int tmp = 0;
     xmlSchemaTypeType type;
-    xmlSchemaFacetPtr facet = facets;
+    xmlSchemaFacetLinkPtr facetLink = facets;
 
-    while (facet != NULL) {
-        type = facet->type;
+    while (facetLink != NULL) {
+        type = facetLink->facet->type;
         if (type == XML_SCHEMA_FACET_ENUMERATION) {
             tmp = 1;
 
-            while (facet != NULL) {
+            while (facetLink != NULL) {
                 tmp =
-                    xmlSchemaValidateFacet(base, facet, value,
+                    xmlSchemaValidateFacet(base, facetLink->facet, value,
                                            ctxt->value);
                 if (tmp == 0) {
                     return 0;
                 }
-                facet = facet->next;
+                facetLink = facetLink->next;
             }
         } else
-            tmp = xmlSchemaValidateFacet(base, facet, value, ctxt->value);
+            tmp = xmlSchemaValidateFacet(base, facetLink->facet, value, 
+	    ctxt->value);
 
         if (tmp != 0) {
             ret = tmp;
-            if (fireErrors)
-                xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_FACET,
-			      "Failed to validate type with facet %s\n",
-			      (const xmlChar *) xmlSchemaFacetTypeToString(type),
-			      NULL);
+            if (fireErrors) {		
+		xmlSchemaVErr(ctxt, ctxt->cur, tmp,		    
+		    "The value failed to validate against the facet \"%s\".\n",
+		    (const xmlChar *) xmlSchemaFacetTypeToString(type), 
+		    NULL);		
+
+	    }
         }
-        if (facet != NULL)
-            facet = facet->next;
+        if (facetLink != NULL)
+            facetLink = facetLink->next;
     }
     return (ret);
 }
@@ -7268,7 +9126,7 @@
 static int
 xmlSchemaValidateFacets(xmlSchemaValidCtxtPtr ctxt,
                         xmlSchemaTypePtr base,
-                        xmlSchemaFacetPtr facets, const xmlChar * value)
+                        xmlSchemaFacetLinkPtr facets, const xmlChar * value)
 {
     return(xmlSchemaValidateFacetsInternal(ctxt, base, facets, value, 1));
 }
@@ -7278,7 +9136,7 @@
  * 			Simple type validation				*
  * 									*
  ************************************************************************/
-
+#if 0 /* Not currently used. */
 /**
  * xmlSchemaValidateSimpleValueUnion:
  * @ctxt:  a schema validation context
@@ -7410,7 +9268,6 @@
         }
     } else if (type->type == XML_SCHEMA_TYPE_RESTRICTION) {
         xmlSchemaTypePtr base;
-        xmlSchemaFacetPtr facet;
 
         base = type->baseType;
         if (base != NULL) {
@@ -7425,9 +9282,11 @@
 	 * building the Schemas
          */
         if (ctxt->schema != NULL) {
-            if (ret == 0) {
-                facet = type->facets;
-                ret = xmlSchemaValidateFacetsInternal(ctxt, base, facet,
+	    xmlSchemaFacetLinkPtr facetLink;
+
+            if ((ret == 0) && (type->facetSet != NULL)) {
+                facetLink = type->facetSet;
+                ret = xmlSchemaValidateFacetsInternal(ctxt, base, facetLink,
 				value, fireErrors);
             }
         }
@@ -7481,6 +9340,7 @@
     }
     return (ret);
 }
+#endif
 
 /************************************************************************
  * 									*
@@ -7580,25 +9440,28 @@
             ret = 1;
 	    if (cur->state == XML_SCHEMAS_ATTR_UNKNOWN)
             xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_ATTRUNKNOWN,
-	    		  "Attribute %s on %s is unknown\n",
-		    cur->attr->name, node->name);
+	    		  "Attribute \"%s\" is not allowed.\n",
+		    cur->attr->name, NULL);
 	    else if (cur->state == XML_SCHEMAS_ATTR_PROHIBITED)
+		/*
+		* TODO: This won't ever be touched so remove it.
+		*/
 		xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_ATTRUNKNOWN,
-		    "Attribute %s on %s is prohibited\n",
-		    cur->attr->name, node->name);
-	    else if (cur->state == XML_SCHEMAS_ATTR_INVALID_VALUE)
+		    "Attribute \"%s\" is prohibited.\n",
+		    cur->attr->name, NULL);
+	    else if (cur->state == XML_SCHEMAS_ATTR_INVALID_VALUE) {
 		xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_ATTRINVALID,
-		    "Attribute %s on %s does not match type\n",
+		    "Attribute \"%s\": the value is not valid.\n",
 		    cur->attr->name, node->name);
-	    else if (cur->state == XML_SCHEMAS_ATTR_MISSING) {
+	    } else if (cur->state == XML_SCHEMAS_ATTR_MISSING) {
 		if (cur->decl->ref != NULL)
 		    xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_MISSING,
-			"Attribute %s on %s is required but missing\n", 
-			cur->decl->ref, node->name);
+			"Attribute \"%s\" is required but missing.\n", 
+			cur->decl->ref, NULL);
 		else
 		    xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_MISSING,
-			"Attribute %s on %s is required but missing\n", 
-			cur->decl->name, node->name);
+			"Attribute \"%s\" is required but missing.\n", 
+			cur->decl->name, NULL);
         }
     }
 	cur = cur->next;
@@ -7718,16 +9581,13 @@
 xmlSchemaSkipIgnored(xmlSchemaValidCtxtPtr ctxt ATTRIBUTE_UNUSED,
                      xmlSchemaTypePtr type, xmlNodePtr node)
 {
-    int mixed = 0;
-
     /*
      * TODO complete and handle entities
      */
-    mixed = ((type->contentType == XML_SCHEMA_CONTENT_MIXED) ||
-             (type->contentType == XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS));
     while ((node != NULL) &&
            ((node->type == XML_COMMENT_NODE) ||
-            ((mixed == 1) && (node->type == XML_TEXT_NODE)) ||
+            ((type->contentType == XML_SCHEMA_CONTENT_MIXED) && 
+	    (node->type == XML_TEXT_NODE)) ||
             (((type->contentType == XML_SCHEMA_CONTENT_ELEMENTS) &&
               (node->type == XML_TEXT_NODE) && (IS_BLANK_NODE(node)))))) {
         node = node->next;
@@ -7800,7 +9660,7 @@
     ret = xmlSchemaValidateCheckNodeList(child);
     if (ret < 0) {
         xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INTERNAL,
-		      "Internal error: xmlSchemaValidateSimpleType %s content\n",
+		      "Internal error: xmlSchemaValidateSimpleRestrictionType %s content\n",
 		      node->name, NULL);
         return (-1);
     } else if (ret == 0) {
@@ -7816,6 +9676,7 @@
 }
 #endif
 
+#if 0 /* Not used any more */
 /**
  * xmlSchemaValidateSimpleType:
  * @ctxt:  a schema validation context
@@ -7900,18 +9761,12 @@
     value = xmlNodeGetContent(child);
     switch (variety->type) {
         case XML_SCHEMA_TYPE_RESTRICTION:{
-                xmlSchemaFacetPtr facet;
-
                 base = variety->baseType;
                 if (base != NULL) {
                     ret = xmlSchemaValidateSimpleValue(ctxt, base, value);
                 } else {
-                TODO}
-                if (ret == 0) {
-                    facet = variety->facets;
-                    ret =
-                        xmlSchemaValidateFacets(ctxt, base, facet, value);
-                }
+                TODO}		 
+                
 		/* Removed due to changes of attribute validation:
 		if ((ret == 0) && (variety->attributes != NULL)) {
 		    ret = xmlSchemaValidateAttributes(ctxt, node,
@@ -7933,6 +9788,9 @@
 		ret = ctxt->err;
 	    }
     }
+    if ((ret == 0) && (variety->facetSet != NULL)) {
+	ret = xmlSchemaValidateFacets(ctxt, base, variety->facetSet, value);
+    }
     if (value != NULL)
         xmlFree(value);
 
@@ -7943,6 +9801,494 @@
     ctxt->type = type;
     return (ret);
 }
+#endif
+
+/**
+ * xmlSchemaValidateSimpleTypeValue:
+ * @ctxt:  a schema validation context
+ * @value: the value to be validated
+ * @fireErrors: shall errors be reported?
+ * @applyFacets: shall facets be applied?
+ *
+ * Validates a value by the given type (user derived or built-in).
+ *
+ * Returns 0 if the value is valid, a positive error code
+ * number otherwise and -1 in case of an internal or API error.
+ * Note on reported errors: Although it might be nice to report
+ * the name of the simple/complex type, used to validate the content
+ * of a node, it is quite unnecessary: for global defined types
+ * the local name of the element is equal to the NCName of the type,
+ * for local defined types it makes no sense to output the internal
+ * computed name of the type. TODO: Instead, one should attach the 
+ * struct of the type involved to the error handler - this allows
+ * the report of any additional information by the user.
+ * TODO: Correct character normalization of union simple types.
+ */
+static int
+xmlSchemaValidateSimpleTypeValue(xmlSchemaValidCtxtPtr ctxt, 
+				 const xmlChar *value,
+				 int fireErrors,				 
+				 int applyFacets)
+{
+    xmlSchemaTypePtr type;
+    int ret = 0;    
+    type = ctxt->type;     
+    
+    if (type->type == XML_SCHEMA_TYPE_BASIC) {
+	xmlNodePtr child;
+
+	if (ctxt->value != NULL) {
+	    xmlSchemaFreeValue(ctxt->value);
+	    ctxt->value = NULL;
+	}
+	child = ctxt->node;
+	while (child != NULL) {
+	    switch (child->type) {
+	    case XML_TEXT_NODE:
+	    case XML_CDATA_SECTION_NODE:
+	    case XML_PI_NODE:
+	    case XML_COMMENT_NODE:
+	    case XML_XINCLUDE_START:
+	    case XML_XINCLUDE_END:
+		break;
+	    case XML_ENTITY_REF_NODE:
+	    case XML_ENTITY_NODE:
+		TODO break;
+	    case XML_ELEMENT_NODE:
+		xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INVALIDELEM,
+		    "Element \"%s\": child \"%s\" should not be present.\n",
+		    ctxt->cur->name, child->name);
+		return (ctxt->err);
+	    case XML_ATTRIBUTE_NODE:
+	    case XML_DOCUMENT_NODE:
+	    case XML_DOCUMENT_TYPE_NODE:
+	    case XML_DOCUMENT_FRAG_NODE:
+	    case XML_NOTATION_NODE:
+	    case XML_HTML_DOCUMENT_NODE:
+	    case XML_DTD_NODE:
+	    case XML_ELEMENT_DECL:
+	    case XML_ATTRIBUTE_DECL:
+	    case XML_ENTITY_DECL:
+	    case XML_NAMESPACE_DECL:
+#ifdef LIBXML_DOCB_ENABLED
+	    case XML_DOCB_DOCUMENT_NODE:
+#endif
+		xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INVALIDELEM,
+		    "Element \"%s\": node type of node unexpected here.\n",
+		    ctxt->cur->name, NULL);
+		return (ctxt->err);
+	    }
+	    child = child->next;
+	}
+	ret = xmlSchemaValPredefTypeNode(type, value, &(ctxt->value),
+	    ctxt->cur);
+	if (ret > 0) {
+	    if (type->flags & XML_SCHEMAS_TYPE_VARIETY_LIST) 
+		ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2;
+	    else
+		ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1;	    
+	    if (fireErrors) {
+		if (ctxt->cur->type == XML_ATTRIBUTE_NODE)
+		    xmlSchemaVErr(ctxt, ctxt->cur, 
+		    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1,
+		    "The value of attribute \"%s\" is not valid.\n",
+		    ctxt->cur->name, NULL);
+		else 
+		    xmlSchemaVErr(ctxt, ctxt->cur, 
+		    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1,
+		    "The value is not valid.\n",
+		    NULL, NULL);
+	    }	    
+	} else if (ret < 0) {
+	    xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+		"Internal error: xmlSchemaValidateSimpleTypeValue, "
+		"validating built-in type \"%s\"\n",
+		type->name, NULL);
+	}
+    } else if (type->flags & XML_SCHEMAS_TYPE_VARIETY_ATOMIC) {        
+	/* 1.2.1 if {variety} is ·atomic· then the string must ·match· 
+	* a literal in the ·lexical space· of {base type definition} 
+	*/	
+	ctxt->type = type->baseType;
+	ret = xmlSchemaValidateSimpleTypeValue(ctxt, value, 0, 0);
+	if (ret < 0) {
+	    xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+		"Internal error: xmlSchemaValidateSimpleTypeValue, "
+		"validating atomic simple type \"%s\"\n",
+		type->name, NULL);
+	} else if (ret > 0) {
+	    ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1;
+	    if (fireErrors) {
+		xmlSchemaVErr(ctxt, ctxt->cur, 
+		    XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1,
+		    "The value is not valid.\n",
+		    NULL, NULL);
+	    }		
+	    
+	} else if ((applyFacets) &&  
+	    (type->facetSet != NULL)) {
+	    xmlSchemaTypePtr builtIn;
+
+	    /* 
+	    * Check facets. Be sure to pass the built-in type to
+	    * xmlSchemaValidateFacetsInternal.
+	    */	    	    	    
+	    builtIn = type->baseType;
+	    while (builtIn->type != XML_SCHEMA_TYPE_BASIC)
+		builtIn = builtIn->baseType;
+	    ret = xmlSchemaValidateFacetsInternal(ctxt, builtIn, 
+		type->facetSet, value, fireErrors);
+	    if (ret < 0) {
+		xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+		    "Internal error: xmlSchemaValidateSimpleTypeValue, "
+		    "validating facets of atomic simple type \"%s\"\n",
+		    type->name, NULL);
+	    } else if (ret > 0) {
+		ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1;
+		if (fireErrors) {
+		    xmlSchemaVErr(ctxt, ctxt->cur, 
+			XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1,
+			"The value is not valid.\n",
+			NULL, NULL);
+		}
+	    }	
+	}
+    } else if (type->flags & XML_SCHEMAS_TYPE_VARIETY_LIST) {
+        
+	xmlSchemaTypePtr tmpType;
+	const xmlChar *cur, *end;
+	xmlChar *tmp;
+	int len = 0;
+
+	/* 1.2.2 if {variety} is ·list· then the string must be a sequence 
+	* of white space separated tokens, each of which ·match·es a literal 
+	* in the ·lexical space· of {item type definition} 
+	*/
+	
+	tmpType = xmlSchemaGetListSimpleTypeItemType(type);		
+	cur = value;
+	do {
+	    while (IS_BLANK_CH(*cur))
+		cur++;
+	    end = cur;
+	    while ((*end != 0) && (!(IS_BLANK_CH(*end))))
+		end++;
+	    if (end == cur)
+		break;
+	    tmp = xmlStrndup(cur, end - cur);
+	    len++;
+	    ctxt->type = tmpType;
+	    ret = xmlSchemaValidateSimpleTypeValue(ctxt, tmp, 0, 1);
+	    xmlFree(tmp);
+	    if (ret > 0) {
+		ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2;
+		if (fireErrors) {
+		    xmlSchemaVErr(ctxt, ctxt->cur, 
+			XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_2,
+			"The value is not valid.\n",
+			NULL, NULL);
+		}		
+		break;
+	    } else if (ret < 0)
+		break;
+	    cur = end;
+	} while (*cur != 0);
+	/* 
+	* Check facets.
+	*/
+	if (ret < 0) {
+	    xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+		"Internal error: xmlSchemaValidateSimpleTypeValue, "
+		"validating list simple type \"%s\"\n",
+		type->name, NULL);
+	} else if ((ret == 0) && (applyFacets) && 
+	    (type->facetSet != NULL)) {
+	    int expLen, okFacet = 0, hasFacet = 0;
+	    xmlSchemaFacetPtr facet;
+	    xmlSchemaFacetLinkPtr facetLink;
+	    xmlChar *collapsedValue = NULL;
+
+	    /*
+	    * The value of ·whiteSpace· is fixed to the value collapse. 
+	    */
+	    collapsedValue = xmlSchemaCollapseString((const xmlChar *) value);
+	    if (collapsedValue != NULL)		
+		value = (const xmlChar *) collapsedValue;		
+	    facetLink = type->facetSet;
+	    do {
+		facet = facetLink->facet;
+		/* 
+		* List types need a special facet treatment. 
+		* Skip whiteSpace, since it is fixed to "collapse".
+		*/
+		if ((facet->type != XML_SCHEMA_FACET_WHITESPACE) && 
+		    (facet->type != XML_SCHEMA_FACET_PATTERN)) {
+		    ret = xmlSchemaValidateListSimpleTypeFacet(facet, value, 
+			len, &expLen);
+		    if (facet->type == XML_SCHEMA_FACET_ENUMERATION) {
+			hasFacet = 1;
+			if (ret == 0)
+			    okFacet = 1;		    
+		    } else if ((ret > 0) && (fireErrors)) {			
+			char l[25], fl[25];			
+			/* FIXME: What is the max expected string length of the
+			* length value?
+			*/
+			snprintf(l, 24, "%d", len);
+			snprintf(fl, 24, "%d", expLen);
+			if (ret == XML_SCHEMAV_CVC_LENGTH_VALID) {
+			    xmlSchemaVErr(ctxt, ctxt->cur, ret,
+				"The value with length \"%s\" is not "
+				"facet-valid with respect to length = \"%s\".\n",
+				l, fl);
+			} else if (ret == XML_SCHEMAV_CVC_MINLENGTH_VALID) {
+			    xmlSchemaVErr(ctxt, ctxt->cur, ret,
+				"The value with length \"%s\" is not "
+				"facet-valid with respect to minLength = \"%s\".\n",
+				l, fl);
+			} else if (ret == XML_SCHEMAV_CVC_MAXLENGTH_VALID) {
+			    xmlSchemaVErr(ctxt, ctxt->cur, ret,
+				"The value with length \"%s\" is not "
+				"facet-valid with respect to maxLength = \"%s\".\n",
+				l, fl);
+			} else {
+			    xmlSchemaVErr(ctxt, ctxt->cur, ret,
+				"The value is not valid with respect "
+				"to the facet \"%s\".\n",
+				xmlSchemaFacetTypeToString(facet->type), 
+				NULL);
+			}			
+		    } else if (ret < 0) {
+			xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+			    "Internal error: xmlSchemaValidateSimpleTypeValue, "
+			    "validating facets of list simple type \"%s\"\n",
+			    type->name, NULL);	
+			break;
+		    }
+		}
+		facetLink = facetLink->next;		
+	    } while (facetLink != NULL);
+	    if (ret >= 0) {
+		if ((hasFacet) && (okFacet == 0)) {
+		    ret = XML_SCHEMAV_CVC_ENUMERATION_VALID;
+		    if (fireErrors) {
+		    /*
+		    * TODO: Try to create a report that outputs all the enumeration
+		    * values in use.
+			*/
+			xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAV_CVC_ENUMERATION_VALID,
+			    "The value is not valid with respect "
+			    "to the \"enumeration\" facet(s).\n",
+			    NULL, NULL);
+		    }
+		    
+		}
+		/*
+		* Pattern facets are ORed at type level and ANDed
+		* if derived. Walk the base axis.
+		*/
+		hasFacet = 0;
+		tmpType = type;
+		do {		    
+		    okFacet = 0;
+		    for (facetLink = tmpType->facetSet; facetLink != NULL; 
+		    facetLink = facetLink->next) {		    
+			if (facetLink->facet->type != XML_SCHEMA_FACET_PATTERN)
+			    continue;			
+			okFacet = xmlSchemaValidateListSimpleTypeFacet(
+			    facetLink->facet, value, len, &expLen);		    
+			if (okFacet <= 0)
+			    break;
+		    }
+		    if (okFacet != 0)
+			break;		    
+		    tmpType = tmpType->baseType;
+		} while ((tmpType != NULL) && (tmpType->type != XML_SCHEMA_TYPE_BASIC));
+		if (okFacet < 0) {
+		    xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+			"Internal error: xmlSchemaValidateSimpleTypeValue, "
+			"validating \"pattern\" facets of type \"%s\"\n",
+			type->name, NULL);
+		} else if (okFacet > 0) {
+		    ret = XML_SCHEMAV_CVC_PATTERN_VALID;
+		    if (fireErrors) {
+			xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAV_CVC_ENUMERATION_VALID,
+			    "The value is not valid with respect "
+			    "to the \"pattern\" facet(s) of type "
+			    "\"%s\".\n",
+			    tmpType->name, NULL);
+		    }		    
+		}
+	    }
+
+	    if (collapsedValue != NULL) 
+		xmlFree(collapsedValue);
+	}
+    } else if (type->flags & XML_SCHEMAS_TYPE_VARIETY_UNION) {
+	xmlSchemaTypeLinkPtr memberLink;
+
+	/*
+	* TODO: For all datatypes ·derived· by ·union·  whiteSpace does 
+	* not apply directly; however, the normalization behavior of ·union· 
+	* types is controlled by the value of whiteSpace on that one of the 
+	* ·memberTypes· against which the ·union· is successfully validated. 
+	*
+	* This means that the value is normalized by the first validating
+	* member type, then the facets of the union type are applied. This
+	* needs changing of the value!
+	*/	
+	
+	/*
+	* 1.2.3 if {variety} is ·union· then the string must ·match· a 
+	* literal in the ·lexical space· of at least one member of 
+	* {member type definitions} 
+	*/
+	memberLink = xmlSchemaGetUnionSimpleTypeMemberTypes(type);
+	if (memberLink == NULL) {
+	    xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+		"Internal error: xmlSchemaValidateSimpleTypeValue, "
+		"union simple type \"%s\" has no member types\n",
+		type->name, NULL);
+	    ret = -1;
+	} 
+	if (ret == 0) {
+	    while (memberLink != NULL) {
+		ctxt->type = memberLink->type;
+		ret = xmlSchemaValidateSimpleTypeValue(ctxt, value, 0, 1);
+		if ((ret <= 0) || (ret == 0))
+		    break;	    
+		memberLink = memberLink->next;
+	    }     
+	    if (ret > 0) {
+		ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3;
+		if (fireErrors) {
+		    xmlSchemaVErr(ctxt, ctxt->cur, 
+			XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3,
+			"The value is not valid.\n",
+			NULL, NULL);
+		}			    
+	    } else if (ret < 0) {
+		xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+		    "Internal error: xmlSchemaValidateSimpleTypeValue, "
+		    "validating members of union simple type \"%s\"\n",
+		    type->name, NULL);
+	    }
+	}
+	/*
+	* Apply facets (pattern, enumeration).
+	*/
+	if ((ret == 0) && (applyFacets) && 
+	    (type->facetSet != NULL)) {
+	    xmlSchemaTypePtr anySimpleType;
+	    /* 
+	    * Check facets. Be sure to pass the built-in type (the
+	    * simple ur-type in this case) to xmlSchemaValidateFacetsInternal.
+	    */	    	    	    
+	    anySimpleType = type->baseType;
+	    while (anySimpleType->type != XML_SCHEMA_TYPE_BASIC)
+		anySimpleType = anySimpleType->baseType;
+	    ret = xmlSchemaValidateFacetsInternal(ctxt, anySimpleType, 
+		type->facetSet, value, fireErrors);
+	    if (ret < 0) {
+		xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+		    "Internal error: xmlSchemaValidateSimpleTypeValue, "
+		    "validating facets of union simple type \"%s\"\n",
+		    type->name, NULL);
+	    } else if (ret > 0) {
+		ret = XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_3;
+		if (fireErrors) {
+		    xmlSchemaVErr(ctxt, ctxt->cur, 
+			XML_SCHEMAV_CVC_DATATYPE_VALID_1_2_1,
+			"The value is not valid.\n",
+			NULL, NULL);
+		}
+	    }	
+	}
+    }    
+    ctxt->type = type;
+    return (ret);
+}
+
+/**
+ * xmlSchemaValidateSimpleTypeElement:
+ * @ctxt:  a schema validation context
+ * @node:  the element node to be validated.
+ *
+ * Validate the element against a simple type.
+ *
+ * Returns 0 if the element is valid, a positive error code
+ * number otherwise and -1 in case of an internal or API error.
+ */
+static int
+xmlSchemaValidateSimpleTypeElement(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr node)
+{
+    xmlNodePtr child;
+    xmlSchemaTypePtr type;
+    xmlAttrPtr attr;
+    int ret;
+    xmlChar *value;
+    
+
+    child = ctxt->node;
+    type = ctxt->type;
+
+    if ((ctxt == NULL) || (type == NULL)) {
+        xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INTERNAL,
+		      "Internal error: xmlSchemaValidateSimpleTypeElement %s\n",
+		      node->name, NULL);
+        return (-1);
+    }
+
+    /*
+    * Only text and text based entities references shall be found there
+    */
+    ret = xmlSchemaValidateCheckNodeList(child);
+    if (ret < 0) {
+        xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INTERNAL,
+		      "Internal error: xmlSchemaValidateSimpleTypeElement %s content\n",
+		      node->name, NULL);
+        return (-1);
+    } else if (ret == 0) {
+	/* 3.1.2 The element information item must have no element 
+	* information item [children].
+	*/
+        xmlSchemaVErr(ctxt, node, XML_SCHEMAV_CVC_TYPE_3_1_2,
+		      "Element \"%s\" must have no element children.\n",
+		      node->name, NULL);
+        return (-1);
+    }
+    /*
+     * Validation Rule: Element Locally Valid (Type): 3.1.1
+     */        
+    attr = node->properties;
+    while (attr != NULL) {
+        if ((attr->ns == NULL) ||
+            (!xmlStrEqual(attr->ns->href, xmlSchemaInstanceNs)) ||
+            ((!xmlStrEqual(attr->name, BAD_CAST "type")) &&
+             (!xmlStrEqual(attr->name, BAD_CAST "nil")) &&
+             (!xmlStrEqual(attr->name, BAD_CAST "schemaLocation")) &&
+             (!xmlStrEqual
+              (attr->name, BAD_CAST "noNamespaceSchemaLocation")))) {
+            xmlSchemaVErr(ctxt, node, 
+		XML_SCHEMAV_CVC_TYPE_3_1_1,
+		"The attributes of element \"%s\" must be empty, excepting "
+		"those whose namespace name is identical to "
+		"http://www.w3.org/2001/XMLSchema-instance and whose local "
+		"name is one of type, nil, schemaLocation or "
+		"noNamespaceSchemaLocation.\n",
+		node->name, attr->name);
+            return (ctxt->err);
+        }
+	attr = attr->next;
+    }
+    value = xmlNodeGetContent(child);
+    ret = xmlSchemaValidateSimpleTypeValue(ctxt, value, 1, 1);
+    if (value != NULL)
+        xmlFree(value);
+
+    ctxt->type = type;
+    return (ret);
+}
 
 /**
  * xmlSchemaValidateElementType:
@@ -7965,6 +10311,7 @@
     int ret;
     xmlSchemaAttrStatePtr attrs = NULL, attrTop = NULL;
 
+    /* This one is called by xmlSchemaValidateContent only. */
     /* 
      * TODO: Look into "xmlSchemaValidateElement" for missing parts, which should
      * go in here as well.
@@ -8010,13 +10357,7 @@
     attrs = ctxt->attr;    
     attrTop = ctxt->attrTop;
     
-    xmlSchemaRegisterAttributes(ctxt, child->properties);
-        
-    /* 
-     * An element declaration does not hold any information about
-     * attributes; thus, the following was removed.
-     */
-    /* xmlSchemaValidateAttributes(ctxt, child, type->attributes); */
+    xmlSchemaRegisterAttributes(ctxt, child->properties);            
 
     /*
      * Verify the element content recursively
@@ -8072,6 +10413,7 @@
     return (ctxt->err);
 }
 
+#if 0 /* Not currently used. */
 /**
  * xmlSchemaValidateBasicType:
  * @ctxt:  a schema validation context
@@ -8099,6 +10441,13 @@
 		      node->name, NULL);
         return (-1);
     }
+    if (type->type != XML_SCHEMA_TYPE_BASIC) {
+	xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INTERNAL,
+	    "Internal error: xmlSchemaValidateBasicType, "
+	    "the given type is not a built-in type.\n",
+	    node->name, NULL);
+        return (-1);
+    }
     /*
      * First check the content model of the node.
      */
@@ -8150,9 +10499,11 @@
         xmlSchemaFreeValue(ctxt->value);
         ctxt->value = NULL;
     }
+   
     ret = xmlSchemaValidatePredefinedType(type, value, &(ctxt->value));
+    
     if (value != NULL)
-        xmlFree(value);
+        xmlFree(value);    
     if (ret != 0) {
         xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_VALUE,
 		      "Element %s: failed to validate basic type %s\n",
@@ -8160,6 +10511,7 @@
     }
     return (ret);
 }
+#endif
 
 /**
  * xmlSchemaValidateComplexType:
@@ -8171,112 +10523,221 @@
  * Validation Rule: Element Locally Valid (Complex Type)
  *
  * Returns 0 if the element is schemas valid, a positive error code
- *     number otherwise and -1 in case of internal or API error.
+ * number otherwise and -1 in case of internal or API error.
+ * Note on reported errors: Although it might be nice to report
+ * the name of the simple/complex type, used to validate the content
+ * of a node, it is quite unnecessary: for global defined types
+ * the local name of the element is equal to the NCName of the type,
+ * for local defined types it makes no sense to output the internal
+ * computed name of the type. TODO: Instead, one should attach the 
+ * struct of the type involved to the error handler - this allows
+ * the report of any additional information by the user.
  */
 static int
 xmlSchemaValidateComplexType(xmlSchemaValidCtxtPtr ctxt, xmlNodePtr node)
 {
     xmlNodePtr child;
-    xmlSchemaTypePtr type, subtype;
-    int ret;
-
-    /* TODO: Handle xsd:restriction & xsd:extension */
+    xmlSchemaTypePtr type;
+    int ret = 0;
 
     child = ctxt->node;
     type = ctxt->type;
     ctxt->cur = node;
 
     switch (type->contentType) {
-        case XML_SCHEMA_CONTENT_EMPTY:
-	    if (type->baseType != NULL) {
-	    } else if (child != NULL) {
-		xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_NOTEMPTY,
-			      "Element %s is supposed to be empty\n",
-			      node->name, NULL);
-            }
-	    /* Removed due to changes of attribute validation:
-            if (type->attributes != NULL) {
-                xmlSchemaValidateAttributes(ctxt, node, type->attributes);
-            }
+	case XML_SCHEMA_CONTENT_EMPTY: {
+	    /*
+	    * 1 If the {content type} is empty, then the element information 
+	    * item has no character or element information item [children].
 	    */
-            subtype = type->subtypes;
-            while (subtype != NULL) {
-                ctxt->type = subtype;
-                xmlSchemaValidateComplexType(ctxt, node);
-                subtype = subtype->next;
-            }
-            break;
-        case XML_SCHEMA_CONTENT_ELEMENTS:
-        case XML_SCHEMA_CONTENT_MIXED:
-        case XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS:
-            /*
-             * Skip ignorable nodes in that context
-             */
-	    /* ComplexType, ComplexContent */
+	    /* TODO: Hmm, Xerces reports nodes like Comment to be invalid 
+	    * content, but XSV does not.
+	    */	 
+	    /*
+	    * TODO: Is the entity stuff correct?
+	    */
+	    while (child != NULL) {
+		if ((child->type == XML_ELEMENT_NODE) ||
+		     /* 
+		    * TODO: Ask Daniel if this are all character nodes.
+		    */
+		    (child->type == XML_TEXT_NODE) ||		    
+		    (child->type == XML_CDATA_SECTION_NODE) ||
+		    (child->type == XML_ENTITY_REF_NODE) ||
+		    (child->type == XML_ENTITY_NODE)) {
+		    break;
+		}
+		child = child->next;
+	    }
 	    if (child != NULL) {
-            child = xmlSchemaSkipIgnored(ctxt, type, child);
-            while (child != NULL) {
-                if (child->type == XML_ELEMENT_NODE) {
-                    ret = xmlRegExecPushString(ctxt->regexp,
-                                               child->name, child);
-#ifdef DEBUG_AUTOMATA
-                    if (ret < 0)
-                        xmlGenericError(xmlGenericErrorContext,
-                                        "  --> %s Error\n", child->name);
-                    else
-                        xmlGenericError(xmlGenericErrorContext,
-                                        "  --> %s\n", child->name);
-#endif
-                }
-                child = child->next;
-                /*
-                 * Skip ignorable nodes in that context
-                 */
-                child = xmlSchemaSkipIgnored(ctxt, type, child);
-            }
-	    }
-	    
-	    if (((type->contentType == XML_SCHEMA_CONTENT_MIXED) ||
-		(type->contentType == XML_SCHEMA_CONTENT_MIXED_OR_ELEMENTS)) &&
-		(type->subtypes != NULL)) {
-		TODO
-	    }
-
-	    /* Removed due to changes of attribute validation:
-            if (type->attributes != NULL) {
-                xmlSchemaValidateAttributes(ctxt, node, type->attributes);
-            }
-	    */
+		xmlSchemaVErr(ctxt, node, XML_SCHEMAV_CVC_COMPLEX_TYPE_2_1,
+		    "Character or element children are not allowed, "
+		    "because the content type is empty.\n",
+		    NULL, NULL);
+            }	 
             break;
-        case XML_SCHEMA_CONTENT_BASIC:{
-                if (type->subtypes != NULL) {
-                    ctxt->type = type->subtypes;
-                    xmlSchemaValidateComplexType(ctxt, node);
-                }
-                if (type->baseType != NULL) {
-                    ctxt->type = type->baseType;
-		    if (type->baseType->type == XML_SCHEMA_TYPE_BASIC)
-			xmlSchemaValidateBasicType(ctxt, node);
-		    else if (type->baseType->type == XML_SCHEMA_TYPE_COMPLEX)
-			xmlSchemaValidateComplexType(ctxt, node);
-		    /* TODO: This might be incorrect. */
-		    else if (type->baseType->type == XML_SCHEMA_TYPE_SIMPLE) 
-			xmlSchemaValidateSimpleType(ctxt, node);
+	}
+        case XML_SCHEMA_CONTENT_ELEMENTS:
+        case XML_SCHEMA_CONTENT_MIXED:              
+	    while (child != NULL) {		
+		if (child->type == XML_ELEMENT_NODE) {
+		    ret = xmlRegExecPushString(ctxt->regexp,
+			child->name, child);
+#ifdef DEBUG_AUTOMATA
+		    if (ret < 0)
+			xmlGenericError(xmlGenericErrorContext,
+			"  --> %s Error\n", child->name);
 		    else
 			xmlGenericError(xmlGenericErrorContext,
-                                 "unexpected content type of base: %d\n",
-                                 type->contentType);
-                }
-		/* Removed due to changes of attribute validation:
-                if (type->attributes != NULL) {
-                    xmlSchemaValidateAttributes(ctxt, node,
-                                                type->attributes);
-                }
+			"  --> %s\n", child->name);
+#endif
+		} else if ((type->contentType == XML_SCHEMA_CONTENT_ELEMENTS) && 
+		    /* 
+		    * TODO: Ask Daniel if this are all character nodes.
+		    */
+		    (((child->type == XML_TEXT_NODE) && (!IS_BLANK_NODE(child))) ||
+		     (child->type == XML_ENTITY_NODE) ||		    		    
+		     (child->type == XML_ENTITY_REF_NODE) ||		    
+		     (child->type == XML_CDATA_SECTION_NODE))) {		    
+		    /* 
+		    * 2.3 If the {content type} is element-only, then the 
+		    * element information item has no character information 
+		    * item [children] other than those whose [character 
+		    * code] is defined as a white space in [XML 1.0 (Second 
+		    * Edition)].
+		    */			
+		    xmlSchemaVErr(ctxt, node, XML_SCHEMAV_CVC_COMPLEX_TYPE_2_3,
+			"Character children are not allowed, "
+			"because the content type is element-only.\n",
+			NULL, NULL);		    
+		    break;
+		}
+		child = child->next;		    
+	    }            	    
+            break;
+	case XML_SCHEMA_CONTENT_SIMPLE:
+        case XML_SCHEMA_CONTENT_BASIC:{
+	    xmlSchemaTypePtr base, anyType;
+	    xmlChar *value = NULL;
+	    /*
+	    * We hit a complexType with a simpleContent resolving
+	    * to a user derived or built-in simple type.
+	    */	
+	    anyType = xmlSchemaGetBuiltInType(XML_SCHEMAS_ANYTYPE);
+	    /*
+	    * Internal check for integrity of the base type.
+	    */	 
+	    base = type->baseType;
+	    while ((base != NULL) && 
+		   (base->type != XML_SCHEMA_TYPE_SIMPLE) &&
+		    (base->type != XML_SCHEMA_TYPE_BASIC) &&
+		    (base != anyType)) {
+		base = base->baseType;
+	    }
+	    if ((base == NULL) ||
+		(((type->contentType == XML_SCHEMA_CONTENT_SIMPLE) &&
+		  (base->type != XML_SCHEMA_TYPE_SIMPLE)) ||
+		 ((type->contentType == XML_SCHEMA_CONTENT_BASIC) &&
+		  (base->type != XML_SCHEMA_TYPE_BASIC)))) {
+		xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INTERNAL,
+		    "Internal error: xmlSchemaValidateComplexType, "
+		    "Element \"%s\": the base type of the corresponding "
+		    "complex type \"%s\" is not a user derived or a "
+		    "built-in simple type.\n",
+		    node->name, type->name);
+		return (-1);
+	    } 
+	    /* 
+	    * 2.2 If the {content type} is a simple type definition, 
+	    * then the element information item has no element 
+	    * information item [children], and the ·normalized value· 
+	    * of the element information item is ·valid· with respect 
+	    * to that simple type definition as defined by String 
+	    * Valid (§3.14.4).
+	    */	    
+	    child = node->children;
+	    while (child != NULL) {
+                if (child->type == XML_ELEMENT_NODE) {
+		    xmlSchemaVErr(ctxt, node, XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2,
+			    "Element children are not allowed, because "
+			    "the content type is a simple type.\n",			    
+			    NULL, NULL);
+		    ret = XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2;
+		    break;
+		}
+		child = child->next;		    
+	    }	    
+	    if (ret == 0) {
+		/*
+		* Validate the character content against a simple type.
 		*/
-                ctxt->type = type;
-                break;
-            }
-        case XML_SCHEMA_CONTENT_SIMPLE:{
+		if (ctxt->node == NULL)
+		    value = NULL;
+		else
+		    value = xmlNodeGetContent(node); 
+		ctxt->type = base;
+		ret = xmlSchemaValidateSimpleTypeValue(ctxt, value, 1, 1);
+		ctxt->type = type;	    
+		if (ret > 0) {
+		    xmlSchemaVErr(ctxt, node, XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2,
+			"The character value "
+			"is not valid with respect to the simple type.\n",
+			NULL, NULL);
+		    ret = XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2;
+		} else if (ret < 0) {
+		    xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INTERNAL,
+			"Internal error: xmlSchemaValidateComplexType, "
+			"Element \"%s\": error while validating character "
+			"content against complex type \"%s\".\n",
+			node->name, type->name);
+		    return (-1);
+		}
+	    }
+	    if (ret == 0) {
+		/* 
+		* Apply facets of the complexType. Be sure to pass the 
+		* built-in type to xmlSchemaValidateFacetsInternal.
+		*/	    
+		/* TODO: I don't know yet if the facets of the simple type
+		* are used, or if the facets, defined by this complex type,
+		* are to be used only. This here applies both facet sets.
+		*/	    
+		while (base->type != XML_SCHEMA_TYPE_BASIC)
+		    base = base->baseType;
+		if (base == NULL) {
+		    xmlSchemaVErr(ctxt, node, XML_SCHEMAS_ERR_INTERNAL,
+			"Internal error: xmlSchemaValidateComplexType, "
+			"Element \"%s\": error while validating character "
+			"content against complex type \"%s\"; failed to "
+			"compute the built-in simple type for facet "
+			"validation.\n",
+			node->name, type->name);
+		    return (-1);
+		}
+		ret = xmlSchemaValidateFacetsInternal(ctxt, base, 
+		    type->facetSet, value, 1);
+		if (ret > 0) {
+		    xmlSchemaVErr(ctxt, node, XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2,
+			"The character value "
+			"is not valid with respect to the simple type.\n",
+			NULL, NULL);
+		    ret = XML_SCHEMAV_CVC_COMPLEX_TYPE_2_2;
+		} else if (ret < 0) {
+		    xmlSchemaVErr(ctxt, ctxt->cur, XML_SCHEMAS_ERR_INTERNAL,
+			"Internal error: xmlSchemaValidateComplexType, "
+			"Element \"%s\": error while validating character "
+			"content against complex type \"%s\"; failed to "
+			"apply facets.\n",
+			type->name, NULL);
+		}
+	    }
+	    if (value != NULL)
+		xmlFree(value);    
+	    /* TODO: facets */
+	    break;
+	}
+	/*
+        case XML_SCHEMA_CONTENT_SIMPLE:{		 
                 if (type->subtypes != NULL) {
                     ctxt->type = type->subtypes;
                     xmlSchemaValidateComplexType(ctxt, node);
@@ -8285,22 +10746,25 @@
                     ctxt->type = type->baseType;
                     xmlSchemaValidateComplexType(ctxt, node);
                 }
-		/* Removed due to changes of attribute validation:
+		* Removed due to changes of attribute validation:
                 if (type->attributes != NULL) {
                     xmlSchemaValidateAttributes(ctxt, node,
                                                 type->attributes);
                 }
-		*/
+		*
                 ctxt->type = type;
                 break;
 	}
+	*/
         default:
             TODO xmlGenericError(xmlGenericErrorContext,
                                  "unimplemented content type %d\n",
                                  type->contentType);
     }
-    if (type->type == XML_SCHEMA_TYPE_COMPLEX)
+    if (type->type == XML_SCHEMA_TYPE_COMPLEX) {
 	xmlSchemaValidateAttributes(ctxt, node, type);
+    }
+    ctxt->cur = node;
     return (ctxt->err);
 }
 
@@ -8325,10 +10789,6 @@
     type = ctxt->type;
     ctxt->cur = node;
 
-    /* 
-     * Removed, since redundant. 
-     */
-    /* xmlSchemaValidateAttributes(ctxt, node, type->attributes); */
     ctxt->cur = node;
 
     switch (type->type) {
@@ -8361,13 +10821,11 @@
                 break;
             }
         case XML_SCHEMA_TYPE_BASIC:
-            xmlSchemaValidateBasicType(ctxt, node);
+	case XML_SCHEMA_TYPE_SIMPLE:
+            xmlSchemaValidateSimpleTypeElement(ctxt, node);
             break;
         case XML_SCHEMA_TYPE_FACET:
-            TODO break;
-        case XML_SCHEMA_TYPE_SIMPLE:
-            xmlSchemaValidateSimpleType(ctxt, node);
-            break;
+            TODO break;        
         case XML_SCHEMA_TYPE_SEQUENCE:
             TODO break;
         case XML_SCHEMA_TYPE_CHOICE:
@@ -8424,10 +10882,6 @@
         case XML_SCHEMA_TYPE_ANY_ATTRIBUTE:
             TODO break;
     }
-    /* 
-     * Removed, since redundant. 
-     */
-    /* xmlSchemaValidateAttributes(ctxt, node, type->attributes); */
 
     if (ctxt->node == NULL)
         return (ctxt->err);
@@ -8508,11 +10962,7 @@
 
     ctxt->type = elemDecl->subtypes;
     ctxt->node = elem->children;
-    xmlSchemaValidateContent(ctxt, elem);
-    /* Removed, since an element declaration does not hold any attribute
-     * declarations */
-    /* xmlSchemaValidateAttributes(ctxt, elem, elemDecl->attributes); */
-
+    xmlSchemaValidateContent(ctxt, elem);   
     return (ctxt->err);
 }
 
@@ -8622,6 +11072,7 @@
 #endif
             found = 1;
             ctxt->cur = (xmlNodePtr) attr;
+	    ctxt->node = attr->children;
 
             if (attrDecl->subtypes == NULL) {
 		curState->state = XML_SCHEMAS_ATTR_TYPE_NOT_RESOLVED;
@@ -8637,8 +11088,9 @@
                 continue;
             }
             value = xmlNodeListGetString(elem->doc, attr->children, 1);
-            ret = xmlSchemaValidateSimpleValue(ctxt, attrDecl->subtypes,
-                                               value);
+	    ctxt->type = attrDecl->subtypes;
+            ret = xmlSchemaValidateSimpleTypeValue(ctxt, value, 0, 1);
+	    ctxt->type = type;
             if (ret != 0) 
 		curState->state = XML_SCHEMAS_ATTR_INVALID_VALUE;   				
             else
@@ -8749,8 +11201,9 @@
 			    attr->name, nsURI);		
 			if (attrDecl != NULL) {
 			    value = xmlNodeListGetString(elem->doc, attr->children, 1);
-			    ret = xmlSchemaValidateSimpleValue(ctxt, attrDecl->subtypes, 
-				value);
+			    ctxt->type = attrDecl->subtypes;
+			    ret = xmlSchemaValidateSimpleTypeValue(ctxt, value, 1, 1);
+			    ctxt->type = type;
 			    if (ret != 0) 
 				curState->state = XML_SCHEMAS_ATTR_INVALID_VALUE;   				
 			    else
@@ -8804,22 +11257,7 @@
         elemDecl = xmlHashLookup3(ctxt->schema->elemDecl,
                                   elem->name, NULL, NULL);
     }
-    /*
-     * special case whe elementFormDefault is unqualified for top-level elem.
-     */
-    /*
-     * This was removed, since elementFormDefault does not apply to top-level
-     * element declarations.
-     */
-    /*
-    if ((elemDecl == NULL) && (elem->ns != NULL) &&
-        (elem->parent != NULL) && (elem->parent->type != XML_ELEMENT_NODE) &&
-        (xmlStrEqual(ctxt->schema->targetNamespace, elem->ns->href)) &&
-	((ctxt->schema->flags & XML_SCHEMAS_QUALIF_ELEM) == 0)) {
-        elemDecl = xmlHashLookup3(ctxt->schema->elemDecl,
-                                  elem->name, NULL, NULL);
-    }
-    */
+    /* This one is called by xmlSchemaValidateDocument only. */
 
     /*
      * 3.3.4 : 1
@@ -8903,7 +11341,7 @@
 {
     xmlNodePtr root;
     xmlSchemaElementPtr elemDecl;
-
+     
     root = xmlDocGetRootElement(doc);
     if (root == NULL) {
         xmlSchemaVErr(ctxt, (xmlNodePtr) doc, XML_SCHEMAS_ERR_NOROOT,
diff --git a/xmlschemastypes.c b/xmlschemastypes.c
index 6cd13ae..7214adb 100644
--- a/xmlschemastypes.c
+++ b/xmlschemastypes.c
@@ -39,59 +39,13 @@
 #define XML_SCHEMAS_NAMESPACE_NAME \
     (const xmlChar *)"http://www.w3.org/2001/XMLSchema"
 
-typedef enum {
-    XML_SCHEMAS_UNKNOWN = 0,
-    XML_SCHEMAS_STRING,
-    XML_SCHEMAS_NORMSTRING,
-    XML_SCHEMAS_DECIMAL,
-    XML_SCHEMAS_TIME,
-    XML_SCHEMAS_GDAY,
-    XML_SCHEMAS_GMONTH,
-    XML_SCHEMAS_GMONTHDAY,
-    XML_SCHEMAS_GYEAR,
-    XML_SCHEMAS_GYEARMONTH,
-    XML_SCHEMAS_DATE,
-    XML_SCHEMAS_DATETIME,
-    XML_SCHEMAS_DURATION,
-    XML_SCHEMAS_FLOAT,
-    XML_SCHEMAS_DOUBLE,
-    XML_SCHEMAS_BOOLEAN,
-    XML_SCHEMAS_TOKEN,
-    XML_SCHEMAS_LANGUAGE,
-    XML_SCHEMAS_NMTOKEN,
-    XML_SCHEMAS_NMTOKENS,
-    XML_SCHEMAS_NAME,
-    XML_SCHEMAS_QNAME,
-    XML_SCHEMAS_NCNAME,
-    XML_SCHEMAS_ID,
-    XML_SCHEMAS_IDREF,
-    XML_SCHEMAS_IDREFS,
-    XML_SCHEMAS_ENTITY,
-    XML_SCHEMAS_ENTITIES,
-    XML_SCHEMAS_NOTATION,
-    XML_SCHEMAS_ANYURI,
-    XML_SCHEMAS_INTEGER,
-    XML_SCHEMAS_NPINTEGER,
-    XML_SCHEMAS_NINTEGER,
-    XML_SCHEMAS_NNINTEGER,
-    XML_SCHEMAS_PINTEGER,
-    XML_SCHEMAS_INT,
-    XML_SCHEMAS_UINT,
-    XML_SCHEMAS_LONG,
-    XML_SCHEMAS_ULONG,
-    XML_SCHEMAS_SHORT,
-    XML_SCHEMAS_USHORT,
-    XML_SCHEMAS_BYTE,
-    XML_SCHEMAS_UBYTE,
-    XML_SCHEMAS_HEXBINARY,
-    XML_SCHEMAS_BASE64BINARY
-} xmlSchemaValType;
 
 static unsigned long powten[10] = {
     1, 10, 100, 1000, 10000, 100000, 1000000, 10000000L,
     100000000L, 1000000000L
 };
 
+
 /* Date value */
 typedef struct _xmlSchemaValDate xmlSchemaValDate;
 typedef xmlSchemaValDate *xmlSchemaValDatePtr;
@@ -249,10 +203,11 @@
  * @name:  the type name
  * @type:  the value type associated
  *
- * Initialize one default type
+ * Initialize one primitive built-in type
  */
 static xmlSchemaTypePtr
-xmlSchemaInitBasicType(const char *name, xmlSchemaValType type) {
+xmlSchemaInitBasicType(const char *name, xmlSchemaValType type, 
+		       xmlSchemaTypePtr baseType) {
     xmlSchemaTypePtr ret;
 
     ret = (xmlSchemaTypePtr) xmlMalloc(sizeof(xmlSchemaType));
@@ -263,10 +218,43 @@
     memset(ret, 0, sizeof(xmlSchemaType));
     ret->name = (const xmlChar *)name;
     ret->type = XML_SCHEMA_TYPE_BASIC;
-    ret->flags = type;
+    ret->baseType = baseType;
+    /*
+    * Hack to reflect the variety.
+    */
+    if ((type == XML_SCHEMAS_IDREFS) ||
+	(type == XML_SCHEMAS_NMTOKENS) ||
+	(type == XML_SCHEMAS_ENTITIES)) 
+	ret->flags |= XML_SCHEMAS_TYPE_VARIETY_LIST;
+    else if (type != XML_SCHEMAS_UNKNOWN)
+	ret->flags |= XML_SCHEMAS_TYPE_VARIETY_ATOMIC;
     ret->contentType = XML_SCHEMA_CONTENT_BASIC;
+    switch (type) {
+	case XML_SCHEMAS_STRING:            
+	case XML_SCHEMAS_DECIMAL:    
+	case XML_SCHEMAS_DATE:    
+	case XML_SCHEMAS_DATETIME:    
+	case XML_SCHEMAS_TIME:    
+	case XML_SCHEMAS_GYEAR:    
+	case XML_SCHEMAS_GYEARMONTH:    
+	case XML_SCHEMAS_GMONTH:    
+	case XML_SCHEMAS_GMONTHDAY:    
+	case XML_SCHEMAS_GDAY:    
+	case XML_SCHEMAS_DURATION:    
+	case XML_SCHEMAS_FLOAT:    
+	case XML_SCHEMAS_DOUBLE:    
+	case XML_SCHEMAS_BOOLEAN:    
+	case XML_SCHEMAS_ANYURI:    
+	case XML_SCHEMAS_HEXBINARY:    
+	case XML_SCHEMAS_BASE64BINARY:	
+	case XML_SCHEMAS_QNAME:	
+	case XML_SCHEMAS_NOTATION:	
+	    ret->flags |= XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE;
+    }
+
     xmlHashAddEntry2(xmlSchemaTypesBank, ret->name,
 	             XML_SCHEMAS_NAMESPACE_NAME, ret);
+    ret->builtInType = type;
     return(ret);
 }
 
@@ -282,106 +270,172 @@
         return;
     xmlSchemaTypesBank = xmlHashCreate(40);
 
+    
     /*
-     * primitive datatypes
-     */
-    xmlSchemaTypeStringDef = xmlSchemaInitBasicType("string",
-                                                    XML_SCHEMAS_STRING);
+    * 3.4.7 Built-in Complex Type Definition
+    */
     xmlSchemaTypeAnyTypeDef = xmlSchemaInitBasicType("anyType",
-                                                     XML_SCHEMAS_UNKNOWN);
-    xmlSchemaTypeAnySimpleTypeDef = xmlSchemaInitBasicType("anySimpleType",
-                                                           XML_SCHEMAS_UNKNOWN);
+                                                     XML_SCHEMAS_UNKNOWN, 
+						     NULL);
+    xmlSchemaTypeAnyTypeDef->baseType = xmlSchemaTypeAnyTypeDef;
+    xmlSchemaTypeAnyTypeDef->contentType = XML_SCHEMA_CONTENT_MIXED;
+    {
+	xmlSchemaWildcardPtr wild;
+
+	wild = (xmlSchemaWildcardPtr) xmlMalloc(sizeof(xmlSchemaWildcard));
+	if (wild == NULL) {
+	    xmlSchemaTypeErrMemory(NULL, "could not create a wildcard on anyType");
+	    return;
+	}
+	memset(wild, 0, sizeof(xmlSchemaWildcard));
+	wild->any = 1;
+	wild->processContents = XML_SCHEMAS_ANY_LAX;
+	wild->minOccurs = 1;
+	wild->maxOccurs = 1;
+	xmlSchemaTypeAnyTypeDef->attributeWildcard = wild;
+    }
+    xmlSchemaTypeAnySimpleTypeDef = xmlSchemaInitBasicType("anySimpleType", 
+                                                           XML_SCHEMAS_UNKNOWN,
+							   xmlSchemaTypeAnyTypeDef);
+    /*
+    * primitive datatypes
+    */
+    xmlSchemaTypeStringDef = xmlSchemaInitBasicType("string",
+                                                    XML_SCHEMAS_STRING,
+						    xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeDecimalDef = xmlSchemaInitBasicType("decimal",
-                                                     XML_SCHEMAS_DECIMAL);
+                                                     XML_SCHEMAS_DECIMAL,
+						     xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeDateDef = xmlSchemaInitBasicType("date",
-                                                  XML_SCHEMAS_DATE);
+                                                  XML_SCHEMAS_DATE,
+						  xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeDatetimeDef = xmlSchemaInitBasicType("dateTime",
-                                                      XML_SCHEMAS_DATETIME);
+                                                      XML_SCHEMAS_DATETIME,
+						      xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeTimeDef = xmlSchemaInitBasicType("time",
-                                                  XML_SCHEMAS_TIME);
+                                                  XML_SCHEMAS_TIME,
+						  xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeGYearDef = xmlSchemaInitBasicType("gYear",
-                                                   XML_SCHEMAS_GYEAR);
+                                                   XML_SCHEMAS_GYEAR,
+						   xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeGYearMonthDef = xmlSchemaInitBasicType("gYearMonth",
-                                                        XML_SCHEMAS_GYEARMONTH);
+                                                        XML_SCHEMAS_GYEARMONTH,
+							xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeGMonthDef = xmlSchemaInitBasicType("gMonth",
-                                                    XML_SCHEMAS_GMONTH);
+                                                    XML_SCHEMAS_GMONTH,
+						    xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeGMonthDayDef = xmlSchemaInitBasicType("gMonthDay",
-                                                       XML_SCHEMAS_GMONTHDAY);
+                                                       XML_SCHEMAS_GMONTHDAY,
+						       xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeGDayDef = xmlSchemaInitBasicType("gDay",
-                                                  XML_SCHEMAS_GDAY);
+                                                  XML_SCHEMAS_GDAY,
+						  xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeDurationDef = xmlSchemaInitBasicType("duration",
-                                                      XML_SCHEMAS_DURATION);
+                                                      XML_SCHEMAS_DURATION,
+						      xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeFloatDef = xmlSchemaInitBasicType("float",
-                                                   XML_SCHEMAS_FLOAT);
+                                                   XML_SCHEMAS_FLOAT,
+						   xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeDoubleDef = xmlSchemaInitBasicType("double",
-                                                    XML_SCHEMAS_DOUBLE);
+                                                    XML_SCHEMAS_DOUBLE,
+						    xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeBooleanDef = xmlSchemaInitBasicType("boolean",
-                                                     XML_SCHEMAS_BOOLEAN);
+                                                     XML_SCHEMAS_BOOLEAN,
+						     xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeAnyURIDef = xmlSchemaInitBasicType("anyURI",
-                                                    XML_SCHEMAS_ANYURI);
+                                                    XML_SCHEMAS_ANYURI,
+						    xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeHexBinaryDef = xmlSchemaInitBasicType("hexBinary",
-                                                     XML_SCHEMAS_HEXBINARY);
+                                                     XML_SCHEMAS_HEXBINARY,
+						     xmlSchemaTypeAnySimpleTypeDef);
     xmlSchemaTypeBase64BinaryDef
-        = xmlSchemaInitBasicType("base64Binary", XML_SCHEMAS_BASE64BINARY);
+        = xmlSchemaInitBasicType("base64Binary", XML_SCHEMAS_BASE64BINARY,
+	xmlSchemaTypeAnySimpleTypeDef);
+    xmlSchemaTypeNotationDef = xmlSchemaInitBasicType("NOTATION",
+                                                    XML_SCHEMAS_NOTATION,
+						    xmlSchemaTypeAnySimpleTypeDef);    
+    xmlSchemaTypeQNameDef = xmlSchemaInitBasicType("QName",
+                                                   XML_SCHEMAS_QNAME,
+						   xmlSchemaTypeAnySimpleTypeDef);
 
     /*
      * derived datatypes
      */
     xmlSchemaTypeIntegerDef = xmlSchemaInitBasicType("integer",
-                                                     XML_SCHEMAS_INTEGER);;
+                                                     XML_SCHEMAS_INTEGER,
+						     xmlSchemaTypeDecimalDef);
     xmlSchemaTypeNonPositiveIntegerDef =
         xmlSchemaInitBasicType("nonPositiveInteger",
-                               XML_SCHEMAS_NPINTEGER);;
+                               XML_SCHEMAS_NPINTEGER,
+			       xmlSchemaTypeIntegerDef);
     xmlSchemaTypeNegativeIntegerDef =
-        xmlSchemaInitBasicType("negativeInteger", XML_SCHEMAS_NINTEGER);;
+        xmlSchemaInitBasicType("negativeInteger", XML_SCHEMAS_NINTEGER,
+	xmlSchemaTypeNonPositiveIntegerDef);
     xmlSchemaTypeLongDef =
-        xmlSchemaInitBasicType("long", XML_SCHEMAS_LONG);;
-    xmlSchemaTypeIntDef = xmlSchemaInitBasicType("int", XML_SCHEMAS_INT);;
+        xmlSchemaInitBasicType("long", XML_SCHEMAS_LONG,
+	xmlSchemaTypeIntegerDef);
+    xmlSchemaTypeIntDef = xmlSchemaInitBasicType("int", XML_SCHEMAS_INT,
+	xmlSchemaTypeLongDef);
     xmlSchemaTypeShortDef = xmlSchemaInitBasicType("short",
-                                                   XML_SCHEMAS_SHORT);;
+                                                   XML_SCHEMAS_SHORT,
+						   xmlSchemaTypeIntDef);
     xmlSchemaTypeByteDef = xmlSchemaInitBasicType("byte",
-                                                  XML_SCHEMAS_BYTE);;
+                                                  XML_SCHEMAS_BYTE,
+						  xmlSchemaTypeShortDef);
     xmlSchemaTypeNonNegativeIntegerDef =
         xmlSchemaInitBasicType("nonNegativeInteger",
-                               XML_SCHEMAS_NNINTEGER);
+                               XML_SCHEMAS_NNINTEGER,
+			       xmlSchemaTypeIntegerDef);
     xmlSchemaTypeUnsignedLongDef =
-        xmlSchemaInitBasicType("unsignedLong", XML_SCHEMAS_ULONG);;
+        xmlSchemaInitBasicType("unsignedLong", XML_SCHEMAS_ULONG,
+	xmlSchemaTypeNonNegativeIntegerDef);
     xmlSchemaTypeUnsignedIntDef =
-        xmlSchemaInitBasicType("unsignedInt", XML_SCHEMAS_UINT);;
+        xmlSchemaInitBasicType("unsignedInt", XML_SCHEMAS_UINT,
+	xmlSchemaTypeUnsignedLongDef);
     xmlSchemaTypeUnsignedShortDef =
-        xmlSchemaInitBasicType("unsignedShort", XML_SCHEMAS_USHORT);;
+        xmlSchemaInitBasicType("unsignedShort", XML_SCHEMAS_USHORT,
+	xmlSchemaTypeUnsignedIntDef);
     xmlSchemaTypeUnsignedByteDef =
-        xmlSchemaInitBasicType("unsignedByte", XML_SCHEMAS_UBYTE);;
+        xmlSchemaInitBasicType("unsignedByte", XML_SCHEMAS_UBYTE,
+	xmlSchemaTypeUnsignedShortDef);
     xmlSchemaTypePositiveIntegerDef =
-        xmlSchemaInitBasicType("positiveInteger", XML_SCHEMAS_PINTEGER);
-
+        xmlSchemaInitBasicType("positiveInteger", XML_SCHEMAS_PINTEGER,
+	xmlSchemaTypeNonNegativeIntegerDef);
     xmlSchemaTypeNormStringDef = xmlSchemaInitBasicType("normalizedString",
-                                                        XML_SCHEMAS_NORMSTRING);
+                                                        XML_SCHEMAS_NORMSTRING,
+							xmlSchemaTypeStringDef);
     xmlSchemaTypeTokenDef = xmlSchemaInitBasicType("token",
-                                                   XML_SCHEMAS_TOKEN);
+                                                   XML_SCHEMAS_TOKEN,
+						   xmlSchemaTypeNormStringDef);
     xmlSchemaTypeLanguageDef = xmlSchemaInitBasicType("language",
-                                                      XML_SCHEMAS_LANGUAGE);
-    xmlSchemaTypeIdDef = xmlSchemaInitBasicType("ID", XML_SCHEMAS_ID);
-    xmlSchemaTypeIdrefDef = xmlSchemaInitBasicType("IDREF",
-                                                   XML_SCHEMAS_IDREF);
-    xmlSchemaTypeIdrefsDef = xmlSchemaInitBasicType("IDREFS",
-                                                    XML_SCHEMAS_IDREFS);
-    xmlSchemaTypeEntityDef = xmlSchemaInitBasicType("ENTITY",
-                                                    XML_SCHEMAS_ENTITY);
-    xmlSchemaTypeEntitiesDef = xmlSchemaInitBasicType("ENTITIES",
-                                                      XML_SCHEMAS_ENTITIES);
-    xmlSchemaTypeNotationDef = xmlSchemaInitBasicType("NOTATION",
-                                                    XML_SCHEMAS_NOTATION);
+                                                      XML_SCHEMAS_LANGUAGE,
+						      xmlSchemaTypeTokenDef);
     xmlSchemaTypeNameDef = xmlSchemaInitBasicType("Name",
-                                                  XML_SCHEMAS_NAME);
-    xmlSchemaTypeQNameDef = xmlSchemaInitBasicType("QName",
-                                                   XML_SCHEMAS_QNAME);
-    xmlSchemaTypeNCNameDef = xmlSchemaInitBasicType("NCName",
-                                                    XML_SCHEMAS_NCNAME);
+                                                  XML_SCHEMAS_NAME,
+						  xmlSchemaTypeTokenDef);
     xmlSchemaTypeNmtokenDef = xmlSchemaInitBasicType("NMTOKEN",
-                                                     XML_SCHEMAS_NMTOKEN);
+                                                     XML_SCHEMAS_NMTOKEN,
+						     xmlSchemaTypeTokenDef);                
+    xmlSchemaTypeNCNameDef = xmlSchemaInitBasicType("NCName",
+                                                    XML_SCHEMAS_NCNAME,
+						    xmlSchemaTypeNameDef);
+    xmlSchemaTypeIdDef = xmlSchemaInitBasicType("ID", XML_SCHEMAS_ID,
+	xmlSchemaTypeNCNameDef);
+    xmlSchemaTypeIdrefDef = xmlSchemaInitBasicType("IDREF",
+                                                   XML_SCHEMAS_IDREF,
+						   xmlSchemaTypeNCNameDef);
+    xmlSchemaTypeIdrefsDef = xmlSchemaInitBasicType("IDREFS",
+                                                    XML_SCHEMAS_IDREFS,
+						    xmlSchemaTypeIdrefDef);    
     xmlSchemaTypeNmtokensDef = xmlSchemaInitBasicType("NMTOKENS",
-                                                      XML_SCHEMAS_NMTOKENS);
+                                                      XML_SCHEMAS_NMTOKENS,
+						      xmlSchemaTypeNmtokenDef);
+    xmlSchemaTypeEntityDef = xmlSchemaInitBasicType("ENTITY",
+                                                    XML_SCHEMAS_ENTITY,
+						    xmlSchemaTypeNCNameDef);
+    xmlSchemaTypeEntitiesDef = xmlSchemaInitBasicType("ENTITIES",
+                                                      XML_SCHEMAS_ENTITIES,
+						      xmlSchemaTypeNCNameDef);
     xmlSchemaTypesInitialized = 1;
 }
 
@@ -394,11 +448,203 @@
 xmlSchemaCleanupTypes(void) {
     if (xmlSchemaTypesInitialized == 0)
 	return;
+    xmlSchemaFreeWildcard(xmlSchemaTypeAnyTypeDef->attributeWildcard);
     xmlHashFree(xmlSchemaTypesBank, (xmlHashDeallocator) xmlSchemaFreeType);
     xmlSchemaTypesInitialized = 0;
 }
 
 /**
+ * xmlSchemaGetBuiltInType:
+ * @type: the built-in type
+ * @facetType:  the facet type
+ *
+ * Evaluates if a specific facet can be
+ * used in conjunction with a type.
+ *
+ * Returns 1 if the facet can be used with the given built-in type,
+ * 0 otherwise and -1 in case the type is not a built-in type.
+ */
+int
+xmlSchemaIsBuiltInTypeFacet(xmlSchemaTypePtr type, int facetType)
+{
+    if (type->type != XML_SCHEMA_TYPE_BASIC)
+	return (-1);
+    switch (type->builtInType) {
+	case XML_SCHEMAS_BOOLEAN:
+	    if ((facetType == XML_SCHEMA_FACET_PATTERN) ||
+		(facetType == XML_SCHEMA_FACET_WHITESPACE))
+		return (1);
+	    else
+		return (0);	
+	case XML_SCHEMAS_STRING:
+	case XML_SCHEMAS_NOTATION:
+	case XML_SCHEMAS_QNAME:
+	case XML_SCHEMAS_ANYURI:	    
+	case XML_SCHEMAS_BASE64BINARY:    
+	case XML_SCHEMAS_HEXBINARY:
+	    if ((facetType == XML_SCHEMA_FACET_LENGTH) ||
+		(facetType == XML_SCHEMA_FACET_MINLENGTH) ||
+		(facetType == XML_SCHEMA_FACET_MAXLENGTH) ||
+		(facetType == XML_SCHEMA_FACET_PATTERN) ||
+		(facetType == XML_SCHEMA_FACET_ENUMERATION) ||
+		(facetType == XML_SCHEMA_FACET_WHITESPACE))
+		return (1);
+	    else
+		return (0);
+	case XML_SCHEMAS_DECIMAL:
+	    if ((facetType == XML_SCHEMA_FACET_TOTALDIGITS) ||
+		(facetType == XML_SCHEMA_FACET_FRACTIONDIGITS) ||
+		(facetType == XML_SCHEMA_FACET_PATTERN) ||
+		(facetType == XML_SCHEMA_FACET_WHITESPACE) ||
+		(facetType == XML_SCHEMA_FACET_ENUMERATION) ||
+		(facetType == XML_SCHEMA_FACET_MAXINCLUSIVE) ||
+		(facetType == XML_SCHEMA_FACET_MAXEXCLUSIVE) ||
+		(facetType == XML_SCHEMA_FACET_MININCLUSIVE) ||
+		(facetType == XML_SCHEMA_FACET_MINEXCLUSIVE))
+		return (1);
+	    else
+		return (0); 
+	case XML_SCHEMAS_TIME:
+	case XML_SCHEMAS_GDAY: 
+	case XML_SCHEMAS_GMONTH:
+	case XML_SCHEMAS_GMONTHDAY: 
+	case XML_SCHEMAS_GYEAR: 
+	case XML_SCHEMAS_GYEARMONTH:
+	case XML_SCHEMAS_DATE:
+	case XML_SCHEMAS_DATETIME:
+	case XML_SCHEMAS_DURATION:
+	case XML_SCHEMAS_FLOAT:
+	case XML_SCHEMAS_DOUBLE:
+	    if ((facetType == XML_SCHEMA_FACET_PATTERN) ||
+		(facetType == XML_SCHEMA_FACET_ENUMERATION) ||
+		(facetType == XML_SCHEMA_FACET_WHITESPACE) ||
+		(facetType == XML_SCHEMA_FACET_MAXINCLUSIVE) ||
+		(facetType == XML_SCHEMA_FACET_MAXEXCLUSIVE) ||
+		(facetType == XML_SCHEMA_FACET_MININCLUSIVE) ||
+		(facetType == XML_SCHEMA_FACET_MINEXCLUSIVE))
+		return (1);
+	    else
+		return (0);	    				 
+	default:
+	    return (0);
+    }
+    return (0);
+}
+
+/**
+ * xmlSchemaGetBuiltInType:
+ * @type:  the type of the built in type
+ *
+ * Gives you the type struct for a built-in
+ * type by its type id.
+ *
+ * Returns the type if found, NULL otherwise.
+ */
+xmlSchemaTypePtr
+xmlSchemaGetBuiltInType(xmlSchemaValType type)
+{
+    if (xmlSchemaTypesInitialized == 0)
+	xmlSchemaInitTypes();
+    switch (type) {
+	
+	case XML_SCHEMAS_ANYSIMPLETYPE:
+	    return (xmlSchemaTypeAnySimpleTypeDef);
+	case XML_SCHEMAS_STRING:
+	    return (xmlSchemaTypeStringDef);
+	case XML_SCHEMAS_NORMSTRING:
+	    return (xmlSchemaTypeNormStringDef);
+	case XML_SCHEMAS_DECIMAL:
+	    return (xmlSchemaTypeDecimalDef);
+	case XML_SCHEMAS_TIME:
+	    return (xmlSchemaTypeTimeDef);
+	case XML_SCHEMAS_GDAY:
+	    return (xmlSchemaTypeGDayDef);
+	case XML_SCHEMAS_GMONTH:
+	    return (xmlSchemaTypeGMonthDef);
+	case XML_SCHEMAS_GMONTHDAY:
+    	    return (xmlSchemaTypeGMonthDayDef);
+	case XML_SCHEMAS_GYEAR:
+	    return (xmlSchemaTypeGYearDef);
+	case XML_SCHEMAS_GYEARMONTH:
+	    return (xmlSchemaTypeGYearMonthDef);
+	case XML_SCHEMAS_DATE:
+	    return (xmlSchemaTypeDateDef);
+	case XML_SCHEMAS_DATETIME:
+	    return (xmlSchemaTypeDatetimeDef);
+	case XML_SCHEMAS_DURATION:
+	    return (xmlSchemaTypeDurationDef);
+	case XML_SCHEMAS_FLOAT:
+	    return (xmlSchemaTypeFloatDef);
+	case XML_SCHEMAS_DOUBLE:
+	    return (xmlSchemaTypeDoubleDef);
+	case XML_SCHEMAS_BOOLEAN:
+	    return (xmlSchemaTypeBooleanDef);
+	case XML_SCHEMAS_TOKEN:
+	    return (xmlSchemaTypeTokenDef);
+	case XML_SCHEMAS_LANGUAGE:
+	    return (xmlSchemaTypeLanguageDef);
+	case XML_SCHEMAS_NMTOKEN:
+	    return (xmlSchemaTypeNmtokenDef);
+	case XML_SCHEMAS_NMTOKENS:
+	    return (xmlSchemaTypeNmtokensDef);
+	case XML_SCHEMAS_NAME:
+	    return (xmlSchemaTypeNameDef);
+	case XML_SCHEMAS_QNAME:
+	    return (xmlSchemaTypeQNameDef);
+	case XML_SCHEMAS_NCNAME:
+	    return (xmlSchemaTypeNCNameDef);
+	case XML_SCHEMAS_ID:
+	    return (xmlSchemaTypeIdDef);
+	case XML_SCHEMAS_IDREF:
+	    return (xmlSchemaTypeIdrefDef);
+	case XML_SCHEMAS_IDREFS:
+	    return (xmlSchemaTypeIdrefsDef);
+	case XML_SCHEMAS_ENTITY:
+	    return (xmlSchemaTypeEntityDef);
+	case XML_SCHEMAS_ENTITIES:
+	    return (xmlSchemaTypeEntitiesDef);
+	case XML_SCHEMAS_NOTATION:
+	    return (xmlSchemaTypeNotationDef);
+	case XML_SCHEMAS_ANYURI:
+	    return (xmlSchemaTypeAnyURIDef);
+	case XML_SCHEMAS_INTEGER:
+	    return (xmlSchemaTypeIntegerDef);
+	case XML_SCHEMAS_NPINTEGER:
+	    return (xmlSchemaTypeNonPositiveIntegerDef);
+	case XML_SCHEMAS_NINTEGER:
+	    return (xmlSchemaTypeNegativeIntegerDef);
+	case XML_SCHEMAS_NNINTEGER:
+	    return (xmlSchemaTypeNonNegativeIntegerDef);
+	case XML_SCHEMAS_PINTEGER:
+	    return (xmlSchemaTypePositiveIntegerDef);
+	case XML_SCHEMAS_INT:
+	    return (xmlSchemaTypeIntDef);
+	case XML_SCHEMAS_UINT:
+	    return (xmlSchemaTypeUnsignedIntDef);
+	case XML_SCHEMAS_LONG:
+	    return (xmlSchemaTypeLongDef);
+	case XML_SCHEMAS_ULONG:
+	    return (xmlSchemaTypeUnsignedLongDef);
+	case XML_SCHEMAS_SHORT:
+	    return (xmlSchemaTypeShortDef);
+	case XML_SCHEMAS_USHORT:
+	    return (xmlSchemaTypeUnsignedShortDef);
+	case XML_SCHEMAS_BYTE:
+	    return (xmlSchemaTypeByteDef);
+	case XML_SCHEMAS_UBYTE:
+	    return (xmlSchemaTypeUnsignedByteDef);
+	case XML_SCHEMAS_HEXBINARY:
+	    return (xmlSchemaTypeHexBinaryDef);
+	case XML_SCHEMAS_BASE64BINARY:
+	    return (xmlSchemaTypeBase64BinaryDef);
+	case XML_SCHEMAS_ANYTYPE:
+	    return (xmlSchemaTypeAnyTypeDef);	    
+	default:
+	    return (NULL);
+    }
+}
+
+/**
  * xmlSchemaNewValue:
  * @type:  the value type
  *
@@ -486,6 +732,30 @@
     return((xmlSchemaTypePtr) xmlHashLookup2(xmlSchemaTypesBank, name, ns));
 }
 
+/**
+ * xmlSchemaGetBuiltInListSimpleTypeItemType:
+ * @type: the built-in simple type.
+ *
+ * Returns the item type of @type as defined by the built-in datatype
+ * hierarchy of XML Schema Part 2: Datatypes, or NULL in case of an error.
+ */
+xmlSchemaTypePtr
+xmlSchemaGetBuiltInListSimpleTypeItemType(xmlSchemaTypePtr type)
+{
+    if (type->type != XML_SCHEMA_TYPE_BASIC)
+	return (NULL);
+    switch (type->builtInType) {
+	case XML_SCHEMAS_NMTOKENS: 
+	    return (xmlSchemaTypeNmtokenDef );
+	case XML_SCHEMAS_IDREFS: 
+	    return (xmlSchemaTypeIdrefDef);
+	case XML_SCHEMAS_ENTITIES:
+	    return (xmlSchemaTypeEntityDef);
+	default:
+	    return (NULL);
+    }
+}
+
 /****************************************************************
  *								*
  *		Convenience macros and functions		*
@@ -1269,7 +1539,7 @@
  *
  * Returns the new string or NULL if no change was required.
  */
-static xmlChar *
+xmlChar *
 xmlSchemaCollapseString(const xmlChar *value) {
     const xmlChar *start = value, *end, *f;
     xmlChar *g;
@@ -1442,6 +1712,7 @@
  *
  * Check that a value conforms to the lexical space of the atomic type.
  * if true a value is computed and returned in @val.
+ * This checks the value space for list types as well (IDREFS, NMTOKENS).
  *
  * Returns 0 if this validates, a positive error code number otherwise
  *         and -1 in case of internal or API error.
@@ -1455,24 +1726,24 @@
     int ret = 0;
 
     if (xmlSchemaTypesInitialized == 0)
-        return (-1);
+        xmlSchemaInitTypes();
     if (type == NULL)
         return (-1);
 
     if (val != NULL)
         *val = NULL;
     if ((flags == 0) && (value != NULL)) {
-        if ((type->flags != XML_SCHEMAS_STRING) &&
-            (type->flags != XML_SCHEMAS_NORMSTRING)) {
+        if ((type->builtInType != XML_SCHEMAS_STRING) &&
+            (type->builtInType != XML_SCHEMAS_NORMSTRING)) {
             norm = xmlSchemaCollapseString(value);
             if (norm != NULL)
                 value = norm;
         }
     }
 
-    switch (type->flags) {
+    switch (type->builtInType) {
         case XML_SCHEMAS_UNKNOWN:
-            if (type == xmlSchemaTypeAnyTypeDef)
+            if (type == xmlSchemaTypeAnySimpleTypeDef)
                 goto return0;
             goto error;
         case XML_SCHEMAS_STRING:
@@ -1548,7 +1819,7 @@
         case XML_SCHEMAS_GYEARMONTH:
         case XML_SCHEMAS_DATE:
         case XML_SCHEMAS_DATETIME:
-            ret = xmlSchemaValidateDates(type->flags, value, val);
+            ret = xmlSchemaValidateDates(type->builtInType, value, val);
             break;
         case XML_SCHEMAS_DURATION:
             ret = xmlSchemaValidateDuration(type, value, val);
@@ -1649,7 +1920,7 @@
                         if (v != NULL) {
                             if (sscanf((const char *) value, "%f",
                                  &(v->value.f)) == 1) {
-                                *val = v;
+                                *val = v;				
                             } else {
                                 xmlSchemaFreeValue(v);
                                 goto return1;
@@ -2210,21 +2481,21 @@
                     goto return1;
                 if (*cur != 0)
                     goto return1;
-                if (type->flags == XML_SCHEMAS_NPINTEGER) {
+                if (type->builtInType == XML_SCHEMAS_NPINTEGER) {
                     if ((sign == 0) &&
                         ((hi != 0) || (mi != 0) || (lo != 0)))
                         goto return1;
-                } else if (type->flags == XML_SCHEMAS_PINTEGER) {
+                } else if (type->builtInType == XML_SCHEMAS_PINTEGER) {
                     if (sign == 1)
                         goto return1;
                     if ((hi == 0) && (mi == 0) && (lo == 0))
                         goto return1;
-                } else if (type->flags == XML_SCHEMAS_NINTEGER) {
+                } else if (type->builtInType == XML_SCHEMAS_NINTEGER) {
                     if (sign == 0)
                         goto return1;
                     if ((hi == 0) && (mi == 0) && (lo == 0))
                         goto return1;
-                } else if (type->flags == XML_SCHEMAS_NNINTEGER) {
+                } else if (type->builtInType == XML_SCHEMAS_NNINTEGER) {
                     if ((sign == 1) &&
                         ((hi != 0) || (mi != 0) || (lo != 0)))
                         goto return1;
@@ -2233,7 +2504,7 @@
                  * We can store a value only if no overflow occured
                  */
                 if ((ret > 0) && (val != NULL)) {
-                    v = xmlSchemaNewValue(type->flags);
+                    v = xmlSchemaNewValue(type->builtInType);
                     if (v != NULL) {
                         v->value.decimal.lo = lo;
                         v->value.decimal.mi = lo;
@@ -2267,7 +2538,7 @@
                     goto return1;
                 if (*cur != 0)
                     goto return1;
-                if (type->flags == XML_SCHEMAS_LONG) {
+                if (type->builtInType == XML_SCHEMAS_LONG) {
                     if (hi >= 922) {
                         if (hi > 922)
                             goto return1;
@@ -2280,7 +2551,7 @@
                                 goto return1;
                         }
                     }
-                } else if (type->flags == XML_SCHEMAS_INT) {
+                } else if (type->builtInType == XML_SCHEMAS_INT) {
                     if (hi != 0)
                         goto return1;
                     if (mi >= 21) {
@@ -2291,14 +2562,14 @@
                         if ((sign == 1) && (lo > 47483648))
                             goto return1;
                     }
-                } else if (type->flags == XML_SCHEMAS_SHORT) {
+                } else if (type->builtInType == XML_SCHEMAS_SHORT) {
                     if ((mi != 0) || (hi != 0))
                         goto return1;
                     if ((sign == 1) && (lo > 32768))
                         goto return1;
                     if ((sign == 0) && (lo > 32767))
                         goto return1;
-                } else if (type->flags == XML_SCHEMAS_BYTE) {
+                } else if (type->builtInType == XML_SCHEMAS_BYTE) {
                     if ((mi != 0) || (hi != 0))
                         goto return1;
                     if ((sign == 1) && (lo > 128))
@@ -2307,7 +2578,7 @@
                         goto return1;
                 }
                 if (val != NULL) {
-                    v = xmlSchemaNewValue(type->flags);
+                    v = xmlSchemaNewValue(type->builtInType);
                     if (v != NULL) {
                         v->value.decimal.lo = lo;
                         v->value.decimal.mi = lo;
@@ -2335,7 +2606,7 @@
                     goto return1;
                 if (*cur != 0)
                     goto return1;
-                if (type->flags == XML_SCHEMAS_ULONG) {
+                if (type->builtInType == XML_SCHEMAS_ULONG) {
                     if (hi >= 1844) {
                         if (hi > 1844)
                             goto return1;
@@ -2346,7 +2617,7 @@
                                 goto return1;
                         }
                     }
-                } else if (type->flags == XML_SCHEMAS_UINT) {
+                } else if (type->builtInType == XML_SCHEMAS_UINT) {
                     if (hi != 0)
                         goto return1;
                     if (mi >= 42) {
@@ -2355,19 +2626,19 @@
                         if (lo > 94967295)
                             goto return1;
                     }
-                } else if (type->flags == XML_SCHEMAS_USHORT) {
+                } else if (type->builtInType == XML_SCHEMAS_USHORT) {
                     if ((mi != 0) || (hi != 0))
                         goto return1;
                     if (lo > 65535)
                         goto return1;
-                } else if (type->flags == XML_SCHEMAS_UBYTE) {
+                } else if (type->builtInType == XML_SCHEMAS_UBYTE) {
                     if ((mi != 0) || (hi != 0))
                         goto return1;
                     if (lo > 255)
                         goto return1;
                 }
                 if (val != NULL) {
-                    v = xmlSchemaNewValue(type->flags);
+                    v = xmlSchemaNewValue(type->builtInType);
                     if (v != NULL) {
                         v->value.decimal.lo = lo;
                         v->value.decimal.mi = mi;
@@ -2477,11 +2748,11 @@
     if (x->value.decimal.frac == y->value.decimal.frac) {
 	if (x->value.decimal.hi < y->value.decimal.hi)
 	    return (-order);
-	if (x->value.decimal.hi < y->value.decimal.hi)
+	if (x->value.decimal.hi > y->value.decimal.hi)
 	    return (order);
 	if (x->value.decimal.mi < y->value.decimal.mi)
 	    return (-order);
-	if (x->value.decimal.mi < y->value.decimal.mi)
+	if (x->value.decimal.mi > y->value.decimal.mi)
 	    return (order);
         if (x->value.decimal.lo < y->value.decimal.lo)
             return (-order);
@@ -3445,6 +3716,53 @@
 }
 
 /**
+ * xmlSchemaValidateListSimpleTypeFacet:
+ * @facet:  the facet to check
+ * @value:  the lexical repr of the value to validate
+ * @actualLen:  the number of list items
+ * @expectedLen: the resulting expected number of list items
+ *
+ * Checks the value of a list simple type against a facet.
+ *
+ * Returns 0 if the value is valid, a positive error code
+ * number otherwise and -1 in case of an internal error.
+ */
+int
+xmlSchemaValidateListSimpleTypeFacet(xmlSchemaFacetPtr facet,
+				     const xmlChar *value,
+				     unsigned long actualLen,
+				     unsigned long *expectedLen)
+{
+    /*
+    * TODO: Check if this will work with large numbers.
+    * (compare value.decimal.mi and value.decimal.hi as well?).
+    */
+    if (facet->type == XML_SCHEMA_FACET_LENGTH) {
+	if (actualLen != facet->val->value.decimal.lo) {
+	    *expectedLen = facet->val->value.decimal.lo;
+	    return (XML_SCHEMAV_CVC_LENGTH_VALID);
+	}	
+    } else if (facet->type == XML_SCHEMA_FACET_MINLENGTH) {
+	if (actualLen < facet->val->value.decimal.lo) {
+	     *expectedLen = facet->val->value.decimal.lo;
+	    return (XML_SCHEMAV_CVC_MINLENGTH_VALID);
+	}
+    } else if (facet->type == XML_SCHEMA_FACET_MAXLENGTH) {
+	if (actualLen > facet->val->value.decimal.lo) {
+	     *expectedLen = facet->val->value.decimal.lo;
+	    return (XML_SCHEMAV_CVC_MAXLENGTH_VALID);
+	}
+    } else
+	/* 
+	* NOTE: That we can pass NULL as xmlSchemaValPtr to 
+	* xmlSchemaValidateFacet, since the remaining facet types
+	* are: XML_SCHEMA_FACET_PATTERN, XML_SCHEMA_FACET_ENUMERATION. 
+	*/
+	return(xmlSchemaValidateFacet(NULL, facet, value, NULL));   
+    return (0);
+}
+
+/**
  * xmlSchemaValidateFacet:
  * @base:  the base type
  * @facet:  the facet to check
@@ -3469,8 +3787,7 @@
 	    if (ret == 1)
 		return(0);
 	    if (ret == 0) {
-		/* TODO error code */
-		return(1);
+		return(XML_SCHEMAV_CVC_PATTERN_VALID);
 	    }
 	    return(ret);
 	case XML_SCHEMA_FACET_MAXEXCLUSIVE:
@@ -3482,7 +3799,7 @@
 	    if (ret == -1)
 		return(0);
 	    /* error code */
-	    return(1);
+	    return(XML_SCHEMAV_CVC_MAXEXCLUSIVE_VALID);
 	case XML_SCHEMA_FACET_MAXINCLUSIVE:
 	    ret = xmlSchemaCompareValues(val, facet->val);
 	    if (ret == -2) {
@@ -3492,7 +3809,7 @@
 	    if ((ret == -1) || (ret == 0))
 		return(0);
 	    /* error code */
-	    return(1);
+	    return(XML_SCHEMAV_CVC_MAXINCLUSIVE_VALID);
 	case XML_SCHEMA_FACET_MINEXCLUSIVE:
 	    ret = xmlSchemaCompareValues(val, facet->val);
 	    if (ret == -2) {
@@ -3502,7 +3819,7 @@
 	    if (ret == 1)
 		return(0);
 	    /* error code */
-	    return(1);
+	    return(XML_SCHEMAV_CVC_MINEXCLUSIVE_VALID);
 	case XML_SCHEMA_FACET_MININCLUSIVE:
 	    ret = xmlSchemaCompareValues(val, facet->val);
 	    if (ret == -2) {
@@ -3512,15 +3829,20 @@
 	    if ((ret == 1) || (ret == 0))
 		return(0);
 	    /* error code */
-	    return(1);
+	    return(XML_SCHEMAV_CVC_MININCLUSIVE_VALID);
 	case XML_SCHEMA_FACET_WHITESPACE:
 	    /* TODO whitespaces */
+	    /*
+	    * NOTE: Whitespace should be handled to normalize
+	    * the value to be validated against a the facets;
+	    * not to normalize the value in-between.
+	    */
 	    return(0);
 	case  XML_SCHEMA_FACET_ENUMERATION:
 	    if ((facet->value != NULL) &&
 		(xmlStrEqual(facet->value, value)))
 		return(0);
-	    return(1);
+	    return(XML_SCHEMAV_CVC_ENUMERATION_VALID);
 	case XML_SCHEMA_FACET_LENGTH:
 	case XML_SCHEMA_FACET_MAXLENGTH:
 	case XML_SCHEMA_FACET_MINLENGTH: {
@@ -3537,7 +3859,7 @@
 	    else if ((val != NULL) && (val->type == XML_SCHEMAS_BASE64BINARY))
 		len = val->value.base64.total;
 	    else {
-	    	switch (base->flags) {
+		switch (base->builtInType) {
 	    	    case XML_SCHEMAS_IDREF:
 		    case XML_SCHEMAS_NORMSTRING:
 		    case XML_SCHEMAS_TOKEN:
@@ -3549,6 +3871,10 @@
 		    	len = xmlSchemaNormLen(value);
 		    	break;
 		    case XML_SCHEMAS_STRING:
+		    /*
+		    * FIXME: What exactly to do with anyURI?
+		    */
+		    case XML_SCHEMAS_ANYURI:
 		        if (value != NULL)
 			    len = xmlUTF8Strlen(value);
 		    	break;
@@ -3558,13 +3884,13 @@
 	    }
 	    if (facet->type == XML_SCHEMA_FACET_LENGTH) {
 		if (len != facet->val->value.decimal.lo)
-		    return(1);
+		    return(XML_SCHEMAV_CVC_LENGTH_VALID);
 	    } else if (facet->type == XML_SCHEMA_FACET_MINLENGTH) {
 		if (len < facet->val->value.decimal.lo)
-		    return(1);
+		    return(XML_SCHEMAV_CVC_MINLENGTH_VALID);
 	    } else {
 		if (len > facet->val->value.decimal.lo)
-		    return(1);
+		    return(XML_SCHEMAV_CVC_MAXLENGTH_VALID);
 	    }
 	    break;
 	}
@@ -3596,11 +3922,11 @@
 	    }
 	    if (facet->type == XML_SCHEMA_FACET_TOTALDIGITS) {
 	        if (val->value.decimal.total > facet->val->value.decimal.lo)
-	            return(1);
+	            return(XML_SCHEMAV_CVC_TOTALDIGITS_VALID);
 
 	    } else if (facet->type == XML_SCHEMA_FACET_FRACTIONDIGITS) {
 	        if (val->value.decimal.frac > facet->val->value.decimal.lo)
-		    return(1);
+		    return(XML_SCHEMAV_CVC_FRACTIONDIGITS_VALID);
 	    }
 	    break;
 	default: