Applied patch from Torkel Lyng to add Schemas support to the Python

* xmlschemas.c include/libxml/xmlschemas.h python/generator.py
  python/libxml.c python/libxml_wrap.h python/types.c
  python/tests/schema.py python/tests/Makefile.am: Applied patch
  from Torkel Lyng to add Schemas support to the Python bindings
  and extend the schemas error API, registered a new test.
* doc/* elfgcchack.h: rebuilt to regenerate the bindings
Daniel
diff --git a/python/generator.py b/python/generator.py
index 6b66c92..df89c4e 100755
--- a/python/generator.py
+++ b/python/generator.py
@@ -282,6 +282,9 @@
     'xmlRelaxNGPtr': ('O', "relaxNgSchema", "xmlRelaxNGPtr", "xmlRelaxNGPtr"),
     'xmlRelaxNGParserCtxtPtr': ('O', "relaxNgParserCtxt", "xmlRelaxNGParserCtxtPtr", "xmlRelaxNGParserCtxtPtr"),
     'xmlRelaxNGValidCtxtPtr': ('O', "relaxNgValidCtxt", "xmlRelaxNGValidCtxtPtr", "xmlRelaxNGValidCtxtPtr"),
+    'xmlSchemaPtr': ('O', "Schema", "xmlSchemaPtr", "xmlSchemaPtr"),
+    'xmlSchemaParserCtxtPtr': ('O', "SchemaParserCtxt", "xmlSchemaParserCtxtPtr", "xmlSchemaParserCtxtPtr"),
+    'xmlSchemaValidCtxtPtr': ('O', "SchemaValidCtxt", "xmlSchemaValidCtxtPtr", "xmlSchemaValidCtxtPtr"),
 }
 
 py_return_types = {
@@ -666,6 +669,9 @@
     'xmlRelaxNGPtr': ('._o', "relaxNgSchema(_obj=%s)", "relaxNgSchema"),
     'xmlRelaxNGParserCtxtPtr': ('._o', "relaxNgParserCtxt(_obj=%s)", "relaxNgParserCtxt"),
     'xmlRelaxNGValidCtxtPtr': ('._o', "relaxNgValidCtxt(_obj=%s)", "relaxNgValidCtxt"),
+    'xmlSchemaPtr': ("._o", "Schema(_obj=%s)", "Schema"),
+    'xmlSchemaParserCtxtPtr': ("._o", "SchemaParserCtxt(_obj=%s)", "SchemaParserCtxt"),
+    'xmlSchemaValidCtxtPtr': ("._o", "SchemaValidCtxt(_obj=%s)", "SchemaValidCtxt"),
 }
 
 converter_type = {
@@ -699,6 +705,9 @@
     "relaxNgSchema": "xmlRelaxNGFree",
     "relaxNgParserCtxt": "xmlRelaxNGFreeParserCtxt",
     "relaxNgValidCtxt": "xmlRelaxNGFreeValidCtxt",
+	"Schema": "xmlSchemaFree",
+	"SchemaParserCtxt": "xmlSchemaFreeParserCtxt",
+	"SchemaValidCtxt": "xmlSchemaFreeValidCtxt",
 }
 
 functions_noexcept = {
@@ -710,6 +719,7 @@
 reference_keepers = {
     "xmlTextReader": [('inputBuffer', 'input')],
     "relaxNgValidCtxt": [('relaxNgSchema', 'schema')],
+	"SchemaValidCtxt": [('Schema', 'schema')],
 }
 
 function_classes = {}