enhanced for range checking, updated to Unicode version 4.0.1 (API docs

* genUnicode.py, xmlunicode.c, include/libxml/xmlunicode.h,
  python/libxml2class.txt: enhanced for range checking,
  updated to Unicode version 4.0.1 (API docs also updated)
* python/generator.py: minor change to fix a warning
diff --git a/win32/libxml2.def.src b/win32/libxml2.def.src
index f69193e..c688c20 100644
--- a/win32/libxml2.def.src
+++ b/win32/libxml2.def.src
@@ -674,6 +674,7 @@
 xmlCreateMemoryParserCtxt
 xmlCreatePushParserCtxt
 xmlCreateURI
+xmlCreateURLParserCtxt
 xmlCtxtGetLastError
 xmlCtxtReadDoc
 xmlCtxtReadFd
@@ -682,6 +683,7 @@
 xmlCtxtReadMemory
 xmlCtxtReset
 xmlCtxtResetLastError
+xmlCtxtResetPush
 xmlCtxtUseOptions
 xmlCurrentChar
 #ifdef LIBXML_DEBUG_ENABLED
@@ -1477,6 +1479,9 @@
 xmlSchemaInitTypes
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
+xmlSchemaNewDocParserCtxt
+#endif
+#ifdef LIBXML_SCHEMAS_ENABLED
 xmlSchemaNewFacet
 #endif
 #ifdef LIBXML_SCHEMAS_ENABLED
@@ -1580,6 +1585,7 @@
 xmlStrEqual
 xmlStrPrintf
 xmlStrQEqual
+xmlStrVPrintf
 xmlStrcasecmp
 xmlStrcasestr
 xmlStrcat
@@ -1747,6 +1753,9 @@
 xmlThrDefSubstituteEntitiesDefaultValue
 xmlThrDefTreeIndentString
 #ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsAegeanNumbers
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
 xmlUCSIsAlphabeticPresentationForms
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
@@ -1789,6 +1798,9 @@
 xmlUCSIsBraillePatterns
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsBuhid
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
 xmlUCSIsByzantineMusicalSymbols
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
@@ -1936,6 +1948,9 @@
 xmlUCSIsCombiningDiacriticalMarks
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsCombiningDiacriticalMarksforSymbols
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
 xmlUCSIsCombiningHalfMarks
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
@@ -1948,9 +1963,15 @@
 xmlUCSIsCurrencySymbols
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsCypriotSyllabary
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
 xmlUCSIsCyrillic
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsCyrillicSupplement
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
 xmlUCSIsDeseret
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
@@ -1987,6 +2008,9 @@
 xmlUCSIsGreekExtended
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsGreekandCoptic
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
 xmlUCSIsGujarati
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
@@ -2005,6 +2029,9 @@
 xmlUCSIsHangulSyllables
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsHanunoo
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
 xmlUCSIsHebrew
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
@@ -2035,9 +2062,15 @@
 xmlUCSIsKatakana
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsKatakanaPhoneticExtensions
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
 xmlUCSIsKhmer
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsKhmerSymbols
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
 xmlUCSIsLao
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
@@ -2056,6 +2089,15 @@
 xmlUCSIsLetterlikeSymbols
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsLimbu
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsLinearBIdeograms
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsLinearBSyllabary
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
 xmlUCSIsLowSurrogates
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
@@ -2068,9 +2110,18 @@
 xmlUCSIsMathematicalOperators
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsMiscellaneousMathematicalSymbolsA
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsMiscellaneousMathematicalSymbolsB
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
 xmlUCSIsMiscellaneousSymbols
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsMiscellaneousSymbolsandArrows
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
 xmlUCSIsMiscellaneousTechnical
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
@@ -2098,12 +2149,24 @@
 xmlUCSIsOriya
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsOsmanya
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsPhoneticExtensions
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
 xmlUCSIsPrivateUse
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsPrivateUseArea
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
 xmlUCSIsRunic
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsShavian
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
 xmlUCSIsSinhala
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
@@ -2119,12 +2182,39 @@
 xmlUCSIsSuperscriptsandSubscripts
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsSupplementalArrowsA
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsSupplementalArrowsB
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsSupplementalMathematicalOperators
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsSupplementaryPrivateUseAreaA
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsSupplementaryPrivateUseAreaB
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
 xmlUCSIsSyriac
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsTagalog
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsTagbanwa
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
 xmlUCSIsTags
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsTaiLe
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsTaiXuanJingSymbols
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
 xmlUCSIsTamil
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
@@ -2140,14 +2230,26 @@
 xmlUCSIsTibetan
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsUgaritic
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
 xmlUCSIsUnifiedCanadianAboriginalSyllabics
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsVariationSelectors
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsVariationSelectorsSupplement
+#endif
+#ifdef LIBXML_REGEXP_ENABLED
 xmlUCSIsYiRadicals
 #endif
 #ifdef LIBXML_REGEXP_ENABLED
 xmlUCSIsYiSyllables
 #endif
+#ifdef LIBXML_REGEXP_ENABLED
+xmlUCSIsYijingHexagramSymbols
+#endif
 xmlURIEscape
 xmlURIEscapeStr
 xmlURIUnescapeString
@@ -2196,9 +2298,18 @@
 xmlValidateQName
 xmlValidateRoot
 #ifdef LIBXML_XINCLUDE_ENABLED
+xmlXIncludeFreeContext
+#endif
+#ifdef LIBXML_XINCLUDE_ENABLED
+xmlXIncludeNewContext
+#endif
+#ifdef LIBXML_XINCLUDE_ENABLED
 xmlXIncludeProcess
 #endif
 #ifdef LIBXML_XINCLUDE_ENABLED
+xmlXIncludeProcessNode
+#endif
+#ifdef LIBXML_XINCLUDE_ENABLED
 xmlXIncludeProcessTree
 #endif
 #ifdef LIBXML_XPATH_ENABLED